1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
program test;
uses
commdlg, Windows;
{=-=-=-=-=- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-}
function OpenSave(HWND :THandle;
Titre, Filtre, CheminDepart : string;
Sauve :Boolean):string;
var OpenFileName : TOpenFileName;
TempSTR : array[0..MAX_PATH] of char;
begin
FillChar(OpenFileName, sizeof(TOpenFileName), 0);
OpenFileName.lStructSize := sizeof(OpenFileName);
OpenFileName.hwndOwner := HWND;
OpenFileName.lpstrFilter := Pchar(Filtre);
OpenFileName.nFilterIndex := 1;
OpenFileName.lpstrFile := TempSTR;
OpenFileName.nMaxFile := 255;
OpenFileName.lpstrFileTitle := TempSTR;
OpenFileName.nMaxFileTitle := 255;
OpenFileName.lpstrInitialDir := Pchar(CheminDepart);
OpenFileName.lpstrTitle := Pchar(Titre);
if sauve Then OpenFileName.flags := OFN_EXPLORER
else OpenFileName.flags := OFN_FILEMUSTEXIST or OFN_PATHMUSTEXIST or OFN_EXPLORER;
If GetOpenFileName(OpenFileName) Then Result := OpenFileName.lpstrFile
Else Result := '';
end;
{=-=-=-=-=- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-}
Var FILTRE, s :string;
begin
Filtre := 'Fichiers Texte (*.txt)' + #0 + '*.txt' + #0;
s := OpenSave(0, 'Ouvrez un fichier texte', Filtre, 'c:\', false);
if s <> '' Then MessageBoxA(0, pchar(s), '', 0);
end. |
Partager