Главная страница
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.052 c
14-1109955031
Jeer
2005-03-04 19:50
2005.03.27
Эквилибриум


4-1108375621
romariosp
2005-02-14 13:07
2005.03.27
Изменение шрифта в редакторе чужого приложения


3-1109245156
_1
2005-02-24 14:39
2005.03.27
Проблема со вставкой данных в базу (dbExpress)


3-1109168158
Dyusha
2005-02-23 17:15
2005.03.27
ADOQuery и QReport - создание отчета


1-1110547461
Zilog
2005-03-11 16:24
2005.03.27
Можно ли писать приложения для Win CE .Net в среде Dlelphi 2005?