Open Dialog Sorun

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
KuTi
Üye
Mesajlar: 11
Kayıt: 01 Oca 2009 05:28

Open Dialog Sorun

Mesaj gönderen KuTi »

Arkadaşlar idftp kullanarak herhangi bir dosyayı upload etmek istiyorum.Dosyanın yolunu yazmak için ise open dialog kullanıyorum fakat open dialog acıldıkdan sonra dosya secmeyıp iptal butonuna basarsam hata alıyorum.

Bunu çözmenın bı yolu var mıdır ?
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: Open Dialog Sorun

Mesaj gönderen sabanakman »

Kod: Tümünü seç

  if OpenDialog1.Execute then begin
    //dosya seçildi işlemi burada yap
  end;
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
KuTi
Üye
Mesajlar: 11
Kayıt: 01 Oca 2009 05:28

Re: Open Dialog Sorun

Mesaj gönderen KuTi »

sabanakman yazdı:

Kod: Tümünü seç

  if OpenDialog1.Execute then begin
    //dosya seçildi işlemi burada yap
  end;

Bende bu şekilde yaptım zaten.

Kod: Tümünü seç

if opendialog1.Execute then
 begin
  y:=opendialog1.FileName;
  end;
  idftp1.Put(y,'asd.dat',true);
  idftp1.Disconnect;
Eger dosya seçilmesse "Cannot open file" hatası alıyorum.
emin_as
Üye
Mesajlar: 559
Kayıt: 01 Eki 2008 10:05
Konum: izmir
İletişim:

Re: Open Dialog Sorun

Mesaj gönderen emin_as »

Aşagıdaki şekilde düzelt

Kod: Tümünü seç

if opendialog1.Execute then
begin
  y:=opendialog1.FileName;
  idftp1.Put(y,'asd.dat',true); // eger dosya seçildiyse gönderilecek
 end;
 idftp1.Disconnect;
KuTi
Üye
Mesajlar: 11
Kayıt: 01 Oca 2009 05:28

Re: Open Dialog Sorun

Mesaj gönderen KuTi »

emin_as yazdı:Aşagıdaki şekilde düzelt

Kod: Tümünü seç

if opendialog1.Execute then
begin
  y:=opendialog1.FileName;
  idftp1.Put(y,'asd.dat',true); // eger dosya seçildiyse gönderilecek
 end;
 idftp1.Disconnect;
Bu şekilde yaptım ama şöyle bi sorun çıktı şimdi dosya seçilmese bile işlem devam ediyo.Ben şöyle bir kod yazmıştım

Kod: Tümünü seç

if opendialog1.Execute then
begin
  y:=opendialog1.FileName;
  idftp1.Put(y,'asd.dat',true); // eger dosya seçildiyse gönderilecek
 end;
showmessage('Gönderiliyor...');
 idftp1.Disconnect;
şimdi dosya seçilmese bile kodlar işliyo.Dosyanın seçilmediği kullanıca haber verip, seçilmediği takdirde yeniden seçmesi için kaldıgı yerden devam etmesini salıyabilir miyim ?
emin_as
Üye
Mesajlar: 559
Kayıt: 01 Eki 2008 10:05
Konum: izmir
İletişim:

Re: Open Dialog Sorun

Mesaj gönderen emin_as »

Kod: Tümünü seç

if opendialog1.execute then
begin
  // kullancı dosya seçti
  idhtp1.connect;
  ....
 idhtp1.disconnect;
  showmessage('dosya gönderildi.');
end else
begin
  showmessage('Dosya seçilmedi.');
end;
Döngü yaratıp, seçilene kadar kullanıcıyı döngü içinde tutabilirsin, ama bu iyi bir teknik degildir. Kullanıcı bu bölüme öylesine gelmiş olabilir veya dosya göndermekten vazgeçebilir. Genel ilke olarak; kullanıcı bir işlemi yapmaktan vazgeçip, iptal edebilmelidir. Kullanıcıyı mutlaka dosya gönder diye zorlamak dogru bir yaklaşım değildir.

if then else kontrolu üzerine biraz çalışma yap veya delphi ile iligli biraz kitap oku.If then else programcılıgın temelidir, eğer bunu iyi anlayamazsan, zaten program yazamazsın.
Cevapla