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

Вниз

TFileStream и TMemoryStream   Найти похожие ветки 

 
Anatoly P   (2002-10-23 15:11) [0]

Хочу записать значение ms(TMemoryStream) в файл, а потом извлечь.

Запись:
var
FS:TFileStream;
ms:TMemoryStream;
ii:integer;
.........
fs:=TFileStream.Create("c:\111111.fff",fmCreate);

ms:=TMemoryStream.Create;
.....

ii:=ms.Size;
fs.WriteBuffer(ii,sizeof(ii));// пишу длину ms
ms.Position:=0;
fs.WriteBuffer(pointer(ms)^,ms.Size);// пишу саму ms

ms.Free;
fs.Free;

А прочитать не могу, как лечить?
fs:=TFileStream.Create("c:\111111.fff",fmOpenRead);
fs.ReadBuffer(ii,sizeof(ii));
ms2:=TMemoryStream.Create;
// ms2.Position:=0;
fs.ReadBuffer(ms2 ,ii);/// ошибка
......
ms.free;
fs.Free;

Не мешало бы проверить и запись, может и там ошибки


 
MBo ©   (2002-10-23 15:22) [1]

> fs.WriteBuffer(pointer(ms)^,ms.Size);// пишу саму ms
это ошибка
CopyFrom используй

>fs.ReadBuffer(ms2 ,ii);///
И здесь тоже


 
Демонов Е.В. ©   (2002-10-23 15:25) [2]

Здается мне что здесь что то не то
в
fs.WriteBuffer(pointer(ms)^,ms.Size);
и
fs.ReadBuffer(ms2 ,ii)

??? Хотя



 
MBo ©   (2002-10-23 15:26) [3]

Кстати, TMemoryStream.LoadFromFile и SaveToFile
не будет достаточно?


 
Skier ©   (2002-10-23 15:28) [4]

>Anatoly P
Если ты объяснишь конечную цель твоего кода, то
помогать тебе будет легче...


 
Anatoly P   (2002-10-23 16:17) [5]

Cпасибо MBo © - заработало
>>Skier © - это для хранения нескольких RichText в одном файле



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

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

Наверх




Память: 0.47 MB
Время: 0.026 c
6-11381
StAL
2002-08-29 15:59
2002.11.04
Монитор трафика


1-11267
Stocker!
2002-10-22 12:24
2002.11.04
Цветная кнопка TSpeedButton и иже с ними


8-11338
Dima-cool
2002-07-07 21:20
2002.11.04
Как мне заставит MediaPlayer играть Mpeg4


4-11570
NikolaB
2002-09-21 12:05
2002.11.04
Kak mojno sdelat okno, prikleivaiusteese do granicah desktopa?


1-11140
:)
2002-10-24 12:09
2002.11.04
i need help ... дочерные окна