Difference between revisions of "Howto Use TSaveDialog"

From Lazarus wiki
Jump to navigationJump to search
(Removed a wrong statement. The dialog does in fact have an option to check that a file already exists)
Line 40: Line 40:
 
The [[doc:lcl/dialogs/tfiledialog.filename.html | Filename]] property returns the full filename including drive and path.
 
The [[doc:lcl/dialogs/tfiledialog.filename.html | Filename]] property returns the full filename including drive and path.
  
'''Note''': This control only collects the filename. It does not actually open the file for writing. Your code must do that.  It also does not verify if they want to overwrite a file with the same name. You must check to see if the file already exists before overwriting an existing file.
+
'''Note''': This control only collects the filename. It does not actually open the file for writing. Your code must do that.   
 
 
 
== See also ==
 
== See also ==
  

Revision as of 14:41, 24 December 2017

Deutsch (de) English (en) español (es) suomi (fi) français (fr) 日本語 (ja) polski (pl) русский (ru) slovenčina (sk)

Howto Use TSaveDialog

tsavedialog.png

Simple guideline:

1. Place the SaveDialog widget on your form (anyplace, since it will be not visible).

 Component Palette Dialogs.png
 (It is the second left dialog under Dialogs tab)

2. Add a memo in the form.

tmemo.png


3. Add a button in the form.

tbutton.png

The Object Inspector will display the properties of the object Button1. Change a property named 'Caption', with the displayed value 'Button1' to 'Save'. Click on the Events tab on the Object Inspector.Select the box to the right of OnClick: a smaller box with three dots (... ellipsis) appears. Click on this, you are taken automatically into the Source Editor and your cursor will be placed in a piece of code starting. Completion code:

 procedure TForm1.Button1Click( Sender: TObject );
 begin
   if SaveDialog1.Execute then
    Memo1.Lines.SaveToFile( SaveDialog1.Filename );
 end;

The Execute method displays the file save dialog. It returns true when user has selected a file, false when user has aborted.

The Filename property returns the full filename including drive and path.

Note: This control only collects the filename. It does not actually open the file for writing. Your code must do that.

See also