Delphi OpenDialog Bileşeni
15 Aralık 2010 Çarşamba 19:42   Kadir Aba
OpenDialog bileşeni Dialogs paletinde bulunan bileşenlerden birisidir. Tipi TOpenDialog’tur. Amacı kullanıcıya bir veya daha fazla dosya seçtirmektir. Birçok programda gördüğümüz aç komutundan sonra gelen “Aç” ekranını bu bileşen sayesinde gerçekleştirebiliriz. OpenDialog bileşeninin Özellikleri OpenDialog penceresini kullanıcıya göstermeden önce bazı ayarlamalar yapmak gerekebilir. Bu ayarları tasarım esnasında veya kod kullanarak runtimeda da gerçekleştirebiliriz.
 
OpenDialog bileşeni Dialogs paletinde bulunan bileşenlerden birisidir. Tipi TOpenDialog’tur. Amacı kullanıcıya bir veya daha fazla dosya seçtirmektir. Birçok programda gördüğümüz aç komutundan sonra gelen “Aç” ekranını bu bileşen sayesinde gerçekleştirebiliriz. OpenDialog bileşeninin Özellikleri OpenDialog penceresini kullanıcıya göstermeden önce bazı ayarlamalar yapmak gerekebilir. Bu ayarları tasarım esnasında veya kod kullanarak runtimeda da gerçekleştirebiliriz. OpenDialog Bileşeni Title Özellği: Title özelliği açılan pencerenin başlığını belirlemek için kullanılır.
    OpenDialog1.Title := 'Dosya Seçiniz';
FileName Özelliği: Pencere açılırken varsayılan bir dosyanın seçili gelmesini istiyorsak FileName alanına dosya adı yazılır. Eğer FileName özelliği boş bırakılır ise açılan penceredeki dosya adı alanı boş gelecektir. Kullanıcı açılan pencereden bir dosya seçip tamam tuşuna bastığı zaman FileName özelliği bize dosyanın tam yolunu verir. Filter Özelliği: Bu özellik sayesinde OpenDialog kullanılarak hangi tipteki dosyaların görüntüleneceğini ve seçilebileceğini belirleriz. Belirlediğimiz tipler açılan pencerenin alt tarafında ComboBox şeklinde görüntülenir. OpenDialog bileşeninin filter özelliğini farklı şekillerde oluşturabiliriz.
    OpenDialog1.Filter := 'Sadece text dosyalar|*.txt';
Bu kullanımda dosya seçme ekranındaki dosya türü alanında “Sadece text dosyalar” yazısından oluşan tek bir seçenek vardır. Ve OpenDialog otomatik olarak “txt” uzantısına sahip olan dosyaları gösterecektir.
OpenDialog1.Filter := 'Word dosyaları ve text dosyalar|*.doc;*.docx;*.txt';
Bu kullanımda yine bir tek seçenek vardır. Seçenek “Word dosyaları ve text dosyalar” olarak görünecektir. Tek bir seçenek olmasına rağmen OpenDialog birden fazla uzantıyı destekleyecektir. Destekleyeceği uzantılar doc, docx ve txt’dir.
OpenDialog1.Filter := 'Text Dosyalar|*.txt|Word (2003 ve öncesi)|*.doc|Word (2007 ve sonrası)|*.docx';
Yukarıdaki kullanımda ise kullanıcının karşına üç tane seçenek çıkar.
  1. Text Dosyalar
  2. Word (2003 ve öncesi)
  3. Word (2007 ve sonrası)
Kullanıcı seçeneklerden hangisini belirlerse OpenDialog dosyaları o uzantıya göre filtreleyecektir. FilterIndex Özelliği: Eğer OpenDialog penceresine birden fazla dosya türü eklendiyse FilterIndex özelliği kullanılarak dosya türlerinden birinin ön tanımlı olarak gelmesi sağlanabilir. InitialDir Özelliği: OpenDialog penceresinin başlangıç klasörünü belirler. Çoklu Dosya Seçimi: OpenDialog ile normal şartlarda aynı anda sadece tek bir dosya seçebilirsiniz. Eğer birden fazla dosya seçmek isterseniz OpenDialog bileşeninin ofAllowMultiSelect özelliğinin true olarak ayarlanmış olması gerekir. OpenDialog Çoklu Dosya Seçme Execute Metodu: OpenDialog pencerisini açmak için execute komutunun çalıştırılması gerekir. Komut çalıştırıldıktan sonra OpenDialog penceresinde Tamam tuşuna basılırsa bileşen true değerini gönderir, pencere açıldıktan sonra İptal butonuna basılırsa bileşen false değerini gönderir.
    if OpenDialog1.Execute then // opendialog penceresi açıldı
    begin
        // tamam tuşuna basıldı
    end else
    begin
        // iptal tuşuna basıldı
    end;
Uygulama: OpenDialog kullanılarak seçilen dosyaları listboxta gösteren bir program. OpenDialog ile çoklu veya tekli seçme seçeneği program çalışırken ayarlanabilir durumdadır. Kullanıcı checkboxı işaretlerse çoklu seçme aktif olacak, işareti kaldırırsa çoklu seçme iptal edilecek. Çoklu Dosya Seçme Uygulaması Programın kodları aşağıdaki gibidir. OpenDialog ile dosya seçme uygulamasını indirmek için tıklayınız
procedure TForm1.Button1Click(Sender: TObject);
    var i : Integer;
begin
    if CheckBox1.Checked then // çoklu seçmeye ayarı
    OpenDialog1.Options := OpenDialog1.Options + [ofAllowMultiSelect] else  //seçeneklere çoklu seçmeyi ekliyor
    OpenDialog1.Options := OpenDialog1.Options - [ofAllowMultiSelect] ; //seçeneklerden çoklu seçmeyi kaldırıyor
    if OpenDialog1.Execute then //openDialog gösterildi ve kullanıcı tamama bastı
    begin
        for i := 0 to OpenDialog1.Files.Count - 1 do //birden fazla dosya seçebileceği için seçilen tüm dosyaları tarayıp listboxa ekledi
            ListBox1.Items.Add(OpenDialog1.Files[i])
    end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
    ListBox1.Items.Clear; //listbox temizlendi
end;
OpenDialog ile dosya seçme uygulamasını indirmek için tıklayınız Uygulama: Memo, open dialog ve save dialog kullanarak notepad benzeri program yapımı. Program sadece dosya açmak, düzenlemek ve kaydetmek amaçlıdır. Programda biçimlendirme işlemlerinin yapılabilmesi için Memo bileşeni yerine RichEdit kullanılmalıdır. Yazı Editörü Uygulaması Uygulamanın kodları aşağıdaki gibidir. OpenDialog ile notepad benzeri program olan yazı editörü uygulamasını indirmek için tıklayınız
var fn : String;

procedure TForm1.FormCreate(Sender: TObject);
begin
        fn := '';
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
        if OpenDialog1.Execute then
        begin
                memo1.Lines.LoadFromFile(OpenDialog1.FileName);
                fn := OpenDialog1.FileName;
        end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
        if fn = '' then
        begin
                if SaveDialog1.Execute then
                        Memo1.Lines.SaveToFile(SaveDialog1.FileName);
        end else
        begin
                Memo1.Lines.SaveToFile(fn);
        end;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
        if SaveDialog1.Execute then
                Memo1.Lines.SaveToFile(SaveDialog1.FileName);
end;
OpenDialog ile notepad benzeri program olan yazı editörü uygulamasını indirmek için tıklayınız




Yazı Etiketleri



Facebook Yorumlar



Yorumlar



Benzer Yazıları





Etiket Bulutu
bilgisayar   temel bilgisayar   temel bilgisayar konuları   delphi   mesaj   showmessage   örnek   ShowMessageFmt   Label   Edit   Rastgele Sayı Üretmek   Random   Randomize   Button   TButton   Memo   TMemo   ListBox   ComboBox   TComboBox   Açılır Liste   delphi;tip dönüştürme;StrToInt;IntToStr   StrToInrDef   tip dönüştürme   StrToInt   IntToStr   StrToFloat   FloatToStr   StrToFloatDef   DateToStr   StrToDate   StrToDateDef   DateTimeToStr   StrToDateTime   StrToDateTimeDef   TimeToStr   StrToTime   uygulama   Oyun   Taş Kağıt Makas Oyunu   Image   timer   OpenDialog   SaveDialog   notepad   Mesleki İngilizce   TELEPHONING & E-MAIL   TELEPHONING   E-MAIL   Turizm Otel   Turizm Seyahat   IF TEST   Air travel - Vocabulary   “Slumdog Millionaire” Questions   Email   Final Sınavı   Conditional Sentences   First Conditional   Second Conditional   Third Conditional   air   travel   Slumdog Millionaire   Turizm Seyahat Bölümü Final Sınavı Konuları   Telephonig & Email   Ticari Matematik   Matematik   Turizm ve Seyahat işletmeciliği   Turizm ve Otel İşletmeciği   İngilizce ı   Office Word 2007   Algoritma   Algotirma   Sorular ve Çözümleri   Görsel Programlama   Sorular ve Cevapları   Soru ve Cevapları   Veri Tabanı   SQL   DELETE   UPDATE   SELECT   Mali Tablolar Analizi   skit   Excel 2007   Excel Fonksiyonları   Excel   Excel Uygulamaları   Veritabanı   ADO   ADOConnection   Access   Microsoft Access   c#   checkbox   radiobutton   mesaj işlemleri   pascal   write   writeln   read   readln   tamsayı   ondalıklı sayı   sayı biçimlendirme   if   if-then-else   karşılaştırma komutları   programlama temelleri   asp.net   repeater   onMouseMove   GetTickCount   değişken   if-else   döngü   for   for döngüsü   radiogroup   panel   groupbox   scrollbar   trackbar   case of   Vize Sınavı   TextBox   C# Örnekleri   PasswordChar   while-do döngüsü   Delphi Konsol   sayı tahmin oyunu   Dataset   Winforms   mainmenu   popupmenu   OpenPictureDialog   ColorDialog   FontDialog   dizi   array   Record Tip   Procedure   Function   sınav   adotable   datasource   dbgrid   notepad   paint   Genel