Adoquery Resim yolunu istenilen klasöre kaydettirmek

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
emrekilinc1984
Üye
Mesajlar: 58
Kayıt: 15 Eyl 2016 12:13

Adoquery Resim yolunu istenilen klasöre kaydettirmek

Mesaj gönderen emrekilinc1984 »

Merhaba Arkadaşlar,
Ben image nesnesine yüklediğim resim yolunu istediğim klasöre nasıl kaydettirebilirim.

Kod: Tümünü seç

unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Menus, Vcl.StdCtrls, Vcl.Buttons,
  Data.DB, Data.Win.ADODB, Vcl.ExtCtrls, Vcl.Mask, Vcl.DBCtrls, Vcl.Grids,
  Vcl.DBGrids;

type
  TForm1 = class(TForm)
    ADOQuery1: TADOQuery;
    DataSource1: TDataSource;
    OpenDialog1: TOpenDialog;
    PopupMenu1: TPopupMenu;
    ResimA1: TMenuItem;
    ResimKaydte1: TMenuItem;
    ResimSil1: TMenuItem;
    eAra: TEdit;
    DBGrid1: TDBGrid;
    Panel1: TPanel;
    Image1: TImage;
    BitBtn1: TBitBtn;
    procedure ResimA1Click(Sender: TObject);
    procedure ResimKaydte1Click(Sender: TObject);
    procedure ResimSil1Click(Sender: TObject);
    procedure eAraChange(Sender: TObject);
    procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
    procedure DBGrid1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure ADOQuery1AfterScroll(DataSet: TDataSet);
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.ADOQuery1AfterScroll(DataSet: TDataSet);
begin

  image1.Picture.LoadFromFile(adoquery1.fieldByName('resim').AsString);

end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin

  adoquery1.Edit;

end;

procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin

 // image1.Picture.LoadFromFile(adoquery1.fieldByName('resim').AsString);

end;

procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin

(*  if Key = Char(VK_RETURN) then
  begin

    adoquery1.Next;
    image1.Picture.LoadFromFile(adoquery1.fieldByName('resim').AsString);

  end;    *)
end;

procedure TForm1.eAraChange(Sender: TObject);
begin

  adoquery1.Close;
  adoquery1.SQL.Clear;
  adoquery1.SQL.Add('Select * from resim_deneme');
  adoquery1.SQL.Add('where adi like '''+eAra.Text+'%'' order By adi');
  adoquery1.Open;
  image1.Picture.LoadFromFile(adoquery1.fieldByName('resim').AsString);//veritabanında kayıtlı yoldaki resmi image1 nesnesine aktar.

end;

procedure TForm1.ResimA1Click(Sender: TObject);
begin

 if opendialog1.Execute then // eğer opendialog1 aktif ise
 begin

  image1.Picture.LoadFromFile(opendialog1.FileName); //opendialog1 deki resmi image nesnesine aktar

 end;
end;

procedure TForm1.ResimKaydte1Click(Sender: TObject);
begin

  adoQuery1.Edit;
  adoQuery1.FieldByName('resim').AsString:= opendialog1.FileName;//veritabanındaki RESIM alanına opendialog1 deki yolun ismini yaz.
  adoQuery1.Post;

end;

procedure TForm1.ResimSil1Click(Sender: TObject);
begin

  adoquery1.Edit;
  adoquery1.FieldByName('resim').AsString:='';
  adoquery1.Post;
  image1.Picture.LoadFromFile(adoquery1.fieldByName('resim').AsString);//image nesnesini güncelledik.

end;

end.
Kullanıcı avatarı
xozcanx
Üye
Mesajlar: 362
Kayıt: 05 Oca 2012 12:55

Re: Adoquery Resim yolunu istenilen klasöre kaydettirmek

Mesaj gönderen xozcanx »

Merhaba,
Ekte bulunan örneği bir inceleyin.
Dosya ekleri
resim.zip
(239.16 KiB) 54 kere indirildi
Nasibinde varsa, alırsın karıncadan bile ders, Nasibinde yoksa, bütün cihan önüne serilse, sana ters..
emrekilinc1984
Üye
Mesajlar: 58
Kayıt: 15 Eyl 2016 12:13

Re: Adoquery Resim yolunu istenilen klasöre kaydettirmek

Mesaj gönderen emrekilinc1984 »

teşekkürler hocam Allah razı olsun :)
emrekilinc1984
Üye
Mesajlar: 58
Kayıt: 15 Eyl 2016 12:13

Re: Adoquery Resim yolunu istenilen klasöre kaydettirmek

Mesaj gönderen emrekilinc1984 »

merhaba hocam örneği inceledim fakat yapamadım rica etsem bana yardımcı olurmusunuz?
Ben resimler şu path kaydetmek istiyoru mesela kaydet koduna ne yazmam gerekiyor.
[\\10.0.0.202\Resim\]
Kullanıcı avatarı
greenegitim
Üye
Mesajlar: 713
Kayıt: 28 Nis 2011 10:33
Konum: İstanbul

Re: Adoquery Resim yolunu istenilen klasöre kaydettirmek

Mesaj gönderen greenegitim »

1) Kaynak resimin yolunu bul örnek c:\resimler\resim001.jpg bunu filesource değişkenine ata
2) nereye hangi isimle kaydedilecek bunu sen belirle \\10.0.0.202\Resim\yeniresimadi.jpg bunu da filedest değişkenine ata
3) TFile.Copy(filesource , filedest) komutu ile kopyala
http://docwiki.embarcadero.com/CodeExam ... s_(Delphi)
Mücadele güzelleştirir!
Kullanıcı avatarı
xozcanx
Üye
Mesajlar: 362
Kayıt: 05 Oca 2012 12:55

Re: Adoquery Resim yolunu istenilen klasöre kaydettirmek

Mesaj gönderen xozcanx »

Merhaba,
Örneği incelemediniz sanırım! örnekte kaydet butonu Statusbarda tanımlı olan yere kayıt yapıyor.

Kod: Tümünü seç

 Image1.Picture.SaveToFile(stbar.Panels[5].Text+'\'+DOSYA_ADI_TARIH+stbar.Panels[3].Text);
stbar.Panels[5].Text burada D:\Resimler yazıyor bunu kendinize göre düzenlemeniz gerekiyor sadece.
Ağdaki konuma kayıt yapabilmeniz içinde paylaşım klasörüne yazma izni vermiş olmanız gerekiyor buna dikkat edin eğer kayıt esnasında hata alıyorsanızda aldığınız hatayı paylaşırsanız daha hızlı cevap alırsınız.
Kolay gelsin.
Nasibinde varsa, alırsın karıncadan bile ders, Nasibinde yoksa, bütün cihan önüne serilse, sana ters..
emrekilinc1984
Üye
Mesajlar: 58
Kayıt: 15 Eyl 2016 12:13

Re: Adoquery Resim yolunu istenilen klasöre kaydettirmek

Mesaj gönderen emrekilinc1984 »

teşekkürler hocam halledeceğim yardımlarınız için çok saolun.



Bu arada ben bilgisayar mühendisiyim ve 15 yıldır çekirdekten yetişme bu mesleğin içideyim delphi ile eskiden hobi olarak uğraşıyordum şimdş delphi yi tam anlamıyla öğrenmek istiyorum.
Cevapla