Форум: "Основная";
Текущий архив: 2003.07.03;
Скачать: [xml.tar.bz2];
ВнизString в записи и связанные с этим проблемы Найти похожие ветки
← →
Сушняк (2003-06-23 13:36) [0]У меня возникла проблема. Нужно использовать в записи (ну, допустим, пусть тип будет называться abc) строковое поле. При объявлении переменной file of abc Делфи матерится и требует финализациии типа abc. Как это можно реализовать, если вообще можно? Использовать массив символов вместо строки не получается, т.к. надо считывать длину строкового поля, которая заранее неизвестна. Спасибо.
← →
JibSkeart (2003-06-23 13:38) [1]File of String !
вроде если не путаю
← →
Palladin (2003-06-23 13:38) [2]при помощи File of никак не реализовать
нужно использовать не типизированные файлы или TFileStream
← →
Palladin (2003-06-23 13:39) [3]
> JibSkeart © (23.06.03 13:38)
да чего уж...
file of tform
← →
VMcL (2003-06-23 13:54) [4]>Palladin © (23.06.03 13:39)
ЛучшеFile of File
:)
← →
JibSkeart (2003-06-23 14:02) [5]Да я все понял и вспомнил :))
сам то я уже давно в Делфях ничего не делаю :))
← →
Palladin (2003-06-23 14:04) [6]почему? а в чем делаешь? каковы причины перехода?
← →
Chlavik (2003-06-23 14:22) [7]Palladin © (23.06.03 13:39) :))
Я делаю так
var Len:word; // я думаю больше, не нужно
s:string;
f:file;
begin
assigneFile(f,"c:\test.dat");
FileMode:=fmOpenWrite;
Rewrite(f,1); // если файл уже есть то Reset
S:="asdasdas";
Len:=Length(S);
BlockWrite(f,Len,SizeOf(Len));
if Len<>0 then BlockWrite(f,S[1],Len);
CloseFile(f);
end;
Это пишем а читаем..
А пишем
var Len:word; // я думаю больше, не нужно
s:string;
f:file;
begin
assigneFile(f,"c:\test.dat");
FIleMode:=fmOpenRead;
Reset(f,1);
BlockRead(f,Len,SizeOf(len));
SetLength(s,len);
if Len<>0 then BlockRead(f,S[1],Len);
CloseFile(f);
end;
← →
Palladin (2003-06-23 14:25) [8]ну, усе верно...
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.07.03;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.009 c