Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
1-22667
Rammst
2002-03-28 07:25
2002.04.08
SysTray


14-22814
Alexander Vasjuk
2002-02-27 14:17
2002.04.08
Подключиться к 3Com хабу


1-22620
АААААА
2002-03-27 17:33
2002.04.08
Как загрузить иконку из файла *.ico?


6-22782
Hardward
2002-01-23 19:47
2002.04.08
Не проходит IP пакет


14-22805
IronHawk
2002-02-26 12:57
2002.04.08
Приветствую Мастеров & All ! Как оакитизировать части программы по ключу в коммандной строке ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский