Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.08;
Скачать: CL | DM;

Вниз

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

 
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!



Страницы: 1 вся ветка

Текущий архив: 2002.04.08;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.009 c
3-22536
Kikoz
2002-03-14 12:18
2002.04.08
Как подключиться к АССЕSS через компонент TDataBase не регистрируюя алиас в BDE?


4-22890
Ghost.
2002-02-05 15:06
2002.04.08
К вопросу о панели задачь...


7-22853
viksoft
2001-12-13 12:41
2002.04.08
Автоматический запуск программы при старте Windows


1-22716
~Alice~
2002-03-26 21:10
2002.04.08
RichEdit люди такой вопрос :


14-22792
BorisMor
2002-02-26 10:11
2002.04.08
Какой инсталятор лучше всего жмет ?