Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Тип данных TMemoryStream глюк? [D6, Win2k]


S ©   (2002-09-11 17:29:00) 

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


McSimm   (2002-09-11 18:36:00) [1]

В дополнение

Stream.Write(Stroka,...

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


S   (2002-09-11 18:30:00) [2]

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


McSimm   (2002-09-11 18:03:00) [3]

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

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


S   (2002-09-11 17:57:00) [4]

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


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

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


McSimm   (2002-09-11 17:49:00) [6]

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

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


S   (2002-09-11 17:39:00) [7]

Создаю
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:35:00) [8]

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


MBo   (2002-09-11 17:32:00) [9]

код?


Наверх

Титульная страница Поиск, карта сайта Написать письмо