Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как сохранить переменные?


konusov ©   (2002-04-06 22:31:00) 

Как при выходе из программы сохранить переменные разных типов в текстовый файл, а при запуске программы восстановить их из файла?


Sergey Saf   (2002-04-08 14:32:00) [1]

Получилось ?


Sergey Saf   (2002-04-07 13:54:00) [2]

Сделай эту прогу,разберешься...

unit Unit1;

interface

uses
Windows, Messages, IniFiles,SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
ListBox1: TListBox;
Edit1: TEdit;
Edit2: TEdit;
CheckBox1: TCheckBox;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
var
F: TIniFile;
names: TStringList;
i: integer;
begin
F := TIniFile.Create(ExtractFilePath(ParamStr(0)) +
"window.ini");

Form1.Left := F.ReadInteger("position", "left", 0);
Form1.Width := F.ReadInteger("position", "width", 200);
Form1.Top := F.ReadInteger("position", "top", 0);
Form1.Height := F.ReadInteger("position", "height", 200);

Edit1.Text := F.ReadString("tools", "edit1", "no text");
Edit2.Text := IntToStr(F.ReadInteger("tools", "koef", 0));
CheckBox1.Checked := F.ReadBool("tools", "check", true);

names := TStringList.Create;
F.ReadSection("files", names);
for i := 0 to Names.Count - 1 do
ListBox1.Items.Add(F.ReadString("files", names.Strings[i],
""));
names.Destroy;

F.Destroy;

end;

procedure TForm1.FormDestroy(Sender: TObject);
var
F: TIniFile;
i: integer;
begin
F := TIniFile.Create(ExtractFilePath(ParamStr(0)) +
"window.ini");

F.WriteInteger("position", "left", Form1.Left);
F.WriteInteger("position", "width", Form1.Width);
F.WriteInteger("position", "top", Form1.Top);
F.WriteInteger("position", "height", Form1.Height);

F.WriteString("tools", "edit1", Edit1.Text);
F.WriteInteger("tools", "koef", StrToIntDef(Edit2.Text, 0));
F.WriteBool("tools", "check", CheckBox1.Checked);

for i := 0 to ListBox1.Items.Count - 1 do
F.WriteString("files", "file" + IntToStr(i+1), ListBox1.Items.Strings[i]);

F.Free;

end;

procedure TForm1.Button1Click(Sender: TObject);
begin

ListBox1.Items.Add(Edit1.Text);

end;

end.


hooky-mars   (2002-04-07 12:53:00) [3]

Вот тут всё написано.
http://www.sources.ru/delphi/delphi_my_own_database.shtml
Если не знаеш как заполнить тамашний массив, то делай так:
for i:=1 to 50 do
begin
members[i].name:="";
members[i].eMail:="@";
members[i].Posts:=i
end;


Vcoder   (2002-04-07 12:31:00) [4]

Можешь сохранять ВСЮ ФОРМУ сразу - почитай про ReadComponentResFile / WriteComponentResFile. Нужны подробности - пиши, объясню.


SPeller   (2002-04-07 02:57:00) [5]

Тебе обязятельно в текстовый ? Может лучше просто без текста туда их запихать ?


Sergey_n   (2002-04-07 00:52:00) [6]

А чем реестр не нравиться???


MBo   (2002-04-06 22:35:00) [7]

TIniFile


y-soft   (2002-04-06 22:34:00) [8]

Вопрос этот многократно здесь рассматривался. Воспользуйтесь TIniFile, только придется самостоятельно делать приведение для нестандартных типов.


Наверх

Титульная страница Поиск, карта сайта Написать письмо