نمایش نتایج 1 تا 10 از 10

نام تاپیک: فیلد تصویر در جدول

  1. #1

    فیلد تصویر در جدول

    برداشت شده از 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

  2. #2
    بابا این همه که طول و تفصیل نداره
    یک فیلد نوع گرافیک توی جدولت میذاری.مثلاPIC
    بعد با کلیک روی Table و اضافه کردن فایلهای به Fieldeditor روی فیلد مورد نظرت کلیک کن.
    خاصیت Name برابر Table1pic است. فقط با یک خط دستور می تونی اون توی جدولت بذاری
    (اسم فایلت رو اینجا می نویسی)Table1Pic.loadFromFile
    یا علی مدد

  3. #3
    کاربر دائمی آواتار arshia_
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    ایران-شهر فرزانگان( بروجرد )
    پست
    1,226
    راستی نوع تصویر مهم نیست؟؟؟
    مثلا jpeg , bmp , gif , ؟؟؟
    احتمالا فقط اونی رو که دلفی پشتیبانی کنه میتونیم استفاده کنیم نه؟؟؟

  4. #4
    کاربر جدید
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    21
    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&#4 1;
    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 نشان میدهد.

  5. #5
    سلام به همگی من تازه واردم تو رو خدا کمک کنین
    من همه اینکارارو انجام دادم
    ولی توی این خط JPEGImage : TJPEGImage;
    error می ده باید چیکار کنم . ممنون می شم یکی جواب بده

  6. #6
    برای ذخیره یک تصویر 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');

    آخرین ویرایش به وسیله mohsen62 : چهارشنبه 30 آذر 1384 در 00:37 صبح

  7. #7
    دمتون گرم من از صبح رو این دیتابیس کلنجار می رفتم

  8. #8

  9. #9
    کاربر دائمی آواتار babak869
    تاریخ عضویت
    اسفند 1383
    محل زندگی
    کرمانشاه
    پست
    1,251
    از نمونه برنامه ای که در این آدرس هست میتونید استفاده کنید :
    http://Delphi-Magic.com/source.php
    موفق باشید

  10. #10
    من از کامپوننت express Quauntum Gride استفاده می کنم

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

تاپیک های مشابه

  1. خطا در هنگام اضافه کردن فیلد جدید به جدول
    نوشته شده توسط Babak-Aghili در بخش برنامه نویسی در Delphi
    پاسخ: 3
    آخرین پست: چهارشنبه 15 تیر 1384, 01:34 صبح
  2. جمع دو فیلد از دو جدول مجزا با کلیدی مشترک
    نوشته شده توسط yazdan در بخش SQL Server
    پاسخ: 7
    آخرین پست: یک شنبه 15 خرداد 1384, 14:48 عصر
  3. بازگرداندن نام فیلد ( و یا جدول)
    نوشته شده توسط Kamran.K در بخش SQL Server
    پاسخ: 10
    آخرین پست: دوشنبه 09 آذر 1383, 10:03 صبح
  4. شماره فیلد جاری یک جدول فیلتر شده
    نوشته شده توسط فریدی در بخش برنامه نویسی در Delphi
    پاسخ: 10
    آخرین پست: پنج شنبه 05 شهریور 1383, 18:15 عصر
  5. قرار دادن دو فیلد از دو جدول در DBGrid
    نوشته شده توسط aminzadeh_mojtaba در بخش برنامه نویسی در Delphi
    پاسخ: 5
    آخرین پست: جمعه 23 مرداد 1383, 00:37 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •