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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 22.09.2008, 21:21
жекаизжека жекаизжека вне форума
Начинающий
 
Регистрация: 10.09.2008
Сообщения: 193
Репутация: 10
По умолчанию Выкл\Вкл автозагрузки

Помогите с включением и выключением автозагрузке программы....а что я что то не пойму...
Ответить с цитированием
  #2  
Старый 22.09.2008, 21:28
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

А поподробнее?
Какой автозагрузки? Вместе с виндой?
Ответить с цитированием
  #3  
Старый 22.09.2008, 21:37
жекаизжека жекаизжека вне форума
Начинающий
 
Регистрация: 10.09.2008
Сообщения: 193
Репутация: 10
По умолчанию

да, вместе с виндой...что бы на форме можно было выбирать загрузку exe файла при включенее компьютера или нет....что то вроде на форме есть
CheckBox1 и есть он квлючен(галка) то приложение грузиться вместе с виндой если нет то нет
Ответить с цитированием
  #4  
Старый 22.09.2008, 21:50
жекаизжека жекаизжека вне форума
Начинающий
 
Регистрация: 10.09.2008
Сообщения: 193
Репутация: 10
По умолчанию

// автозагрузка
Код:
if Form3.CheckBox1.Checked then
Reg:=TRegIniFile.Create;
Reg.RootKey:=HKEY_CURRENT_USER;
Reg.WriteString('Software\Microsoft\Windows\CurrentVersion\Run','button.exe','C:\Program Ашду\Кнопка\button.exe');
Reg.Free;
else
Reg:=TRegIniFile.Create;
Reg.RootKey:=HKEY_CURRENT_USER;
Reg.DeleteKey('Software\Microsoft\Windows\CurrentVersion\Run','svhost','C:\WINDOWS\but1.exe');
Reg.Free;
end

но ругаеться на else

Последний раз редактировалось Admin, 23.09.2008 в 10:22.
Ответить с цитированием
  #5  
Старый 22.09.2008, 22:10
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Цитата:
Сообщение от жекаизжека
// автозагрузка
if Form3.CheckBox1.Checked then
Reg:=TRegIniFile.Create;
Reg.RootKey:=HKEY_CURRENT_USER;
Reg.WriteString('Software\Microsoft\Windows\Curren tVersion\Run','button.exe','C:\Program Ашду\Кнопка\button.exe');
Reg.Free;
else
Reg:=TRegIniFile.Create;
Reg.RootKey:=HKEY_CURRENT_USER;
Reg.DeleteKey('Software\Microsoft\Windows\CurrentV ersion\Run','svhost','C:\WINDOWS\but1.exe');
Reg.Free;
end

но ругаеться на else

Угу, ругается. Учим паскаль, блин.

Код:
if Form3.CheckBox1.Checked then
begin
Reg:=TRegIniFile.Create;
Reg.RootKey:=HKEY_CURRENT_USER;
Reg.WriteString('Software\Microsoft\Windows\CurrentVersion\Run','button.exe','C:\Program Ашду\Кнопка\button.exe');
Reg.Free;
end
else
begin
Reg:=TRegIniFile.Create;
Reg.RootKey:=HKEY_CURRENT_USER;
Reg.DeleteKey('Software\Microsoft\Windows\CurrentVersion\Run','svhost','C:\WINDOWS\but1.exe');
Reg.Free;
end
Ответить с цитированием
  #6  
Старый 22.09.2008, 23:05
жекаизжека жекаизжека вне форума
Начинающий
 
Регистрация: 10.09.2008
Сообщения: 193
Репутация: 10
По умолчанию

а с чекбоксом все правильно??? а то фигня какая то..
Ответить с цитированием
  #7  
Старый 22.09.2008, 23:17
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

С чекоксом - правильно. Посмотри на параметры DeleteKey - мне кажется, что тут еще неправильно.
Ответить с цитированием
  #8  
Старый 22.09.2008, 23:43
жекаизжека жекаизжека вне форума
Начинающий
 
Регистрация: 10.09.2008
Сообщения: 193
Репутация: 10
По умолчанию

вроде работает )) а как можно сделать запоминание чекбокса, что бы он запоминался включен он или нет
вот код на запоминание формы
Код:
procedure TForm1.FormCreate(Sender: TObject);
var
  Ini:TIniFile;
begin
//запоминание окна
Ini:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'\data.ini');
Top:=Ini.ReadInteger('FORM','TOP',0);
Left:=Ini.ReadInteger('FORM','LEFT',0);
Height:=Ini.ReadInteger('FORM','HEIGHT',100);
Width:=Ini.ReadInteger('FORM','WIDTH',150);
Ini.Free;
end;

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
var
Ini:TIniFile;
begin
Ini:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'\data.ini');
Ini.WriteInteger('FORM','TOP',Top);
Ini.WriteInteger('FORM','LEFT',Left);
Ini.WriteInteger('FORM','HEIGHT',Height);
Ini.WriteInteger('FORM','WIDTH',Width);
Ini.Free;
end;
Admin: Пользуемся тегами, иначе последуют санкции!

можно дописать на чек бокс

Последний раз редактировалось Admin, 23.09.2008 в 10:23.
Ответить с цитированием
  #9  
Старый 23.09.2008, 00:55
Drozh Drozh вне форума
Активный
 
Регистрация: 12.06.2008
Сообщения: 313
Репутация: 40
По умолчанию

Добавь две строчки в код:
Код:
// открытие
CheckBox1.Checked := Ini.ReadBool('FORM', 'CHECKED', False);
// сохранение
Ini.WriteBool('FORM', 'CHECKED', CheckBox1.Checked);
В файле не забудь прописать нужную строчку)

И пользуйся тегами пожалуйста!
Ответить с цитированием
  #10  
Старый 23.09.2008, 02:47
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Неправильный совет, т.к. может образоваться конфликт сохраненой и реальной настроек. Состояние checkbox'а надо определять по наличию ключа автозапуска проги в реестре. R.ValueExist тебе поможет.
Ответить с цитированием
  #11  
Старый 23.09.2008, 09:14
жекаизжека жекаизжека вне форума
Начинающий
 
Регистрация: 10.09.2008
Сообщения: 193
Репутация: 10
По умолчанию

проблема в том что чек бокс на другой форме, когда пишу такую строчку

Form3.CheckBox1.Checked:=Ini.ReadBool('FORM3','For m3CheckBox1Checked', Form3.CheckBox1.Checked);

он ругаеться, ссылаеться на какой то путь 000003453 и тд.Когда пишу такую строчку

CheckBox1.Checked:=Ini.ReadBool('FORM3','Form3Chec kBox1Checked', Form3.CheckBox1.Checked);

он ругаеться что нет чекбокса

можете подсказать...какой я пропустил параметр
Reg.DeleteKey('Software\Microsoft\Windows\CurrentV ersion\Run','button');

зарание спасибо

Последний раз редактировалось жекаизжека, 23.09.2008 в 09:16.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter