Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Delphi, Скрытие компонентов через INI. (http://forum.oszone.net/showthread.php?t=140946)

androidz 24-05-2009 20:19 1126525

Delphi, Скрытие компонентов через INI.
 
Воопщем нужно мне скрыть панельку
panel.Hide;
но чтобы значение Hide читалась из INIFILE

чтото тип того..
Panel:=IniFile.ReadString('panels','1',' ');


как присвоить значение Hide чтобы оно прочиталось из INI ?

lxa85 24-05-2009 20:34 1126536

androidz, это обычная работа с текстовыми файлами.
Если Panel:=IniFile.ReadString('panels','1',' '); то IniFile - это объект, содержащий функцию чтения строки.
Если panel.Hide -то это тоже объект, соотв функция
Panel:=IniFile.ReadString('panels','1',' '); должна быть записана так
Panel.hide:=IniFile.ReadString('panels','1',' ');
Причем следует учесть тип переменной Hide. Скорей всего она булевская, считываемое значение из INI файла текстовое. Т.е. необходимо позаботиться о соответствии типов, и приведению к нужному.
Дальше все зависит от реализации и описания объектов, и им соотв~щих классов.

Serega 24-05-2009 22:28 1126653

Вложений: 1
Цитата:

Цитата androidz
как присвоить значение Hide чтобы оно прочиталось из INI ? »

Пример
Код:

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Ini := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'config.ini');
  with Ini do begin
    WriteInteger('position', 'left', Form1.Left);
    WriteInteger('position', 'width', Form1.Width);
    WriteInteger('position', 'top', Form1.Top);
    WriteInteger('position', 'height', Form1.Height);
    WriteBool('panel', 'visible', pnl1.Visible);
    WriteBool('button', 'btn1', btn1.Visible);
    WriteBool('button', 'btn2', btn2.Visible);
    Free;
  end;
end;


Прикрепил исходник, в котором показано, как сохранять и загружать данные из ini файла.

Alan85 24-05-2009 22:58 1126679

Ну и если добавить StrToBool() то получится чтото вроде Panel.hide:= StrToBool(IniFile.ReadString('panels','1',' ')); если считать что в INI файле 0 это false и 1 это true

androidz 25-05-2009 05:40 1126825

Цитата:

Цитата Serega_
Прикрепил исходник, в котором показано, как сохранять и загружать данные из ini файла. »

как загружать и сохранять данные в ini я знал, вот только низнал как панельку можно спрятать таким способом, теперь всё понятно
большое спасибо за исходник!


Время: 18:16.

Время: 18:16.
© OSzone.net 2001-