Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.04.08;
Скачать: [xml.tar.bz2];

Вниз

Считывание строки в 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.034 c
15-1173792180
ProgRAMmer Dimonych
2007-03-13 16:23
2007.04.08
Сижу, как столица одного из государств Азии...


15-1173573167
Raid
2007-03-11 03:32
2007.04.08
Кто нибудь пробовал ставить Виндос на флеш память?


6-1161611651
Masterok
2006-10-23 17:54
2007.04.08
Исходящий трафик.


2-1174289904
Ильин С.
2007-03-19 10:38
2007.04.08
Кти может подсказать?


15-1173742536
Ш-К
2007-03-13 02:35
2007.04.08
Как работать с данными на CD?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский