View Full Version : فیلد تصویر در جدول
  
(امید)
دوشنبه 12 اسفند 1381, 12:36 عصر
برداشت شده از barnamenevis.com
__________________________________________________ __________
با سلام
دوستان، من نمی دانم به چه صورت تصویر را به جدول
اختصاص دهم
لطفا مرا راهنمائی کنید
Hamid Reza Afshar 
یک نمونه برنامه برایت مینویسم :
procedure TForm2.Button2Click(Sender: TObject);
var fs: TFileStream;  
     bs: TBlobStream;
begin
if OpenPictureDialog1.Execute then
  with Table1 do begin
   active := true;
   Insert;
   fs := TFileStream.Create(OpenPictureDialog1.FileName, fmOpenRead);
   bs := TBlobStream(CreateBlobStream(FieldByName('Graphic' ), bmWrite));
   bs.CopyFrom(fs, 0);
   bs.Free;
   fs.Free;
   Post;
end;
end;
انمیدونم چرا نمایش متن انگلیسی بد  است؟؟!!
ناصر فدائی (:nas
aminzadeh_mojtaba
پنج شنبه 21 اسفند 1382, 10:48 صبح
بابا این همه که طول و تفصیل نداره
یک فیلد نوع گرافیک توی جدولت میذاری.مثلاPIC
بعد با کلیک روی Table و اضافه کردن فایلهای به Fieldeditor روی فیلد مورد نظرت کلیک کن.
خاصیت Name  برابر Table1pic  است. فقط با یک خط دستور می تونی اون توی جدولت بذاری
(اسم فایلت رو اینجا می نویسی)Table1Pic.loadFromFile
یا علی مدد
arshia_
چهارشنبه 26 فروردین 1383, 11:20 صبح
راستی نوع تصویر مهم نیست؟؟؟
مثلا jpeg   , bmp , gif ,     ؟؟؟
احتمالا فقط اونی رو که دلفی پشتیبانی کنه میتونیم استفاده کنیم نه؟؟؟
mamadoo2002
شنبه 29 فروردین 1383, 13:26 عصر
TDBImage فقط میتونه تصاویر bmp  رو نشون بده . اگر یه شی TDBImage  داری که همه کاره باشه  فبهل مراد ، وگرنه من ترجیح میدم برای فیلد گرافیکی از ،TImage استفاده کنم . البته یه نمه کد نویسی داره.
procedure TForm1.InputImageClick(Sender: TObject);
begin
   CDS.Append;
   CDSimagetype.AsString := extractfileext(OD.FileName);
   CDSPicture.LoadFromFile(OD.FileName);
    CDS.Post;
end;
procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
var
  Stream: TStream;
  JPEGImage : TJPEGImage;
  Ext : String;
begin
if (field = nil) or (field = CDSPicture) then
 begin
  if CDSPicture.asstring <> '' then
   begin
    Stream := CDS.CreateBlobStream(CDSPicture, bmRead);
    try
     Ext := uppercase(CDSimagetype.AsString);
     if Ext = '.BMP' then
       Image1.Picture.Bitmap.LoadFromStream(Stream)
     else if Ext = '.JPG' then
       begin
         JPEGImage := TJPEGImage.Create;
         try
          JPEGImage.LoadFromStream(Stream);
          Image1.Picture.Assign(JPEGImage);
         finally
          JPEGImage.Free;
         end;
       end;
    finally
      Stream.Free;
    end;
   end
  else
    Image1.Picture := nil;
 end;
end;
کد بالا ضمن نمایش تصویر در TImage  فرمت تصویر  را هم  در فیلد imagetype  نشان میدهد.
shima_rah
یک شنبه 15 آبان 1384, 12:03 عصر
سلام به همگی من تازه واردم  تو رو خدا کمک کنین
من همه اینکارارو انجام دادم 
ولی توی این خط JPEGImage : TJPEGImage;
error می ده باید چیکار کنم . ممنون می شم یکی جواب بده
mohsen62
چهارشنبه 30 آذر 1384, 01:29 صبح
برای ذخیره یک تصویر jpg در جدول پارادوکس ابتدا باید یک فیلد از نوع OLE در جدول ایجاد کنی و بعد
این گزینه را در بخش uses اضافه کن
uses
  jpeg;
حالا برای ذخیره تصویر jpg در بانک پارادوکس از کدهای زیر استفاده کن
var
   FileStream : TFileStream;
   BlobStream: TBlobStream;
begin
  table1.TableName:='data\picture.db';
  table1.Open;
  table1.append;
  FileStream := TFileStream.Create('fire.jpg', fmOpenRead);
  BlobStream := TBlobStream.Create(Table1.FieldByName('pic') as TBlobField,bmWrite);
  BlobStream.Seek(0,soFromBeginning);
  BlobStream.Truncate;
  BlobStream.CopyFrom(FileStream,FileStream.Size);
  FileStream.Free;
  BlobStream.Free;
  table1.Post;
  table1.Close;
end;
و برای بارگیری فایل jpg از داخل بانک اطلاعاتی از این کد ها استفاده کن
var
    FileStream : TFileStream;
    BlobStream : TBlobStream;
    FileName: String;
begin
 table1.TableName:='data\picture.db';
 table1.Open;
 Image1.Picture.Assign(nil);
 BlobStream := TBlobStream.Create(Table1.FieldByName('pic') as TBlobField, bmRead);
 if BlobStream.Size =0 then begin
   BlobStream.Free;
   Exit;
 end;
// if FileName <> '' then DeleteFile(FileName);
 FileName := 'e:\Img.jpg';
 FileStream := TFileStream.Create(FileName, fmCreate or fmOpenWrite);
 FileStream.CopyFrom(BlobStream,BlobStream.Size);
 FileStream.Free;
 BlobStream.Free;
 Image1.Picture.LoadFromFile('img.jpg');
 :تشویق:      :چشمک:
aaaaaaa
جمعه 18 فروردین 1385, 01:23 صبح
دمتون گرم من از صبح رو این دیتابیس کلنجار می رفتم
(امید)
شنبه 30 اردیبهشت 1385, 22:20 عصر
http://www.1padideh.com/index_files/Page2609.htm
babak869
پنج شنبه 21 دی 1385, 23:57 عصر
از نمونه برنامه ای که در این آدرس هست میتونید استفاده کنید :
http://Delphi-Magic.com/source.php
موفق باشید
حرفه ای
دوشنبه 25 دی 1385, 09:36 صبح
من از کامپوننت express Quauntum Gride استفاده می کنم 
خیلی خیلی توپه
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.