![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сохранение данных [D6, WinXP]
Роман © (2004-11-01 08:47:00)Всем здрасьте.
Могу ли я зделать так:
type
TMyTree = record
Tree_1,Tree_2,Tree_3:TTreeView;
end;
.......
var
F: file of TMyTree;
begin
MyTr.Tree_1.LoadFromFile(Path+'tree.snt');
MyTr.Tree_2.LoadFromFile(Path+'tree_n.snt');
MyTr.Tree_3.LoadFromFile(Path+'tree_f.snt');
AssignFile(F,Path+'data.dat');
Rewrite(F);
Write(F, TreeList);
CloseFile(F);
При попытке загрузить файл выдает ошибку.
Роман (2004-11-01 15:35:00) [1]ЛЮДИ ТАК КАК ВСЕ ТАКИ СОХРАНИТЬ ДАННЫЕ НАБРАННЫЕ ПОЛЬЗОВАТЕЛЕМ А ПОТОМ ИХ ПРОЧЕСТЬ???????????
ПОМОГИТЕ
Mailer (2004-11-01 15:22:00) [2]Вместо string надо PChar и еще вместо Write(F, TMy); надо Write(F, Datt);
Cooler (2004-11-01 14:47:00) [3]Малый не парься. Используй INI/
Cooler (2004-11-01 14:46:00) [4]Малый не парься. Используй INI/
Роман (2004-11-01 14:36:00) [5]Народ. Ну тут то что ей постылой надо???
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Spin;
type
TMy = record
Adress:string;
SxCount:byte;
SxPathArray:array[1..30]of string;
SxNameArray:array[1..30]of string;
MemoPrim:TStrings;
end;
type
TForm1 = class(TForm)
Memo1: TMemo;
Edit1: TEdit;
SpinEdit1: TSpinEdit;
ListBox1: TListBox;
ListBox2: TListBox;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Datt:TMy;
Stt:TStream;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
ListBox1.Items.Append(timetostr(time)+' Äëÿ ïåâîãî');
ListBox1.Items.Append(timetostr(time)+' Äëÿ âòîðîãî');
Memo1.Lines.Append(timetostr(time)+' Äëÿ Memo');
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var
io:byte;
F: file of TMy;
Роман (2004-11-01 14:04:00) [6]Что-то никак не получается. Видать не то делаю.
Ребят, может кодом поможете?
begin...end (2004-11-01 13:43:00) [7]
> [2] Роман (01.11.04 13:26)
> MyTr.Tree_1.Create(AOwner);
Это переинициализация, а не создание.
> AOwner:TComponent;
Непонятно.
А вообще - см. [3].
Роман (2004-11-01 13:41:00) [8]>Sam Stone
Не понял.
Т.е. создать цикл и пробежаться по всем веткам дерева? А как их сохранять?!
Sam Stone (2004-11-01 13:37:00) [9]Tree_1,Tree_2,Tree_3:TTreeView; - это указатели на объекты. (SizeOf(Tree_1)=4байта)
Чтобы сохранить структуру дерева (а ведь там дерево?), необходимо обойти все элементы и сохранить их.
Роман (2004-11-01 13:26:00) [10]Так тоже ничего не получается...
var
F: file of TMyTree;
AOwner:TComponent;
begin
MyTr.Tree_1.Create(AOwner);
MyTr.Tree_2.Create(AOwner);
MyTr.Tree_3.Create(AOwner);
MyTr.Tree_1.LoadFromFile(Path+'tree.snt');
MyTr.Tree_2.LoadFromFile(Path+'tree_n.snt');
MyTr.Tree_3.LoadFromFile(Path+'tree_f.snt');
AssignFile(F,Path+'data.dat');
Rewrite(F);
Write(F, MyTr);
CloseFile(F);
Digitman (2004-11-01 08:58:00) [11]прежде чем вызывать метод LoadFromFile() объекта класса TTreeView, необходимо создать этот объект.