Save Dialog

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
CinAnka
Üye
Mesajlar: 84
Kayıt: 03 Nis 2006 11:27
Konum: İstanbul

Save Dialog

Mesaj gönderen CinAnka »

Merhaba;

Hazirladiğim program, veritabanında olan verileri 10 ayrı excel dökümanına aktarıyor, ve bu excel dokumanlarını açıyor. yani butona bastığımda, ilgili tablo verileri ile açılan 10 tane excel dokumanı var elimde. benim istediğimse, butona basınca, savedialog açılması ve, ben dizin seçimi yapınca, arka arkaya bu 10 excel dokumanını otomatik olarak belirttiğim dizine kaydetmesi. Bunun için aşağıdaki kodu yazdım ama hem kaydetmedi, hem de list index hatası verdi bana, kodum:

Kod: Tümünü seç

var
  saveDialog : TSaveDialog;    // Save dialog variable
begin
  saveDialog := TSaveDialog.Create(self);
  saveDialog.Title := 'Excel verileri';
  saveDialog.InitialDir := GetCurrentDir;
  saveDialog.Filter := Excel|*.xls|Word file|*.doc';
  saveDialog.DefaultExt := 'xls;
  saveDialog.FilterIndex := 1;
  if saveDialog.Execute
  then ShowMessage('File : '+saveDialog.FileName)
  else ShowMessage('Save file was cancelled');

  // Free up the dialog
  saveDialog.Free;
end;
Ama kod birşey kaydetmiyor :(

Teşekkür ederim
Güçlü olan haklı değil, haklı olan güçlüdür!
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Mesaj gönderen mkysoft »

save diyalog da dosya adı seçmezsen geçerli olmaz. Bunun yerine folderdialog kullanmanı tavsiye ederim.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
kaydetmemesi normal çünkü kaydedecek bi kod yazmamışsınız.
save dialog kaydetmez sadece kaydedeceğiniz dosyayı ve yerini seçmenizi sağlar.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
CinAnka
Üye
Mesajlar: 84
Kayıt: 03 Nis 2006 11:27
Konum: İstanbul

Mesaj gönderen CinAnka »

ben delphi6 kullanıyorum ve bende folderdialog diye bir bileşen yok. peki ama bu folder dialogun kullanımı nasıl? hiç örnek kod bulamadım bu konu ile alakalı...
Güçlü olan haklı değil, haklı olan güçlüdür!
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Mesaj gönderen mkysoft »

Kod: Tümünü seç

var
DirSelected: string;
begin
  if SelectDirectory('Select a folder:', 'D:\Delphi', DirSelected) then
  begin
    ..
    ..
  end;
end;
uses kısmına ExtCtrls,FileCtrl eklemeniz gerekebilir.
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Şöyle yapabilirsin;

Kod: Tümünü seç

  with TSaveDialog.Create(Application) do
  begin
    Title := 'Excel verileri';
    Filter := 'Excel|*.xls|Word file|*.doc';
    DefaultExt := 'xls';
    FilterIndex := 1;
    InitialDir := GetCurrentDir;
    if Execute then // SaveDialog penceresini aç, kaydet e basıldıysa..
    begin
      if (not FileExists(FileName)) 
         or (Application.MessageBox(PChar('Dosya mevcut. Üzerine yazılsın mı?'), 'Onay',
      mb_IconQuestion + mb_YesNo + mb_DefButton2) = idYes) then
//        Memo1.Lines.SaveToFile(FileName); // gibi burada kaydetme kısmı olacak.
    end;
    Free;
  end;
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Cevapla