![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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);
примерно так.