Текущий архив: 2003.05.12;
Скачать: CL | DM;
Вниз
Как при работе с FileWrite записать в файл строку Найти похожие ветки
← →
Maik (2003-04-30 11:57) [0]Вот пытаюсь записать строку в файл используя FileWrite
Ecли делать FileWrite(Handle,"Строка",sizeof("Строка"))
то в файле видно слово "Строка"
Если S:="Строка";FileWrite(Handle,S,sizeof(S));
то в файле бред какой-то.
Как правильно поступить?
Работать c TextFile нельзя,т.к. запись ведется с нескольких
машин.
← →
Dms (2003-04-30 11:58) [1]sizeOf замени на Length
← →
MBo © (2003-04-30 12:00) [2]S:="Строка";
FileWrite(Handle,S[1],Length(S));
← →
ASMiD (2003-04-30 12:12) [3]DMS немного неправ!
Писать надо вместо sizeof(s) Length(s)+1
иначе не запишется последний символ строки.
А если писать как МВо - не запишется длинна строки, содержащаяся в S[0]
← →
Maik (2003-04-30 12:16) [4]Всем спасибо.
Мне подходит вариант от MBo.
← →
MBo © (2003-04-30 12:20) [5]>ASMiD
подразумевается AnsiString - это очевидно из:
>то в файле бред какой-то
← →
Serginio (2003-04-30 12:39) [6]Лучше писать
S:="Строка";
Len:=Length(s);
FileWrite(Handle,Len,sizeof(len));
FileWrite(Handle,S[1],len);
Чтобы затем
FileRead(Handle,Len,sizeof(len));
SetLength(s,Len);
FileRead(Handle,S[1],len);
Страницы: 1 вся ветка
Текущий архив: 2003.05.12;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.026 c