Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];




Вниз

Как сделать например мне нужно что бы я пороботал в программе изменил там что то 


snoup   (2002-03-26 13:45) [0]

Как сделать например мне нужно что бы я пороботал в программе изменил там что то
например поставил флажок или там лебел натикал и что бы после того как я её закрыл а потом опять
включил все настройки сохранялись!



Alx2   (2002-03-26 13:50) [1]

Это делает компонент из RxLib: TFormStorage



sudiv   (2002-03-26 13:51) [2]

М-да,
сохраняй состояние в реестре
или нет, лучше для начала в ini-файле, а то поковеркаешь эту штуку, потом будешь спрашивать как ее восстановить.



Вадим   (2002-03-26 14:23) [3]

см. в хелпе TIniFile & TRegistry



snoup   (2002-03-26 16:48) [4]

А как это всё через DLL проделать?



panov   (2002-03-26 17:36) [5]

>snoup © (26.03.02 16:48)
А вот для этого вопроса создавай новый Topic.



asafr   (2002-03-26 17:59) [6]

не майся - через ini делай.



snoup   (2002-03-26 19:17) [7]

Хорошо я последую вашиму совету буду делать через ini но как например загрузить сохранённые данный в ini-файле я делаю ini-файл вот таким кодом:
procedure Tfrom1.Button1.Click(....);
var tl: TStringList;
begin
tl:=tstringlist.create;
try
tl.add(label1.caption);
tl.savetofile("c:\test.ini");
finally
tl.free;
end;
end;
Это сдесь я в ini-файле сохраняю зоголовок TLabel (ну и так можно для каждого обьекта ini-файл сделать) а вот как теперь эту всю биду загрузить? Помогите пожалуйста!



pasha_golub   (2002-03-26 20:37) [8]

Есть тип TIniFile. Если в хелпе напишешь, то найдешь.
Но можно как и ты, в текстовике сохранять. В принципе ини это тогже текстовик, только по определеным правилам построенный.
Можешь специализированный файл создать, но это уже изврат!



snoup   (2002-03-26 23:45) [9]

Ну а всё таки кто-ибудь может написать как свою DLL создать и хранить там всё что надо и не надо и загружать от туда?



Adder   (2002-03-27 01:55) [10]

Насчет DLL писать не буду - лень :(
А насчет ини-файла пример (упрощенный, конечно, но рабочий) напишу ;)
В примере на форме есть 2 Label и 2 CheckBox.
В uses добавь IniFiles;


unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls,IniFiles;

type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}
procedure ReadIni;
var
FileName:string;
IniFile:TIniFile;
begin
//Имя ini-файла - такое же как имя программы, но с расширением ini
//Файл создается в том же каталоге, где программа
Filename := ChangeFileExt(ParamStr(0), ".INI");
IniFile:=TIniFile.Create(FileName);
TRY
Form1.Label1.Caption:=IniFile.ReadString("Labels","Label1","Метка 1");
Form1.Label2.Caption:=IniFile.ReadString("Labels","Label2","Метка 2");
Form1.CheckBox1.Checked:=IniFile.ReadBool("CheckBoxes","CheckBox1",True);
Form1.CheckBox2.Checked:=IniFile.ReadBool("CheckBoxes","CheckBox2",False);
FINALLY
IniFile.Free;
END;

end;
procedure SaveIni;
var
IniFile:TIniFile;
FileName:string;
begin
Filename := ChangeFileExt(ParamStr(0), ".INI");
IniFile:=TIniFile.Create(FileName);
TRY
IniFile.WriteString("Labels","Label1",Form1.Label1.Caption);
IniFile.WriteString("Labels","Label2",Form1.Label2.Caption);
IniFile.WriteBool("CheckBoxes","CheckBox1",Form1.CheckBox1.Checked);
IniFile.WriteBool("CheckBoxes","CheckBox2",Form1.CheckBox2.Checked);
FINALLY
IniFile.Free;
END;
end;

//При создании Form1 (Event OnCreate)
procedure TForm1.FormCreate(Sender: TObject);
begin
ReadIni;
end;
//При закрытии Form1 (Event OnClose)
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
SaveIni;
end;

end.


ps мой Вам совет - почитать книжки :)



Adder   (2002-03-27 02:07) [11]

продолжение

При отсутствии ини-файла загрузятся параметры "по умолчанию" (default).
После выхода из программы появится ини-файл (например, Project1.ini, если программа была названа Project1.exe).
Файл появится в том же каталоге, где лежит программа.
Выглядеть будет примерно так:

[Labels]
Label1=Метка 1
Label2=Метка 2

[CheckBoxes]
CheckBox1=1
CheckBox2=0




snoup   (2002-03-27 08:54) [12]

>Adder
Thank you!




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.74 MB
Время: 0.032 c
3-22581           Дуся                  2002-03-13 17:50  2002.04.08  
Как сделать инсталляцию с ADO??


3-22560           Юрий Жуков            2002-02-22 12:04  2002.04.08  
Delphi 6 Update 2 - Первые впечатления


4-22871           Gavrozoid             2002-02-05 14:59  2002.04.08  
Нужно достать Handle окна под мышой


7-22869           АндрейФ.              2002-01-10 18:40  2002.04.08  
Чтение секторов на дисках


1-22681           Сержик                2002-03-26 12:00  2002.04.08  
Где искать рабочий стол?