Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.028 c
2-1174164564
images
2007-03-17 23:49
2007.04.08
Как прочитать загрузочный сектор HDD


15-1173882328
eXPell
2007-03-14 17:25
2007.04.08
Как бы вы поступили?


2-1173894070
Shand
2007-03-14 20:41
2007.04.08
Чат


15-1173765754
Layner
2007-03-13 09:02
2007.04.08
ADSL модем + Хаб + 2 ПК в интеренет, возможно?


15-1173766242
koha
2007-03-13 09:10
2007.04.08
У кого с английским хорошо - помогите перевести




   Наверх