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

Вниз

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

 
Chaser ©   (2007-03-18 15:12) [0]

Привет.

Пытаюсь в MemoryStream загрузить строку.

[Code]
var
cryptstr: string;
ms: TMemoryStream;
begin
cryptstr:="qwerty123456";
ms:=TMemoryStream.Create;
ms.SetSize(ms.Size);
ms.ReadBuffer(cryptstr,SizeOf(cryptstr));
...
end;
[/Code]

Однако при операции ReadBuffer вылетает ошибка "Stream Read error".
Кто знает в чем проблема?


 
$00FF00   (2007-03-18 15:21) [1]


> ms.SetSize(ms.Size);


Может быть дело в этой строке? ms.size походу равен нулю или чему там ещё, а ты хочешь ещё раз ему этот ноль переприсвоить? Извини коли глупость сморозил - Дельфей под рукой нету.


 
$00FF00   (2007-03-18 15:23) [2]

Логичнее всего на мой взгляд написать так: ms.setSize(SIZEOF(cryptStr));


 
$00FF00   (2007-03-18 15:25) [3]

тфуёблн. Length(cryptStr), а не SIZEOF :)


 
Chaser ©   (2007-03-18 15:33) [4]

Сенькс, вопрос закрыт )


 
Alexey (AZ)   (2007-03-18 21:21) [5]


> Пытаюсь в MemoryStream загрузить строку.

Я наверное забыл делфи :) Почему
> ms.ReadBuffer(cryptstr,SizeOf(cryptstr));

, когда надо Write?


 
xShadow ©   (2007-03-19 09:46) [6]

И ещё дабавить cryptstr[1]


 
killmeplease   (2007-03-19 12:34) [7]

может cryptstr[0]?


 
Elen ©   (2007-03-19 12:38) [8]


> , когда надо Write?

Все правильно. Write - это писать в буфер из MemoryStream, а автору считать (загрузить) надо.


 
Leonid Troyanovsky ©   (2007-03-19 12:44) [9]


> Chaser ©   (18.03.07 15:12)  

> Пытаюсь в MemoryStream загрузить строку.

Не мучайся, возьми TStringStream.

--
Regards, LVT.


 
Плохиш ©   (2007-03-19 13:52) [10]


> killmeplease   (19.03.07 12:34) [7]
> может cryptstr[0]?


> Elen ©   (19.03.07 12:38) [8]
> Все правильно. Write - это писать в буфер из MemoryStream

Знания основ просто поражают...


 
Alexey (AZ)   (2007-03-19 20:30) [11]


> Write - это писать в буфер из MemoryStream, а автору считать
> (загрузить) надо.

Я почему-то пишу в стрим из буфера по Write.


 
Johnmen ©   (2007-03-19 20:57) [12]

Иногда достаточно посмотреть на строку, как на MemoryStream.
type
 TMyMemoryStream = class(TMemoryStream);
var
 ms:=TMyMemoryStream.Create;
 s : string;
...
 ms.SetPointer(pointer(s),Length(s));
...



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

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

Наверх




Память: 0.49 MB
Время: 0.041 c
15-1173935832
vajo
2007-03-15 08:17
2007.04.08
Microsoft рекомендует красть Windows


2-1173958983
Tifon
2007-03-15 14:43
2007.04.08
Эквалайзер, как сделать?


3-1169113342
Castlevania
2007-01-18 12:42
2007.04.08
InterBase SQL и память


2-1173883057
Самовар глазами чайника
2007-03-14 17:37
2007.04.08
Как получить список дисков в системе


15-1173543352
Desdechado
2007-03-10 19:15
2007.04.08
Чай и наше здоровье