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