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

Вниз

Работа с файлами   Найти похожие ветки 

 
BlackDel   (2006-03-16 10:58) [0]

Доброго времени суток!
Помогите, пжалста!
В Делфях есть хороший клас- TFileStream
Мне говорили, что если в него передать Handle какого-нибудь
Участка памяти, то с ним можно работать как с файлом.
Если нельзя, посаветуйте, как сохранять участок памяти(любой) на диск.


 
Fay ©   (2006-03-16 11:02) [1]

2 BlackDel   (16.03.06 10:58)
> посаветуйте, как сохранять участок памяти(любой) на диск.
WriteFile


 
TStas ©   (2006-03-16 11:33) [2]

Вообще-то класс TStream он и для файлов и для памяти и нет разницы и копировать и т. д. Глянь справку или книжку, я смотрел Фаронова.


 
BlackDel   (2006-03-17 09:38) [3]

Попробовал всё. Не помагает. Мне надо Неск-ко рисунков Записать в 1 файл
Записывает только 1 пустой байт


 
Ega23 ©   (2006-03-17 09:56) [4]


> Попробовал всё. Не помагает. Мне надо Неск-ко рисунков Записать
> в 1 файл
> Записывает только 1 пустой байт


Показывай, как пишешь.


 
BlackDel   (2006-03-25 07:41) [5]


> Показывай, как пишешь.


Где то так:
...
var h:Thandle;
f,r:Tfilestream;
i:integer;
c:char;
...
h:=image1.picture.bitmap.handle;
r:=Tfilestream.create(h);
f:=Tfilestream.create("Имя файла",fmCreate);
i:=r.read(c,1);
repeat
f.write(c,1);
until r.read(c,1)=0;
...
r.free;
f.free;
...

В итоге 1 пустой байт на диске.(За синтаксис не отвечаю, не из исходника вставлял а так набирал).


 
Старик   (2006-03-25 08:40) [6]

кхм... я делаю просто:
где-то там, в программе, у тебя объявлены такие переменные:
b1, b2, b3 : TBitmap;
j1 : TJPEGImage;
Там ты что-то с ними поделал, а потом захотелось тебе их сохранить:

procedure SaveMyPictures(FileName : TFileName)
var s : TFileStream;
begin
s := TFileStream.Create(FileName, fmCreate or fmShareDenyWrite);
b1.SaveToStream(s);
b2.SaveToStream(s);
b3.SaveToStream(s);
j1.SaveToStream(s);
s.Free;
Таким макаром ты четыре разных рисунка спихиваешь в один файл. Хотя тебе тут правильно сказали - все эти стримы всего лишь обертки над стандартным функциями WriteFile, ReadFile и иже с ними.


 
Anatoly Podgoretsky ©   (2006-03-25 09:35) [7]

TMemoryStream?


 
Старик   (2006-03-25 09:48) [8]


> Anatoly Podgoretsky ©   (25.03.06 09:35) [7]
>
> TMemoryStream?

Я имел ввиду TFileStream"ы :)


 
BlackDel   (2006-03-27 08:12) [9]

Спасиба. Любопытство удовлетворено! :)


 
BlackDel   (2006-03-27 08:12) [10]

Удалено модератором


 
balepa ©   (2006-03-27 08:14) [11]

Удалено модератором


 
BlackDel   (2006-03-29 07:43) [12]

Поторопился благодорить! Нифига не работает!!! опять 1 пустой байт!!!


 
MBo ©   (2006-03-29 08:37) [13]

Ты уж объясни, что тебе нужно сделать



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

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

Наверх




Память: 0.49 MB
Время: 0.045 c
15-1143130425
Джо
2006-03-23 19:13
2006.04.16
Exit и компания


4-1138178994
maxim161
2006-01-25 11:49
2006.04.16
Shutdown&DOS applications


15-1143423766
Fedia
2006-03-27 05:42
2006.04.16
Оформление описания структуры БД (или ГОСТ)


15-1143042463
kilonet
2006-03-22 18:47
2006.04.16
распространенность Delphi за рубежом.


15-1143028357
TStas
2006-03-22 14:52
2006.04.16
Чего почитать, чтобы понять, как винды работают?