Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.11;
Скачать: CL | DM;

Вниз

Сохранение строки в TStream   Найти похожие ветки 

 
AlexanderSK   (2004-06-28 15:56) [0]

Подскажите, пожадуйста, как правильно сохранить строку (String) в TStream?

Заранее благодарен!


 
Тимохов ©   (2004-06-28 15:57) [1]

запись:
1. 4 байта: длина
2. тело строки

чтение:
1. Читаешь 4 байта длины
2. читаешь в тело строки столько сколько нужно.


 
AlexanderSK   (2004-06-28 16:01) [2]

>Тимохов ©  (28.06.04 15:57) [1]
Видимо я не очень коррекектно поставил вопрос.
Проблема в следующем:

var
 FS: TFileStream;
 Str: String;

....
 FS.Write(Str, Length(Str));

В итогк в файле получается белеберда!
Подскажите, пожалуйста, как с этим бороться?


 
Тимохов ©   (2004-06-28 16:02) [3]

написать

...write(str[0], ...)

или

...write(pointer(str)^, ...)


 
panov ©   (2004-06-28 16:02) [4]

FS.Write(Str[1], Length(Str));


 
MBo ©   (2004-06-28 16:03) [5]

FS.Write(Str[1], Length(Str));


 
Тимохов ©   (2004-06-28 16:06) [6]

Ой!!!
Конечно str[1].

прошу прощения

:(((

Зато второй вариант точно правильный :)))


 
Рамиль ©   (2004-06-28 16:14) [7]

Всетаки, ИМХО, лучше так
Stream.Write(PChar(Str)^, SizeOf(Char) * Length(Str))


 
AlexanderSK   (2004-06-28 16:18) [8]

Спасибо!


 
wicked ©   (2004-06-28 17:05) [9]

TStringStream...
но в любом случае нужно сначала писать в поток длину строки...



Страницы: 1 вся ветка

Текущий архив: 2004.07.11;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.036 c
4-1086175357
eRoR_rrr
2004-06-02 15:22
2004.07.11
ProgresBar при копировании


14-1087761613
Катя
2004-06-21 00:00
2004.07.11
Где гостевая? Была вроде


1-1088358290
Dio
2004-06-27 21:44
2004.07.11
передача числовых значений из DLL


1-1087824311
Alek
2004-06-21 17:25
2004.07.11
Работа с фреймами в веббраузере


4-1086155493
ra4fcr
2004-06-02 09:51
2004.07.11
CharToOem() ?