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

Вниз

Как считать содержимое файла чтобы загнать его в blob базы   Найти похожие ветки 

 
ilias1979   (2005-02-23 13:57) [0]

Здравствуйте, мне необходимо полностью считать содержимое любого произвольного файла будь то doc, xls, rtf, bmp, jpg в переменную, чтобы потом загнать ее в blob поле FireBird. Хотелось бы чтобы эта переменная в результате имела тип string. Так как, как я понимаю именно этому типу delphi соответствуют blob поля FireBird. Как правильнее такое реализовать и что неправильно в моем коде который выдает access violation. (сдается мне что я сильно туплю и решение гораздо проще)

Функция извлечения из файла инфы

FileReadIL(fileName:string):string;
var
f:HFILE;
FileSize,i:integer;
buffer:array of char;
stroka:string;
begin
f:=_lopen(PChar(fileName), OF_READ);
FileSize:=_llseek(f,0, FILE_END);
SetLength(buffer,FileSize);
_llseek(f, 0, FILE_BEGIN);
_lread(f,@buffer,FileSize);
_lClose(f);
stroka:="";
for i:=0 to (fileSize-1) do
  stroka:=stroka+buffer[i];
result:=stroka;
end;

собственно вызов функции и загон инфы в базу

if opendialog1.Execute then
begin  
 content:=FileReadIL(opendialog1.FileName);
 memo1.text:=content;
 ibquery1.Params[0].AsBlob:=content;
 ibdatabase1.Connected:=true;
 ibtransaction1.StartTransaction;
 ibquery1.ExecSQL;
 ibtransaction1.Commit;
end;


 
Плохиш ©   (2005-02-23 14:16) [1]

Ключевое слово для справки TBlobField, там даже примеры есть.


 
Eraser ©   (2005-02-23 14:38) [2]

ilias1979

И TBlobStream...


 
ilias1979   (2005-02-24 14:41) [3]

Спасибо, все как Вы и говорили оказалось проще
На самом деле я сильно тупил
Вместо моей длинной API функции достаточно написать одну строку и все на удивление работает
IBQuery1.Params[0].LoadFromFile(OpenDialog1.FileName, ftBlob);



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

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

Наверх




Память: 0.47 MB
Время: 0.053 c
14-1110460576
ArMellon
2005-03-10 16:16
2005.03.27
Какой по вашему мнению , лучший фаерволл


6-1106728778
ArchValentin
2005-01-26 11:39
2005.03.27
Глупый вопрос про ServerSocket...


4-1108560083
oleg_SYS
2005-02-16 16:21
2005.03.27
Menu средствами Windows API


14-1110086834
begin...end
2005-03-06 08:27
2005.03.27
С Днём рождения! 6 марта


11-1093868976
ecm
2004-08-30 16:29
2005.03.27
xHelpGen ?