Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.27;
Скачать: CL | DM;

Вниз

Запись/чтение массива типа Recored в/из файла через TFileStream   Найти похожие ветки 

 
Fostr   (2005-11-11 18:18) [0]

Господа! Вопрос такой: Нажимаем кнопку и данные из TListBox-а пишутся в файл через TFileStream. Эти данные - есть массив из 6 чисел типа "запись". Вот код:

procedure TForm1.Button3Click(Sender: TObject);
var
F: TFileStream;
ListOfFiles: FileList;
I: Integer;

begin
 F:=TFileStream.Create("Lst.dat",fmCreate);
For I:=0 to ListBox1.Count-1 do
  begin
   ListOfFiles.List[I]:= ListBox1.Items[I];
  end;
F.Write(ListOfFiles,SizeOf(ListOfFiles.List));
F.Free;
end;

Нажимая вторую кнопочку я хочу эти данные из файла загрузить обратно в TListBox:

procedure TForm1.Button4Click(Sender: TObject);
var
F: TFileStream;
ListOfFiles: FileList;
I: Integer;

beginF:=TFileStream.Create("Lst.dat",fmOpenRead);
F.Read(ListOfFiles,SizeOf(ListOfFiles.List));
F.Free;

For I:=0 to 5 do
    begin
      ListBox1.Items.Strings[I]:=ListOfFiles.List[I];
    end;
end;

Пока у меня ЯВНО указан размер массива типа запись

Type
FileList = Record
List: array  [0..5] of String[12];    
end;

ВСЕ ЧУДНЕНЬКО РАБОТАЕТ. Но стоит только массив сделать динамическим, начинают выпадать ошибки и в файл пишется черт знает что (НЕСМОТРЯ НА ТО, ЧТО Я ОБЪЯВЛЯЮ ЕГО ДЛИНУ В ПРОЦЕССЕ ВЫПОЛНЕНИЯ ПРОГРАММЫ).

Пршу помощи в решении этой загадки!


 
SPV   (2005-11-11 18:49) [1]

Массив какой
 List: array of String;
или
 List: array of String[12];


 
Fostr   (2005-11-11 20:29) [2]

List: array of String[12]
( какая будет разница в результате) заранее спасибо


 
begin...end ©   (2005-11-11 20:33) [3]

> Fostr   (11.11.05 18:18)

Переменная динамического массива представляет собой указатель на блок памяти, в котором расположены элементы массива. Дело в этом.



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

Текущий архив: 2005.11.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.075 c
2-1131451657
San1
2005-11-08 15:07
2005.11.27
Элементарный код, а не работает. Подскажите в чем дело.


14-1130841096
Андрей Жук
2005-11-01 13:31
2005.11.27
Внимание, фраза


14-1130934487
Del_programmer
2005-11-02 15:28
2005.11.27
МОБИЛЫ


14-1131191893
kami
2005-11-05 14:58
2005.11.27
А что случилось с новой Кладовкой?


14-1130944183
copy
2005-11-02 18:09
2005.11.27
String->integer