PDA

View Full Version : فیلد تصویر در جدول



(امید)
دوشنبه 12 اسفند 1381, 11: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, 09:48 صبح
بابا این همه که طول و تفصیل نداره
یک فیلد نوع گرافیک توی جدولت میذاری.مثلاPIC
بعد با کلیک روی Table و اضافه کردن فایلهای به Fieldeditor روی فیلد مورد نظرت کلیک کن.
خاصیت Name برابر Table1pic است. فقط با یک خط دستور می تونی اون توی جدولت بذاری
(اسم فایلت رو اینجا می نویسی)Table1Pic.loadFromFile
یا علی مدد

arshia_
چهارشنبه 26 فروردین 1383, 10:20 صبح
راستی نوع تصویر مهم نیست؟؟؟
مثلا jpeg , bmp , gif , ؟؟؟
احتمالا فقط اونی رو که دلفی پشتیبانی کنه میتونیم استفاده کنیم نه؟؟؟

mamadoo2002
شنبه 29 فروردین 1383, 12: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, 11:03 صبح
سلام به همگی من تازه واردم تو رو خدا کمک کنین
من همه اینکارارو انجام دادم
ولی توی این خط JPEGImage : TJPEGImage;
error می ده باید چیکار کنم . ممنون می شم یکی جواب بده

mohsen62
چهارشنبه 30 آذر 1384, 00: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, 00:23 صبح
دمتون گرم من از صبح رو این دیتابیس کلنجار می رفتم

(امید)
شنبه 30 اردیبهشت 1385, 21:20 عصر
http://www.1padideh.com/index_files/Page2609.htm

babak869
پنج شنبه 21 دی 1385, 22:57 عصر
از نمونه برنامه ای که در این آدرس هست میتونید استفاده کنید :
http://Delphi-Magic.com/source.php
موفق باشید

حرفه ای
دوشنبه 25 دی 1385, 08:36 صبح
من از کامپوننت express Quauntum Gride استفاده می کنم

خیلی خیلی توپه