Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > X и Y программы...


Автор: JohnnY 31.8.2005, 00:00
Я написал программу, она прописывается в автозагрузку, и хотел спросить такую вещь...

Я запустил программу
Переместил её форму в какое-нибудь другое место на рабочем столе...
Как можно сделать так чтобы при изменении местоположения формы прописывалось новое местоположение в ini файле и при повторном запуске программы она появлялась на новом местоположении ( извините за тавтологию)... Спасибо...

Автор: FRAGNATIC 31.8.2005, 00:05
Left
Top
запоминаешь при закрытиии форым
при запуске считываешь из ини их и устонавливаешь у формы парметнры left и top в те что считал!
Добавлено @ 00:09
Код

Uses
   IniFiles;
------------
var
    F: TIniFile;
------------
procedure TForm1.FormCreate(Sender: TObject);
begin
 F := TIniFile.Create(ExtractFilePath(Application.ExeName)+'settings.ini');
 if F.ReadBool('FormPosition','Maximized',true) then begin
  Form1.WindowState:=wsMaximized;
 end
 else begin
  Form1.Width:=F.ReadInteger('FormSize','Width', Form1.Width);
  Form1.Height:=F.ReadInteger('FormSize','height',Form1.Height);
  Form1.Top:=F.ReadInteger('FormPosition','top',Form1.top);
  Form1.Left:=F.ReadInteger('FormPosition','left',Form1.Left);
 end;
end;
-----------------
procedure TForm1.FormDestroy(Sender: TObject);
begin
  F := TIniFile.Create(ExtractFilePath(Application.ExeName)+'settings.ini');
  if Form1.WindowState=wsMaximized then
   f.Writebool('FormPosition','Maximized',true)
  else begin
   F.WriteInteger('FormPosition','top',Form1.top);
   F.WriteInteger('FormPosition','left',Form1.Left);
   F.WriteInteger('FormSize','Width', Form1.Width);
   F.WriteInteger('FormSize','height', Form1.Height);
   f.Writebool('FormPosition','Maximized', false)
  end;
end;

ток ини сакс)

Автор: Alex 31.8.2005, 00:13
FRAGNATIC, если уж и сохранять настройки программы запущенной с CD, то ни как не в папке программы, т.к. вам ни кто не дас записать на диск данные. Или пишите на жеский диск настройки, а лучше храните их в реестре

Автор: FRAGNATIC 31.8.2005, 00:17
Цитата
FRAGNATIC, если уж и сохранять настройки программы запущенной с CD, то ни как не в папке программы, т.к. вам ни кто не дас записать на диск данные. Или пишите на жеский диск настройки, а лучше храните их в реестре

гы я ваще настройки в реестре храню!
ни где мне говорилось что прога с СД запускается ) я думаю такое самому можно предусмотреть)
и я же написал что ини сакс)
но был вопрос как в ини я ответил)
Добавлено @ 00:21
Alex
а где про СД тут говорится? я понимаю надо всё предусмотреть то я думаю если автор темы сам поймёт что да как! )
я конечно ща плохо сооброжаю но вот то что тут конкретно про СД не писали я вроде вижу)а вы грите как будно это было жестким критерием по кторому я должен был ответить)
П.С
сам не понял чё я написал) smile

Автор: Alex 31.8.2005, 00:35
smile заработался, извиняюсь. Уже автозагрузку как запуск с CD воспринимаю smile

Автор: FRAGNATIC 31.8.2005, 00:41
Цитата
заработался, извиняюсь. Уже автозагрузку как запуск с CD воспринимаю

smile бывает) не столь страшно это излечимо парой часов сна)))

Автор: JohnnY 31.8.2005, 00:59
FRAGNATIC, большое спасибо!!!
smile FRAGNATIC, с помощью тебя я очень многому научился... Спасибо... smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)