W delphi zaimplementowano zestaw gotowych komponentów realizujących funkcje standardowych dialogów aplikacji Windows.
Komponenty są niewidzialne dopóki nie zostana zaktywizowane poprzez wywołanie metody Execute.
Metoda Execute jest bezparametrową funkcją zwracającą wartość logiczną uzależnioną sposobem zakończenia sesji z aktywnym dialogiem przez użytkownika. Niezależnie od typu dialogu, Execute zwraca wartość True o ile użytkownik zatwierdził informacje zawarte w elementach składowych dialogu. Jeśli zakończył dialog bez zatwierdzenia (np. przyciskiem Anuluj, lub zwykłym zamknięciem okna przyciskiem "x") Execute zwraca wartość False.
Klasyczny sposób wykorzystania dialogu:
if JakisDialog.Execute thenbegin//instrukcje wykonywane w razie
//pozytywnego zakończenia
//sesji z dialogiemend;
Filename - zawiera pełną nazwę pliku ze ścieżką dostepu.
Przykład:
//załadowanie do Memo linii z wybranego plikuif OpenDialog1.Execute then
Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
Inne właściwości:
Filter - określa zestaw wybieralnych masek dla plików wyświetlanych w dialogu (definiowanych z użyciem "*" np.: *.txt); zwykle nie ma potrzeby definiowania wartości Filter w czasie biegu programu.
InitialDir - ścieżka dostępu do katalogu początkowego (pokazywanego bezpośrednio po uruchomieniu Execute).
Filename - zawiera pełną nazwę pliku ze ścieżką dostepu.
Przykład:
//zapis do wybranego pliku tekstu z Memoif SaveDialog1.Execute then
Memo1.Lines.SaveToFile(OpenDialog1.FileName);
Inne właściwości:
Filter - określa zestaw wybieralnych masek dla plików wyświetlanych w dialogu (definiowanych z użyciem "*" np.: *.txt); zwykle nie ma potrzeby definiowania wartości Filter w czasie biegu programu.
InitialDir - ścieżka dostępu do katalogu początkowego (pokazywanego bezpośrednio po uruchomieniu Execute).
Font - zawiera obiekt typu TFont odpowiadający czcionce wybranej w dialogu. Nie należy dokonywac prostych podstawień typu Memo1.Font:=FontDialog1.Font - prawidłowym postępowaniem jest przepisanie wartości właściwości jednego obiektu do drugiego metodą Assign.
Przykład:
//zdefiniowanie czcionki Memoif FontDialog1.Execute then
Memo1.Font.Assign(FontDialog1.Font);
Warunkiem działania jest zainstalowanie sterowników drukarki w systemie.
Właściwości:
Collate - sortowanie stron wydruku.
Copies - liczba kopii wydruku.
FromPage, ToPage - zakres stron do wydruku.
PrintRange - jedna z wartości typu wyliczeniowego (prAllPages, prSelection, prPageNums) okreslająca sposób okreslenia zakresu wydruku (wszystkie, wybrane,od do).
PrintToFile - własciwość logiczna określająca czy wybrano wydruk do pliku.
Uwaga! Zatwierdzenie dialogu nie powoduje wydruku, a jedynie umożliwia aplikacji odczyt i zastosowanie się do ustawień dokonanych przez użytkownika w dialogu.
FindText - zawiera łańcuch znaków wprowadzony przez użytkownika w dialogu jako poszukiwany tekst.
OnFind - zdarzenie generowane w chwili naciśnięcia przez użytkownika przycisku "Znajdź następny"
Options - właściwość typu zbiorowego o elementach spośród [frDown, frFindNext, frHideMatchCase, frHideWholeWord, frHideUpDown, frMatchCase, frDisableMatchCase, frDisableUpDown, frDisableWholeWord, frReplace, frReplaceAll, frWholeWord, frShowHelp] określających parametry możliwe do ustawienia w dialogu.
Przykład obsługi zdarzenia OnFind:
procedure TForm1.FindDialog1Find(Sender: TObject);
var i: integer;
begin
i := Pos(FindDialog1.FindText, Memo1.Lines.Text);
If i > 0 thenbegin
Memo1.SetFocus;
Memo1.SelStart:= i - 1;
Memo1.SelLength :=Length(FindDialog1.FindText) ;
end;
end;
Funkcja Pos (z dwoma parametrami typu łańcuchowego s1 i s2) wyszukuje łańcuch s1 w s2 i zwraca znalezioną pozycję (a sciśle mówiac zwraca numer pierwszego znaku w łańcuchu s2, od którego zaczyna się łańcuch s1). Właściwości Memo SelStart i SelLength określają zaznaczony fragment tekstu w Memo; żeby ich modyfikacje miały wizualny efekt Memo1 musi być bieżącą kontrolką - stąd konieczność użycia metody SetFocus.
FindText - zawiera łańcuch znaków wprowadzony przez użytkownika w dialogu jako poszukiwany tekst.
ReplaceText - zawiera łańcuch znaków wprowadzony przez użytkownika w dialogu jako tekst do zamiany.
OnFind - zdarzenie generowane w chwili naciśnięcia przez użytkownika przycisku "Znajdź następny"
OnReplace - zdarzenie generowane w chwili naciśnięcia przez użytkownika przycisku "Zamień" albo "Zamień wszystko".
Options - właściwość typu zbiorowego o elementach
spośród [frDown, frFindNext, frHideMatchCase, frHideWholeWord, frHideUpDown, frMatchCase, frDisableMatchCase, frDisableUpDown, frDisableWholeWord, frReplace, frReplaceAll, frWholeWord, frShowHelp] określających parametry możliwe do ustawienia w dialogu.