Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.11.14;
Скачать: [xml.tar.bz2];

Вниз

Сохранение данных   Найти похожие ветки 

 
Роман   (2004-11-01 08:47) [0]

Всем здрасьте.
Могу ли я зделать так:

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);

При попытке загрузить файл выдает ошибку.


 
Digitman ©   (2004-11-01 08:58) [1]

прежде чем вызывать метод LoadFromFile() объекта класса TTreeView, необходимо создать этот объект.


 
Роман   (2004-11-01 13:26) [2]

Так тоже ничего не получается...

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);


 
Sam Stone ©   (2004-11-01 13:37) [3]

Tree_1,Tree_2,Tree_3:TTreeView; - это указатели на объекты. (SizeOf(Tree_1)=4байта)
Чтобы сохранить структуру дерева (а ведь там дерево?), необходимо обойти все элементы и сохранить их.


 
Роман   (2004-11-01 13:41) [4]

>Sam Stone
Не понял.
Т.е. создать цикл и пробежаться по всем веткам дерева? А как их сохранять?!


 
begin...end ©   (2004-11-01 13:43) [5]


> [2] Роман   (01.11.04 13:26)


> MyTr.Tree_1.Create(AOwner);

Это переинициализация, а не создание.

> AOwner:TComponent;

Непонятно.

А вообще - см. [3].


 
Роман   (2004-11-01 14:04) [6]

Что-то никак не получается. Видать не то делаю.
Ребят, может кодом поможете?


 
Роман   (2004-11-01 14:36) [7]

Народ. Ну тут то что ей постылой надо???

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; <----------- ошибка тут
begin
Datt.MemoPrim:=TStrings.Create;
Memo1.Lines.SaveToStream(Stt);
Datt.MemoPrim.LoadFromStream(Stt);
Datt.Adress:=Edit1.Text;
Datt.SxCount:=SpinEdit1.Value;
 io:=1;
  while io<>ListBox1.Items.Count+1 do
    begin
      Datt.SxPathArray[io]:=ListBox1.Items.Strings[io];
      Datt.SxNameArray[io]:=ListBox2.Items.Strings[io];
      inc(io);
    end;
AssignFile(F,"data.dat");
Rewrite(F);
Write(F, TMy);
CloseFile(F);
end;

end.

выдает ошибку
Type TMy needs finalization - not allowed in file type


 
Cooler   (2004-11-01 14:46) [8]

Малый не парься. Используй INI/


 
Cooler   (2004-11-01 14:47) [9]

Малый не парься. Используй INI/


 
Mailer   (2004-11-01 15:22) [10]

Вместо string надо PChar и еще вместо Write(F, TMy); надо Write(F, Datt);


 
Роман   (2004-11-01 15:35) [11]

ЛЮДИ ТАК КАК ВСЕ ТАКИ СОХРАНИТЬ ДАННЫЕ НАБРАННЫЕ ПОЛЬЗОВАТЕЛЕМ А ПОТОМ ИХ ПРОЧЕСТЬ???????????
ПОМОГИТЕ



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

Форум: "Основная";
Текущий архив: 2004.11.14;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.032 c
3-1097922799
Нулевой
2004-10-16 14:33
2004.11.14
Помогите перевести код чтоб заработало на FB1.5 Плз!!!


1-1098940211
Font
2004-10-28 09:10
2004.11.14
Unicode и VCL


1-1098972789
Sp0k3r
2004-10-28 18:13
2004.11.14
Строки...


1-1099026696
BillyJeans
2004-10-29 09:11
2004.11.14
PopupMenu у Edit ов...


3-1097946906
techgl
2004-10-16 21:15
2004.11.14
Поиск в БД





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский