unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, FileCtrl, StdCtrls, ExtCtrls, Jpeg, StrUtils;

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    DriveComboBox1: TDriveComboBox;
    DirectoryListBox1: TDirectoryListBox;
    FileListBox1: TFileListBox;
    Splitter1: TSplitter;
    Image1: TImage;
    FilterComboBox1: TFilterComboBox;
    Label1: TLabel;
    Label2: TLabel;
    Button1: TButton;
    procedure FileListBox1DblClick(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FileListBox1Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var n,w :String;
begin
//n:=Application.ExeName;
n:=FileListBox1.FileName;
if n='' then
  begin
  ShowMessage('Wskaż nazwę pliku w komponencie FileListBox1');
  Exit;
  end;

w:='Pełna nazwa pliku: '+n+#13;
w:=w+'Nazwa katalogu: '+ExtractFileDir(n)+#13;
w:=w+'Nazwa pliku: '+ExtractFileName(n)+#13;
w:=w+'Symbol dysku: '+ExtractFileDrive(n)+#13;
w:=w+'Rozszerzenie pliku: '+ExtractFileExt(n)+#13;
w:=w+'Względna ścieżka: '+ExtractRelativePath(GetCurrentDir,n)+#13;
w:=w+'Pełna nazwa pliku w formacie 8.3: '+ExtractShortPathName(n)+#13;

ShowMessage(w);
end;

procedure TForm1.FileListBox1Change(Sender: TObject);
begin
Label2.Caption:=FileListBox1.FileName;
end;

procedure TForm1.FileListBox1DblClick(Sender: TObject);
var NowyKatalog :String;
begin
if FileExists(FileListBox1.FileName) then
  Image1.Picture.LoadFromFile(FileListBox1.FileName);

NowyKatalog:=ExtractFileName(FileListBox1.FileName); //Nazwa katalogu z []
NowyKatalog:=MidStr(NowyKatalog,2,Length(NowyKatalog)-2); //Pozbywamy sie nawiasow kwadratowych
if DirectoryExists(NowyKatalog) then FileListBox1.Directory:=NowyKatalog;
end;

end.
