PromptForFileName

Adam Boduch
PromptForFileName
Moduł: Dialogs
```delphi function PromptForFileName(var AFileName: string; const AFilter: string = ''; const ADefaultExt: string = ''; const ATitle: string = ''; const AInitialDir: string = ''; SaveDialog: Boolean = False): Boolean; ``` [[Delphi/Funkcje|Funkcja]] wyświetla okno dialogowe Zapisz lub Otwórz, służące do wskazania pliku.

Tylko pierwszy parametr funkcji jest wymagany - określa ścieżkę do pliku, zwracany przez referencję. Jeżeli użytkownik, w oknie dialogowym zaznaczy plik i kliknie OK - zmienna określona w tym parametrze będzie zawierała ścieżkę do pliku.

Drugi parametr (AFilter) oznacza filtr (maskę) według którego będą wyświetlane pliki w oknie. Przykładowo jeżeli chcemy, aby w oknie były wyświetlane jedynie pliki z rozszerzeniem .exe, zawartość parametru musi przedstawiać się następująco: Pliki wykonywalne|.exe.

Parametr ADefaultExt oznacza domyślne rozszerzenie jakie będzie doklejane do plików jeżeli użytkownik zaznaczy plik niezawierający żadnego rozszerzenia.

ATitle określa tytuł okna wyświetlany na belce tytułowej. Jeżeli wartość parametru jest pusta, użyty zostanie łańcuch Otwieranie lub Zapisywanie (w zależności od wartości parametru SaveDialog).

Parametr AInitialDir określa ścieżkę startową. Możemy tutaj określić, zawartość jakiego katalogu powinna pojawić się po otwarciu okna.

Ostatni parametr - SaveDialog określa czy okno ma być oknem typu Otwórz (False) czy Zapisz (True).

Przykładowa aplikacja korzystająca z tej funkcji przedstawiona została na listingu poniżej.

program Foo;

uses
  Dialogs, FileCtrl;

var
  S : String;
  Drive : Char;
  Path, FileName : String;
begin
  if PromptForFileName(S, '', '', 'Moje okno zapisz :)', '', true) then
  begin
     ProcessPath(S, Drive, Path, FileName);

     ShowMessage('Drive: ' + Drive + #13 +
                 'Path: ' + Path + #13 +
                 'FileName: ' + FileName
                 );
  end;
end.

Po uruchomieniu aplikacji, użytkownik zobaczy okno podobne do tego przedstawionego na rysunku.

PromptForFileName.jpg

Zobacz też:

0 komentarzy