Форум: "Основная";
Текущий архив: 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!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.023 c