Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.014 c
4-34642
ilya53
2003-03-06 15:38
2003.05.12
Доступ к файлу


14-34592
Soft
2003-04-21 18:05
2003.05.12
Партия программистов


1-34434
dm37
2003-04-28 11:31
2003.05.12
Drag & Drop


8-34511
jee
2003-01-31 13:54
2003.05.12
Тоновый набор


14-34544
exo
2003-04-22 18:21
2003.05.12
timer