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

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

TStream в переменную типа String ??? [D7, Win2k, WinXP]


OlegM ©   (2004-12-10 13:14:00) 

Привет всем!
Можно ли такое сделать из переменной типа TStream присвоить значение переменной типа String?, а то уже весь день сижу и неполучается, Если да то как???? подскажите пожалуста.


Leonid Troyanovsky   (2004-12-10 15:14:00) [1]


> DiamondShark ©   (10.12.04 13:40) [3]
> А TStringStream тут зачем?


> Можно ли такое сделать из переменной типа TStream присвоить
>  значение переменной типа String?, а то уже весь день сижу

Т.е., из переменной присвоить значение переменной.
Мне не хотелось уже весь день сидеть и думать,
что бы это значило.

А так два варианта - чего изволите-с.

Чего ж делать, если народ ломает даже преамбулу прочитать,
не то, что мануалы "как задавать вопросы".
Да еще и обидчивые все ;)

--
С уважением, LVT.


Amoeba   (2004-12-10 14:40:00) [2]

Установи строке длину равной MemoryStream.Size и далее используя процедуру Move скопируй байтовый массив из MemoryStream.Memory в свою строку. Вроде бы так. Подрорбности найдешь в справке.


OlegM   (2004-12-10 14:40:00) [3]

Спасибо всем все получилось


OlegM   (2004-12-10 14:36:00) [4]

2 Amoeba
А просто сказать трудно да в чем ошибка ? Ну не работал я раньше с потоками а щас надо и быстро


DiamondShark   (2004-12-10 14:33:00) [5]


> OlegM   (10.12.04 14:26) [4]
> Неполучается вылетает на строке TempStream.ReadBuffer

А позицию на начало после записи кто будет возвращать?

Да и вообще, странная какая-то конструкция...


Amoeba   (2004-12-10 14:30:00) [6]

Смотри у TMemoryStream также св-во Memory и далее думай и снова думай.


Суслик   (2004-12-10 14:28:00) [7]

все это хорошо, если длина не нулевая


OlegM   (2004-12-10 14:26:00) [8]

Неполучается вылетает на строке TempStream.ReadBuffer

var
 TempStream : TMemoryStream;
 S:String;
begin
 TempStream := TMemoryStream.Create;
 FlexPanel1.SaveToStream(TempStream);

 SetLength(S, TempStream.Size+1);
 TempStream.ReadBuffer(S[1], TempStream.Size);
end;


DiamondShark   (2004-12-10 13:40:00) [9]


> Leonid Troyanovsky   (10.12.04 13:26) [2]

А TStringStream тут зачем?


Leonid Troyanovsky   (2004-12-10 13:26:00) [10]


> OlegM   (10.12.04 13:14)  

> Можно ли такое сделать из переменной типа TStream присвоить
> значение переменной типа String?, а то уже весь день сижу
> и неполучается, Если да то как???? подскажите пожалуста.


TStringStream.Create(s)
SetLength(s, Stream.Size)); Stream.Read(s[1], Length(s));

--
Regards, LVT.


Smithson   (2004-12-10 13:23:00) [11]


SetLength(S, Stream.Size+1);
Stream.ReadBuffer(S[1], Stream.Size);

примерно так.


Наверх

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