Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 05.01.2007, 17:36
Ahton Ahton вне форума
Прохожий
 
Регистрация: 05.01.2007
Сообщения: 38
Репутация: 10
Восклицание Помощь по Button и CheckBox

Уважаемые программисты по Делфи и администраторы этого сайта, мне очень срочно нужна помощь! Я пишу приложение для братишки, короче прога, которая будет запускаться после загрузки винды, форма растянута на весь экран, на форме что-то вроде лицензионного соглашения , так вот, я на форму определил CheckBox и Button с надписью Согласен, мне надо сделать так, чтобы при загрузке формы у меня кнопка согласен была не видна (Button1.Enable :=False а при шелчке на CheckBox (галочка) у меня кнопка согласен стала True... ? помогите пожалуйста!


И еще вопрос: я пишу прогу, которая будет вскрывать ресурсы винды (текстовые), она будет менять названия кнопки пуск, там картинки кое-какие, вот мне нужен код, чтобы я мог вскрывать EXE и DLL файлы, и как в их (EXE и DLL) можно было бы найти нужную строчку и изменить её параметр... ?

Заранее спасибо!
Ответить с цитированием
  #2  
Старый 05.01.2007, 19:20
KurtCobain KurtCobain вне форума
Прохожий
 
Регистрация: 18.12.2006
Сообщения: 4
Репутация: 10
По умолчанию

У CheckBox есть свойство Checked. Если оно - True, значит галочка стоит. False - не стоит. В Object Inspector'е поставь Enabled на False (в Button'е). При нажатии на CheckBox , в событии onClick напиши, допустим,

if CheckBox1.Checked=True then
Button1.Enabled:=True
else
Button1.Enabled:=False;
Ответить с цитированием
  #3  
Старый 05.01.2007, 22:59
Аватар для Ross
Ross Ross вне форума
Активный
 
Регистрация: 15.10.2005
Адрес: Казань
Сообщения: 250
Репутация: 30
По умолчанию

Кнопка Пуск это просто рисунок, так что сможишь менять лишь её рисунок.
По счёт чего-то там Exe и Dll не понял, что менять, что искать и откуда.
Ответить с цитированием
  #4  
Старый 06.01.2007, 00:32
Delphinic Delphinic вне форума
Начинающий
 
Регистрация: 20.11.2006
Сообщения: 134
Репутация: 15
По умолчанию

Дык кнопку можно сделать если надо вообще невидимой а не неактивной.
Button1.visible := False;
Кнопка будет вообще отсуствовать на форме.
Так может и интереснее даже.
Ответить с цитированием
  #5  
Старый 06.01.2007, 11:36
Аватар для Artem28
Artem28 Artem28 вне форума
Прохожий
 
Регистрация: 07.08.2006
Сообщения: 32
Репутация: 10
По умолчанию

Цитата:
И еще вопрос: я пишу прогу, которая будет вскрывать ресурсы винды (текстовые), она будет менять названия кнопки пуск, там картинки кое-какие, вот мне нужен код, чтобы я мог вскрывать Exe и Dll файлы, и как в их (exe и Dll) можно было бы найти нужную строчку и изменить её параметр...
Ну и как ты себе это представляешь? Это же машинный код?Как ты там найдешь нужную строчку? Там же все скомпилированно!!! Тем более там совсем другой язык. (мож C++) Конечно есть редакторы различных ресурсов, например ResHacker, но я сомневаюсь что что-то получится. А вообще есть такие уже готовые проги, ищи и качай!

Последний раз редактировалось Artem28, 06.01.2007 в 11:44.
Ответить с цитированием
  #6  
Старый 06.01.2007, 20:40
Ahton Ahton вне форума
Прохожий
 
Регистрация: 05.01.2007
Сообщения: 38
Репутация: 10
По умолчанию

KurtCobain, спасибо, но мне делфи теперь кричит: Type of expression must be BOOLEAN. Что это значит и как с этим бороться? Если надо, могу вам сюда выложить исходник проги....
Вот:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, jpeg, ExtCtrls, XPMan, StdCtrls, Buttons;

type
TForm1 = class(TForm)
Image1: TImage;
XPManifest1: TXPManifest;
Memo1: TMemo;
CheckBox1: TCheckBox;
Image2: TImage;
Image3: TImage;
Button1: TButton;
Button2: TButton;
Image4: TImage;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
showmessage('Вход выполнен'); begin close;
end;
end;


procedure TForm1.FormActivate(Sender: TObject);
begin
Button1.Enabled :=False;
end;

end.



Еще раз повторюсь, мне нужно чтобы при нажатии на чекбокс - у меня становилась активной кнопка (button1), и чтобы при нажатии на button2 у меня выключался комп. (ну или появлялось виндовское выключение компьютера). В этом коде я немного от себя написал для кнопок действия, их можно удалить...
Заранее спасибо!
Ответить с цитированием
  #7  
Старый 06.01.2007, 20:50
ART ART вне форума
Продвинутый
 
Регистрация: 13.02.2006
Адрес: Магнитогорск
Сообщения: 669
Репутация: 14745
По умолчанию

//Попробуй это

procedure ShutdownComputer;
var
ph: THandle;
tp, prevst: TTokenPrivileges;
rl: DWORD;
begin
OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or
TOKEN_QUERY, ph);
LookupPrivilegeValue(nil, 'SeShutdownPrivilege', tp.Privileges[0].Luid);
tp.PrivilegeCount := 1;
tp.Privileges[0].Attributes := 2;
AdjustTokenPrivileges(ph, FALSE, tp, SizeOf(prevst), prevst, rl);
ExitWindowsEx(EWX_SHUTDOWN or EWX_POWEROFF, 0);
end;
Ответить с цитированием
  #8  
Старый 06.01.2007, 23:07
Аватар для D.IZERTIR
D.IZERTIR D.IZERTIR вне форума
Прохожий
 
Регистрация: 20.12.2006
Адрес: Беларусь
Сообщения: 8
Репутация: 10
По умолчанию

Цитата:
Сообщение от Ross
Кнопка Пуск это просто рисунок, так что сможишь менять лишь её рисунок.

Это в Win9x картинка, а в XP очень даже текст))

Попробуй такой обработчик для процедуры выбора чек-бокса:
Button1.Enabled:=true;
или
Button1.Visible:=true;(если батон до этого был невидим)

Последний раз редактировалось D.IZERTIR, 06.01.2007 в 23:12.
Ответить с цитированием
  #9  
Старый 10.01.2007, 16:32
Аватар для CAHbKA
CAHbKA CAHbKA вне форума
Новичок
 
Регистрация: 10.01.2007
Сообщения: 66
Репутация: 10
По умолчанию

Цитата:
Сообщение от Ahton
KurtCobain, спасибо, но мне делфи теперь кричит: Type of expression must be BOOLEAN. Что это значит и как с этим бороться? Если надо, могу вам сюда выложить исходник проги....
Вот:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, jpeg, ExtCtrls, XPMan, StdCtrls, Buttons;

type
TForm1 = class(TForm)
Image1: TImage;
XPManifest1: TXPManifest;
Memo1: TMemo;
CheckBox1: TCheckBox;
Image2: TImage;
Image3: TImage;
Button1: TButton;
Button2: TButton;
Image4: TImage;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
showmessage('Вход выполнен'); begin close;
end;
end;


procedure TForm1.FormActivate(Sender: TObject);
begin
Button1.Enabled :=False;
end;

end.



Еще раз повторюсь, мне нужно чтобы при нажатии на чекбокс - у меня становилась активной кнопка (button1), и чтобы при нажатии на button2 у меня выключался комп. (ну или появлялось виндовское выключение компьютера). В этом коде я немного от себя написал для кнопок действия, их можно удалить...
Заранее спасибо!

Оч странно вот смотри работает у меня 100%
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
CheckBox1: TCheckBox;
Button1: TButton;
CheckBox2: TCheckBox;
Button2: TButton;
procedure CheckBox1Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.CheckBox1Click(Sender: TObject);
begin
if checkbox1.Checked then
button1.Enabled:=true
else
button1.Enabled:=false;
end;

procedure TForm1.CheckBox2Click(Sender: TObject);
begin
if checkbox2.Checked then
button2.Visible:=true
else
button2.Visible:=false;
end;

end.
Я описал 2 способа при Visual и Enable
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 20:54.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter