Форум: "Начинающим";
Текущий архив: 2005.11.27;
Скачать: [xml.tar.bz2];
ВнизЗапись/чтение массива типа 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.014 c