bir dizindeki dosyları başka dizindeki yere kopylaama

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
aydogan46
Üye
Mesajlar: 115
Kayıt: 11 Haz 2003 02:59
Konum: ankara
İletişim:

bir dizindeki dosyları başka dizindeki yere kopylaama

Mesaj gönderen aydogan46 »

merhabalar;
button1.onclick kısmına oyle bir kod yazmalıyım ki
c:\deneme dizinini ve alt klasor ve dosyaları d:\deneme aynen kopyalasın.
yardımlarınız için teşekkürler. kolay gele
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7601
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Merhaba,

bu işi yapan bir örnek gönderiyorum. uses kısmına Shellapi ekle.

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
var
  OpStruc: TSHFileOpStruct;
  frombuf, tobuf: Array [0..128] of Char;
Begin
  {The fillchars make sure the parameters are terminated by at least
   two #0 characters, this is required since each parameter can hold
   a list of zero-terminated strings, the extra #0 terminates the
   list. }
  fillChar( OpStruc, Sizeof(OpStruc), 0 );
  FillChar( frombuf, Sizeof(frombuf), 0 );
  FillChar( tobuf, Sizeof(tobuf), 0 );
  StrPCopy( frombuf, 'c:\deneme\*.*' );
  StrPCopy( tobuf, 'd:\deneme' );
  With OpStruc DO Begin
    Wnd:= Handle;
    wFunc:= FO_COPY;
    pFrom:= @frombuf;
    pTo:=@tobuf;
    fFlags:= FOF_NOCONFIRMATION or FOF_RENAMEONCOLLISION;
  end;
  ShFileOperation( OpStruc );
end;
Kolay gelsin.
aydogan46
Üye
Mesajlar: 115
Kayıt: 11 Haz 2003 02:59
Konum: ankara
İletişim:

Mesaj gönderen aydogan46 »

hocam çok teşekkur ederim. Çalışmalarınızda zihin açıklığı diliyorum
Kullanıcı avatarı
muskut
Kıdemli Üye
Mesajlar: 1118
Kayıt: 22 Ara 2003 09:50
Konum: Sandalyemden
İletişim:

Mesaj gönderen muskut »

Adminimizin yollamış olduğu kodla ilgili bir sorum olacaktı. Şimdi ben bu kodu Paradox dosyalarını yedeklemek için kullanıyorum. Yedeklememi hep aynı dizine yapıyorum. Ama yaptığım her kopyalamada "Üzerine yazma işlemi" yapmak yerine, kopyalanan dosya isimlerinin başına "Kopya(1)..." gibi bir ibare ekleyerek işlemi gerçekliyor. Ben yaptığım kopyalamanın üzerine yazmasını istiyorum. Bu konuda ne önerirsiniz?

selametle...
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7601
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

fFlags:= FOF_NOCONFIRMATION or FOF_RENAMEONCOLLISION;
bu kısımda o tip ayarlar yapılıyor. FOF_RENAMEONCOLLISION eğer dosya varsa dediğin şekilde farklı bir isim vererek kopyalıyor. or ve sonrasını silip bir dene. Ayrıca diğer flagleri de inceleyerek çeşitli şeyler yapabilirsin.

Kolay gelsin.
Kullanıcı avatarı
muskut
Kıdemli Üye
Mesajlar: 1118
Kayıt: 22 Ara 2003 09:50
Konum: Sandalyemden
İletişim:

Mesaj gönderen muskut »

Eyvallah,

Elinize dilinize sağlık. Hallettim.
aXéNT

Re: bir dizindeki dosyları başka dizindeki yere kopylaama

Mesaj gönderen aXéNT »

Hocam ben denedim sanki üzerine yazıyormuş gibi görünüyor ama hiç bişi yapmıyor. Orda o dosya varsa pas geçiyo :S
Cevapla