Path kısmında sadece dosya adını bulmak

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Erd_turkmen
Üye
Mesajlar: 38
Kayıt: 27 Ara 2006 03:13

Path kısmında sadece dosya adını bulmak

Mesaj gönderen Erd_turkmen »

Arkadaşlar merhabalar. Gecenin bu vaktinde arama özürlü olduğumu farkettim :roll: Forumda olduğunu biliyorum ama ne yaptımsa bulamadım :?
OpenfileDialog nesnesi ile bi dosyayı alıp başka biryere kopyalıyorum. Ancak kopyalarken dosyanın adını almam gerekiyor.
Örneğin :
C:\Documents and Settings\Desktop\a.bmp dosyasını
D:\Resimler\a.bmp dizinine kopyaladım. Aynı zamanda D:\Resimler\a.bmp adresini image nesnesinde kullanmam gerekiyo(adresi veritabanına kaydetmem için). Kullandığım kod :
(Forum yardımıyla)

Kod: Tümünü seç

procedure TForm1.Button2Click(Sender: TObject);
var
  OpStruc: TSHFileOpStruct;
  frombuf, tobuf: Array [0..128] of Char;
Begin
  OpenDialog1.Execute;
  fillChar( OpStruc, Sizeof(OpStruc), 0 );
  FillChar( frombuf, Sizeof(frombuf), 0 );
  FillChar( tobuf, Sizeof(tobuf), 0 );
  StrPCopy( frombuf, OpenDialog1.FileName );
  StrPCopy( tobuf, 'C:\Program Files\Resimler);
  With OpStruc DO Begin
    Wnd:= Handle;
    wFunc:= FO_COPY;
    pFrom:= @frombuf;
    pTo:=@tobuf;
    fFlags:= FOF_NOCONFIRMATION or FOF_RENAMEONCOLLISION;
  end;
  ShFileOperation( OpStruc );
Bu şekilde istediğim yere kopyalıyorum ama image nesnesinde o resmi gösteremiyorum. Teşekkürler
Kullanıcı avatarı
undefined
Moderator
Mesajlar: 565
Kayıt: 06 Eki 2003 12:01
Konum: Bursa
İletişim:

Mesaj gönderen undefined »

Gecenin bu saatinde gelen cevap :

Extractfilename() fonksiyonu işinizi görür.

Kolay gelsin
Erd_turkmen
Üye
Mesajlar: 38
Kayıt: 27 Ara 2006 03:13

Mesaj gönderen Erd_turkmen »

Teşekkürler hocam. Belki diğer arkadaşların işine yarayabilir diye kodu tam olarak yazayım bari :P
uses kımına---> ShellApi eklenecek

Kod: Tümünü seç

procedure TForm1.ResimalClick(Sender: TObject);
var
  OpStruc: TSHFileOpStruct;
  frombuf, tobuf: Array [0..128] of Char;
  dosyaadi: string;
Begin
  OpenDialog1.Execute;
  fillChar( OpStruc, Sizeof(OpStruc), 0 );
  FillChar( frombuf, Sizeof(frombuf), 0 );
  FillChar( tobuf, Sizeof(tobuf), 0 );
  StrPCopy( frombuf, OpenDialog1.FileName );
  StrPCopy( tobuf, 'C:\Program Files\Tasarımlar');
  With OpStruc DO Begin
    Wnd:= Handle;
    wFunc:= FO_COPY;
    pFrom:= @frombuf;
    pTo:=@tobuf;
    fFlags:= FOF_NOCONFIRMATION or FOF_RENAMEONCOLLISION;
  end;
  ShFileOperation( OpStruc );
dosyaadi:=ExtractFileName(frombuf);
Image1.Picture.LoadFromFile('C:\Program Files\Tasarımlar\' + dosyaadi);
end;
Bu kod ile örneğin masaüstündeki bir resmi kendi belirlediğimiz dizine kopyalarız ve image nesnesinde ise görünmesini sağlarız.
Kolay Gelsin
Cevapla