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

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

Чтение из TMemoryStream..... [D6, WinXP]


SeNtiMeL ©   (2003-02-11 21:08:00) 

Я никак не разберусь с чтением из TMemoryStream.

Для примера я написал вот такой, код, но он не работает...
Просьба укажите ошибку внем !!!


procedure TForm1.Button1Click(Sender: TObject);
var
nfl,fl : TMemoryStream;
Buf : Pchar;
copy : Boolean;
lsize : integer;
begin
fl := TMemoryStream.Create;
fl.LoadFromFile("f:\test.mp3");
fl.Position:=0;
nfl := TMemoryStream.Create;
nfl.Position:=0;
copy:=True;

While Copy = true do
begin

lsize:=Min(fl.Size-nfl.Position,512);
GetMem(Buf,Lsize);
if lsize <> 0 then
begin
fl.Read(Buf,lsize);
//Application.ProcessMessages;
nfl.Write(Buf,Lsize);
end
else Copy := False;
FreeMem(Buf,Lsize);
end;

fl.Free;
nfl.SaveToFile("f:\test2.mp3");
nfl.Free;
buf:="";

end;




SeNtiMeL   (2003-02-11 21:20:00) [1]

Просьба не беспокоится я уже сам разобрался :)
Ошибка заключалась в том, что при Read и Write я должен был ссылатся на источник Buf...
нужно было делать так:


fl.Read(Buf^,lsize);
//Application.ProcessMessages;
nfl.Write(Buf^,Lsize);




Наверх

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