Главная страница
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.043 c
14-1131001203
__new
2005-11-03 10:00
2005.11.27
Посоветуйте бесплатный инсталятор


4-1127456496
Grishberg
2005-09-23 10:21
2005.11.27
com порт


2-1131626075
Тормаз
2005-11-10 15:34
2005.11.27
Подскажите запрос


1-1130915780
Zhekson
2005-11-02 10:16
2005.11.27
Как обработать непосредственно нажатие на крестик(закрытие формы)


4-1127473166
Still Swamp
2005-09-23 14:59
2005.11.27
keybd_event и GetKeyStatus отказываются работать в терминальном