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

Вниз

Тип данных TMemoryStream глюк?   Найти похожие ветки 

 
©   (2002-09-11 17:29) [0]

При записи данных в TMemoryStream руссие буквы пропадают. Как это личить?


 
MBo ©   (2002-09-11 17:32) [1]

код?


 
McSimm ©   (2002-09-11 17:35) [2]

Найти ошибку в программе. Для TMemoryStream нет разницы какие буквы


 
©   (2002-09-11 17:39) [3]

Создаю
Stream:=TMemoryStream.Create;
for i:=1 to Length(Stroka) do
begin
Stream.Write(Stroka[i],SIzeOf(Stroka[i]));
// Stream.WriteBuffer(Stroka[i],1);
end;
Stream.SaveToFile("C:\readMe.txt");
При записи все ОК. Но когда смотрю файл то вижу не соответствие.


 
McSimm ©   (2002-09-11 17:49) [4]

1. Совсем не надо делать это в цикле.
Stream.Write(Stroka[1],Length(Stroka));

2. Чем смотришь?


 
MBo ©   (2002-09-11 17:51) [5]

Stream.Write(Stroka[1],Length(Stroka));
для AnsiString


 
©   (2002-09-11 17:57) [6]

Я так пытался но у меня dll и я из нее вызываю метод. Я пытался сделать так:Stream.Write(Stroka,Length(Stroka));
Ни чего не получается. Вообще. А строка у меня типа WideString.


 
McSimm ©   (2002-09-11 18:03) [7]

Stream.Write(Stroka[1],2*Length(Stroka));

т.к.
For Unicode (WideString) strings, Length returns the number of bytes divided by two.


 
©   (2002-09-11 18:30) [8]

Спасибо за ответы. Надо было WideString присвоить String и тогда все работает.


 
McSimm ©   (2002-09-11 18:36) [9]

В дополнение

Stream.Write(Stroka,...

неправильно в любом случае. Т.к. происходит запись указателя на строку, а не ее содержимого



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

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

Наверх




Память: 0.48 MB
Время: 0.023 c
3-73481
Bishop
2002-08-30 12:52
2002.09.23
FIB


1-73605
MikeFW
2002-09-12 11:54
2002.09.23
Изменение цвета в TreeView...


1-73584
ikivio
2002-09-09 04:36
2002.09.23
Определение конца записи в памяти переменной или функции


4-73921
CASU
2002-08-04 01:39
2002.09.23
Траффик ! Часть вторая!


1-73690
eaprit_bel
2002-09-11 02:36
2002.09.23
Инсталятор