Difference between revisions of "Howto Use TOpenDialog"

From Lazarus wiki
Jump to navigationJump to search
(Improve code example - check file exists, check success of execute, remove redundant var)
 
Line 2: Line 2:
 
{{Howto Use TOpenDialog}}
 
{{Howto Use TOpenDialog}}
  
Simple and short guideline:
+
Simple and short guidelines:
# Place a [[TOpenDialog]] widget [[image:topendialog.png]] on your [[TForm|form]]. <br /> It can be placed anywhere as it is not visible during program [[runtime|run time]] but only during design time. <br \> [[Image:Component_Palette_Dialogs.png]] <br \> It is located on the [[Dialogs tab]] of the [[Component Palette|component palette]] and is the leftmost component <br />
+
 
# In your code write something similar to:
+
1. Place a [[TOpenDialog]] widget [[image:topendialog.png]] on your [[TForm|form]]. It can be placed anywhere on your form as it is not visible during program [[runtime|run time]] but only during design time.
 +
 
 +
[[Image:Component_Palette_Dialogs.png]]  
 +
 
 +
It is located in the [[Dialogs tab]] of the [[Component Palette|component palette]] and is the leftmost component.
 +
 
 +
2. In your code write something similar to:
  
 
<syntaxhighlight lang="pascal">
 
<syntaxhighlight lang="pascal">
var
 
  filename: string;
 
 
 
if OpenDialog1.Execute then
 
if OpenDialog1.Execute then
begin
+
  begin
  filename := OpenDialog1.Filename;
+
    if fileExists(OpenDialog1.Filename) then
  ShowMessage(filename);
+
      ShowMessage(OpenDialog1.Filename);
end;
+
  end
 +
else
 +
  ShowMessage('No file selected');
 
</syntaxhighlight>
 
</syntaxhighlight>
  
The [[doc:lcl/dialogs/tcommondialog.execute.html | Execute]] [[Method|method]] displays the file open dialog. It returns [[True|true]] when user has selected a file, [[False|false]] when user has aborted.
+
The dialog [[doc:lcl/dialogs/tcommondialog.execute.html | Execute]] [[Method|method]] displays the file open dialog. It returns [[True|true]] when user has selected a file, [[False|false]] when user has aborted.
  
The [[doc:lcl/dialogs/tfiledialog.filename.html | Filename]] [[Property|property]] returns the full filename including drive and path.
+
The dialog [[doc:lcl/dialogs/tfiledialog.filename.html | Filename]] [[Property|property]] returns the full filename including drive and path.
  
 
{{Note|This control only collects the filename. It does not actually open the file. Your code must do that.}}  
 
{{Note|This control only collects the filename. It does not actually open the file. Your code must do that.}}  
 +
 
== See also ==
 
== See also ==
 +
 
* [[Howto Use TSaveDialog]]
 
* [[Howto Use TSaveDialog]]
 
* [[CopyFile]]
 
* [[CopyFile]]

Latest revision as of 07:07, 27 March 2021

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

Simple and short guidelines:

1. Place a TOpenDialog widget topendialog.png on your form. It can be placed anywhere on your form as it is not visible during program run time but only during design time.

Component Palette Dialogs.png 

It is located in the Dialogs tab of the component palette and is the leftmost component.

2. In your code write something similar to:

if OpenDialog1.Execute then
  begin
    if fileExists(OpenDialog1.Filename) then
      ShowMessage(OpenDialog1.Filename);
  end
else
  ShowMessage('No file selected');

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

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

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

See also