Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.214 Beiträge
 
Delphi 12 Athens
 
#11

AW: Open- und SaveDialoge sollen nur Dateien (keine Ordner) anzeigen

  Alt 11. Feb 2012, 01:33
Zitat:
Der Anwender soll erst garnicht in einen anderen Ordner gehen dürfen, das ist das Problem - nicht die Fehlermeldung danach...
Vielleicht seh ich die Anforderung auch etwas anders.

Zitat:
Der benutzer darf keine Datei in einem anderem Verzeichnis öffnen/speicherm.
Das beinhaltet für micht nicht, daß er nicht mal kurz dort nachsehn darf.

Spätestens nach der erster Fehlermeldung wird er freiwillig nicht mehr das Verzeichnis wechseln.

Delphi-Quellcode:
procedure TForm3.Button1Click(Sender: TObject);
var
  Dir: string;
begin
  OpenDialog1.Options := [ofHideReadOnly,ofNoChangeDir,ofPathMustExist,ofFileMustExist,ofNoNetworkButton,ofNoDereferenceLinks,ofEnableSizing];
  OpenDialog1.OptionsEx := [ofExNoPlacesBar];

  Dir := ExtractFileDir(Application.ExeName);
  OpenDialog1.FileName := '';
  OpenDialog1.InitialDir := Dir;
  while OpenDialog1.Execute do begin
    if AnsiSameText(ExtractFileDir(OpenDialog1.FileName), Dir) then begin

      // hier die Datei auslesen oder sich merken, das es nach diesem Code gemacht werden soll

      Break;
    end else begin
      if MessageDlg('Die Datei muß im vorgegebenen Verzeichnis liegen!', mtError, [mbRetry, mbCancel], 0) <> mrRetry then
        Break;
      OpenDialog1.FileName := Dir + PathDelim + ExtractFileName(OpenDialog1.FileName);
    end;
  end;

end;
$2B or not $2B
  Mit Zitat antworten Zitat