| 12
 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