Delphi Ders 7 Asl Ergn Open Dialog Amac





















- Slides: 21
Delphi Ders 7 Aslı Ergün
Open Dialog • 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. • Title Özellği: Title özelliği açılan pencerenin başlığını belirlemek için kullanılır. Open. Dialog 1. Title : = 'Dosya Seçiniz'; • File. Name Özelliği: Pencere açılırken varsayılan bir dosyanın seçili gelmesini istiyorsak File. Name alanına dosya adı yazılır. Eğer File. Name ö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 File. Name özelliği bize dosyanın tam yolunu verir. • Filter Özelliği: Bu özellik sayesinde Open. Dialog kullanılarak hangi tipteki dosyaların görüntüleneceğini ve seçilebileceğini belirleriz. • Open. Dialog 1. Filter : = 'Sadece text dosyalar|*. txt'; • Open. Dialog 1. Filter : = 'Word dosyaları ve text dosyalar|*. doc; *. docx; *. txt';
• Open. Dialog 1. Filter : = 'Text Dosyalar|*. txt|Word (2003 ve öncesi)|*. doc|Word (2007 ve sonrası)|*. docx';
• Execute Metodu: Open. Dialog pencerisini açmak için execute komutunun çalıştırılması gerekir. Komut çalıştırıldıktan sonra Open. Dialog 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. procedure TForm 2. Button 3 Click(Sender: TObject); begin if open. Dialog 1. Execute then Show. Message(‘Dosya : '+open. Dialog 1. File. Name) else Show. Message(‘Dosya Açma İptal'); // dialogbox kapat open. Dialog 1. Free; end;
Listbox’a Open. Dialog ile seçilenleri Ekleme procedure TForm 1. Button 1 Click(Sender: TObject); var i : Integer; begin if Check. Box 1. Checked then // çoklu seçmeye ayarı Open. Dialog 1. Options : = Open. Dialog 1. Options + [of. Allow. Multi. Select] else //seçeneklere çoklu seçmeyi ekliyor Open. Dialog 1. Options : = Open. Dialog 1. Options - [of. Allow. Multi. Select] ; //seçeneklerden çoklu seçmeyi kaldırıyor if Open. Dialog 1. Execute then //open. Dialog gösterildi ve kullanıcı tamama bastı begin for i : = 0 to Open. Dialog 1. Files. Count - 1 do //birden fazla dosya seçebileceği için seçilen tüm dosyaları tarayıp listboxa ekledi List. Box 1. Items. Add(Open. Dialog 1. Files[i]) end; procedure TForm 1. Button 2 Click(Sender: TObject); begin List. Box 1. Items. Clear; //listbox temizlendi end;
Memo’da seçilen text dosyası açma var fn : String; procedure TForm 1. Form. Create(Sender: TObject); begin fn : = ''; end; procedure TForm 1. Button 1 Click(Sender: TObject); begin if Open. Dialog 1. Execute then begin memo 1. Lines. Load. From. File(Open. Dialog 1. File. Name); fn : = Open. Dialog 1. File. Name; end; procedure TForm 1. Button 2 Click(Sender: TObject); begin if fn = '' then begin if Save. Dialog 1. Execute then Memo 1. Lines. Save. To. File(Save. Dialog 1. File. Name); end else begin Memo 1. Lines. Save. To. File(fn); end; procedure TForm 1. Button 3 Click(Sender: TObject); begin if Save. Dialog 1. Execute then Memo 1. Lines. Save. To. File(Save. Dialog 1. File. Name); end;
Save. Dialog var save. Dialog : tsavedialog; // Save dialog variable begin // Create the save dialog object - assign to our save dialog variable save. Dialog : = TSave. Dialog. Create(self); // Give the dialog a title save. Dialog. Title : = 'Save your text or word file'; // Set up the starting directory to be the current one save. Dialog. Initial. Dir : = Get. Current. Dir; // Allow only. txt and. doc file types to be saved save. Dialog. Filter : = 'Text file|*. txt|Word file|*. doc'; // Set the default extension save. Dialog. Default. Ext : = 'txt'; // Select text files as the starting filter type save. Dialog. Filter. Index : = 1; // Display the open file dialog if save. Dialog. Execute then Show. Message('File : '+save. Dialog. File. Name) else Show. Message('Save file was cancelled'); // Free up the dialog save. Dialog. Free; end;
Memodaki text dosyayı Saklamak procedure TForm 1. Button 1 Click(Sender: TObject); var a. File. Name: string; begin if Save. Dialog 1. Execute then begin a. File. Name : = Save. Dialog 1. File. Name; Memo 1. Lines. Save. To. File(a. File. Name); end;
Open. Picture. Dailog procedure TForm 1. Button 1 Click(Sender: TObject); begin if Open. Picture. Dialog 1. Execute then Image 1. Picture. Load. From. File(Open. Picture. Dialog 1. File. Nam e); end; procedure TForm 1. Button 2 Click(Sender: TObject); begin if Save. Picture. Dialog 1. Execute then Image 1. Picture. Save. To. File(Save. Picture. Dialog 1. File. Name); end;
TImage • • • Picture özelliği resim dosyasını gösterir. Image 1. Picture. Load. From. File(‘resim. bmp’); Save. To. File resimleri kaydetmek için kullanılır. Image 1. Picture. Save. To. File(‘resim. bmp’); Stretch özelliği pencereye tam yerleştirme yapar. Image 1. Stretch : = True; Transparent arkaplanı transparan yapar. Image 1. Transparent : = True; Visible resmi görünmez yapar. Image 1. Visible : = True;
Save. Picture. Dailog save. Dialog : = TSave. Dialog. Create(self); save. Dialog. Title : = 'Save your text or word file'; // Set up the starting directory to be the current one save. Dialog. Initial. Dir : = Get. Current. Dir; // Allow only. txt and. doc file types to be saved save. Dialog. Filter : = 'Text file|*. txt|Word file|*. doc'; // Set the default extension save. Dialog. Default. Ext : = 'txt'; // Select text files as the starting filter type save. Dialog. Filter. Index : = 1; // Display the open file dialog if save. Dialog. Execute then Show. Message('File : '+save. Dialog. File. Name) else Show. Message('Save file was cancelled'); // Free up the dialog save. Dialog. Free;
Color. Dailog begin Dlg : = TColor. Dialog. Create(Form 1); Dlg. Color : = cl. Red; Dlg. Options : = [cd. Full. Open, cd. Any. Color]; Dlg. Execute; Color : = Dlg. Color; end;
Page. Control • Align • Name
Listview • Align • Color • View. Style • Grid. Lines • Items • Small. Images, Large. Images • v. New. Column : = List. View 1. Columns. Add; • v. New. Column. Caption : = 'Title';
Listview İşlemleri list. View = View. Details; //listview in liste şeklinde görünmesi için _list. View. Columns[0]. Width = 50; // Kolon-sütun Genişliği _list. View. Columns[1]. Width = 150; _list. View. Columns[2]. Width = 150; _list. View. Full. Row. Select = true; // Tüm satır seçilmesi için. _list. View. Multi. Select = false; //Birden fazla satır seçilememesi için. _list. View. Grid. Lines = true; //Grid çizgileri görünmesi için. _list. View. Hide. Selection = false; // Normalde listview seçili satırdan (nesneden) ayrıldıgınız zaman seçim olayı kalkar. Bu şekilde artık nesneden ayrılsanızda arkada gri bir renk bırakır.
Ekleme private void btn. Ekle_Click(object sender, Event. Args e) { List. View. Item lst. Item = new List. View. Item(); // Yeni bir item tanımlandı ++i; lst. Item. Text = i. To. String(); lst. Item. Sub. Items. Add("BLP 4102"); lst. Item. Sub. Items. Add(" BLP 4108 "); list. View 1. Items. Add(lst. Item); //Eklediğimiz Sub. Itemleri list. View nesnemize ekliyoruz. }
Silme private void btn. Sil_Click(object sender, Event. Args e) { if (list. View 1. Selected. Indices. Count > 0) //Secili satır varmı yokmu kontrol ediliyor. list. View 1. Items. Remove. At(list. View 1. Selected. Items[0]. Index); //Seçili satırın index 'ini alarak, satırı sil. } private void btn. Temizle_Click(object sender, Event. Args e) { list. View 1. Items. Clear(); //listview i boşalt. }
Arama private void btn. Ara_Click(object sender, Event. Args e) { for (int i = 0 ; i < list. View 1. Items. Count ; i + + ) { if (list. View 1. Items[i]. Sub. Items[1]. Text==txt. Ara. Text) { list. View 1. Items[i]. Fore. Color = Color. Blue; //Aynı olanlar işaretlenip, Yazı rengini mavi yapılır. list. View 1. Focus(); // Satırı seçebilmek için nesne üzerine odaklan. list. View 1. Items[i]. Selected = true; //Üzerinde oldugumuz satırı seç. break; // Diğer satırları boş yere dolaşmayalım diye döngüden çıktık. } else { list. View 1. Items[i]. Fore. Color = Color. Empty; //Daha önceki aramada mavi olarak işaretlen değer varsa şimdiki aramayla karışmaması için rengi kaldır. } } }
Icon eklemek uses Shell. Api; procedure LV_Insert. Files(str. Path: string; List. View: TList. View; Image. List: TImage. List); var i: Integer; Icon: TIcon; Search. Rec: TSearch. Rec; List. Item: TList. Item; File. Info: SHFILEINFO; begin // Create a temporary TIcon : = TIcon. Create; List. View. Items. Begin. Update; try // search for the first file i : = Find. First(str. Path + '*. *', fa. Any. File, Search. Rec); while i = 0 do begin with List. View do begin // On directories and volumes if ((Search. Rec. Attr and Fa. Directory <> Fa. Directory) and (Search. Rec. Attr and Fa. Volume. Id <> Fa. Volume. ID)) then begin List. Item : = List. View. Items. Add; //Get The Display. Name SHGet. File. Info(PChar(str. Path + Search. Rec. Name), 0, File. Info, Size. Of(File. Info), SHGFI_DISPLAYNAME); Listitem. Caption : = File. Info. sz. Display. Name; // Get The Type. Name SHGet. File. Info(PChar(str. Path + Search. Rec. Name), 0, File. Info, Size. Of(File. Info), SHGFI_TYPENAME); ); end; List. Item. Sub. Items. Add(File. Info. sz. Type. Name); //Get The Icon That Represents The File SHGet. File. Info(PChar(str. Path + Search. Rec. Name), 0, File. Info, Size. Of(File. Info), SHGFI_ICON or SHGFI_SMALLICON); icon. Handle : = File. Info. h. Icon; List. Item. Image. Index : = Image. List. Add. Icon(Icon); // Destroy the Icon Destroy. Icon(File. Info. h. Icon); end; i : = Find. Next(Search. Rec); end; finally Icon. Free; List. View. Items. End. Update; end; procedure TForm 1. Button 1 Click(Sender: TObject); begin // Assign a Imagelist to the List. View 1. Small. Images : = Image. List 1; // Show Listview in Report Style and add 2 Columns List. View 1. View. Style : = vs. Report; List. View 1. Columns. Add; LV_Insert. Files('C: Windows', List. View 1, Image. List 1
Tree. View • Align • Borderstyle • Color • Images • Items • Multiselect
Tree. View node eklemek Var Node 1, Node 2 : TTree. Node; Begin Node 1 : = Tree. View 1. Add(NIL, '1 st Node'); Node 1. Image. Index : = 1; //If you have set the Image. List Node 2. Tree. View 1. Add(Node 1, '1 st Sub. Node'); Node 2. Image. Index : = 1; Node 2. Tree. View 1. Add(Node 1, '2 nd Sub. Node'); Node 2. Image. Index : = 2; Node 2. Tree. View 1. Add(Node 2, '3 rd Sub. Node'); Node 2. Image. Index : = 4; Node 1 : = Tree. View 1. Add(NIL, '2 nd Node'); End;