Вниз
Скачать: CL | DM;

Нужна помощь мастеров!!!   Найти похожие ветки 

← →
Locked   (2002-04-25 07:11) [0]

Как в реестр записать файл, а потом его считать?
Что я делаю неправильно:

function WriteFile(Name: string; FileName: string): boolean;
var
S: TFileStream;
Size: integer;
begin
try
S:=TFileStream.Create(FileName, fmOpenRead);
Reg.WriteBinaryData(Name, S, S.Size);
Result:= true;
except
Result:= false;
end;
end;

function ReadFile(Name: string; FileName: string): boolean;
var
D: TFileStream;
Size: integer;
P: Pointer;
begin
try
Size:= Reg.GetDataSize(Name);
D:=TFileStream.Create(FileName, fmCreate);
Reg.ReadBinaryData(Name, D, Size);
D.Free;
Result:= true;
except
Result:= false;
end;
end;

пишет вроде нормально , а вот на
Reg.ReadBinaryData(Name, D, Size) вылетает


← →
cdaDmitriy ©   (2002-04-25 11:18) [1]

-- пишет вроде нормально , а вот на


А как ты проверял ???


← →
Coalycat ©   (2002-04-25 19:57) [2]

лучше воспользоваться Tregistry


← →
Cobalt ©   (2002-04-26 20:09) [3]

Попробуй следующий код:

function WriteFile(Name: string; FileName: string): boolean;
var
S: TFileStream;
Buf:array of byte;
Size: integer;
begin
try
S:=TFileStream.Create(FileName, fmOpenRead);
SetLength(Buf, S.Size);
S.ReadBuffer(Buf, S.Size);
Reg.WriteBinaryData(Name, Buf, S.Size);
Result:= true;
except
Result:= false;
end;
end;


Ну и соответственно читать тоже нужно в буфер

Вся фишка в том, что TFileStream - это указатель на таблицу виртуальных методов класса + поля класса (приблизительно). А сами даные TFileStream в "себе" не хранит, он только предоставляет доступ к ним через свои функции. Более подробно можно узнать в Хелпе по TFileStream и прочим потокам.



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.008 c
1-58194
PETR
2002-07-06 12:08
2002.07.18
Привет народ !


4-58372
Vovas
2002-05-18 12:47
2002.07.18
Не обновляются обои на рабочем столе под win2000.


1-58104
Cowboy
2002-07-08 17:56
2002.07.18
Динамически создать TTabSheet с TImage на нем.


14-58264
Alice
2002-06-11 11:42
2002.07.18
Нужен компонент для связи Crystal Report 7 c Delphi6.


1-58096
Юра
2002-07-05 11:44
2002.07.18
Некорректное отображение формы на разных мониторах




   Наверх