6 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
10 TfrmOpenFileEditor = class(TForm)
11 OpenDialog: TOpenDialog;
17 SaveDialog: TSaveDialog;
18 procedure btnBrowseClick(Sender: TObject);
20 FOpenType: boolean; // behavior of the dialog (to open or to save)
27 frmOpenFileEditor: TfrmOpenFileEditor;
29 function OpenFileEdit(var FileName: String; Filter, ACaption: String;
30 Options: TOpenOptions): boolean;
32 function SaveFileEdit(var FileName: String; Filter, ACaption: String;
33 Options: TOpenOptions): boolean;
40 function ExecuteFileDialog(var FileName: String; Filter, ACaption: String;
41 Options: TOpenOptions; IsOpenType: boolean = true): boolean;
42 var AForm: TfrmOpenFileEditor;
44 Application.CreateForm(TfrmOpenFileEditor, AForm);
47 FOpenType := IsOpenType;
48 lblCaption.Caption := ACaption;
49 OpenDialog.Options := Options;
50 SaveDialog.Options := Options;
51 OpenDialog.Filter := Filter;
52 SaveDialog.Filter := Filter;
53 edtFile.Text := FileName;
54 Result := ShowModal = mrOk;
55 if Result then FileName := edtFile.Text;
62 function OpenFileEdit(var FileName: String; Filter, ACaption: String;
63 Options: TOpenOptions): boolean;
65 Result := ExecuteFileDialog(FileName, Filter, ACaption, Options, true);
68 function SaveFileEdit(var FileName: String; Filter, ACaption: String;
69 Options: TOpenOptions): boolean;
71 Result := ExecuteFileDialog(FileName, Filter, ACaption, Options, false);
75 procedure TfrmOpenFileEditor.btnBrowseClick(Sender: TObject);
77 // Check FOpenType flag
80 if FileExists(edtFile.Text) then
81 OpenDialog.FileName := edtFile.Text;
82 if OpenDialog.Execute then
83 edtFile.Text := OpenDialog.FileName;
86 if FileExists(edtFile.Text) then
87 SaveDialog.FileName := edtFile.Text;
88 if SaveDialog.Execute then
89 edtFile.Text := SaveDialog.FileName;