AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Verzeichnisse

Ein Thema von oldmann · begonnen am 3. Mär 2025 · letzter Beitrag vom 5. Mär 2025
Antwort Antwort
Seite 1 von 2  1 2      
oldmann

Registriert seit: 10. Okt 2008
Ort: Weyhe
161 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Verzeichnisse

  Alt 3. Mär 2025, 17:17
Hallo,
in meinem Verzeichnis, in dem auch die Exe-Datei liegt, gibt es noch mehrere Verzeichisse.
Unter anderem:
Ausgabe und
Rückgabe
Der Anwender kann Dateien in diesen Verzeichnissen speichern.
Ich möchte erreichen das der Anwender nicht selbst das richtige Verzeichnis öffnen muss, sondern das richrige Verzeichnis immer schon geöffnet ist wenn die Datei gespeichert werden soll.
Mit welchen Delphi Befehlen kann ich das richtige Verzeichnis schon vorher öffnen ?????
Gruß Oldmann
  Mit Zitat antworten Zitat
shebang

Registriert seit: 7. Feb 2020
137 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Verzeichnisse

  Alt 3. Mär 2025, 17:25
Den kannst du im TFileOpenDialog mit der Eigenschaft DefaultFolder setzen:
Vcl.Dialogs.TCustomFileDialog.DefaultFolder
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.551 Beiträge
 
Delphi 7 Professional
 
#3

AW: Verzeichnisse

  Alt 3. Mär 2025, 17:28
Wie öffnest Du denn das Verzeichnis? Explorer und Shellexecute. Oder im Dateidialog des Programmes?

Der TSaveDialog hat ein Attribut InitialDir, das ist das Verzeichnis, in dem der Dialog geöffnet werden soll, vorgibt.

Sowas in der Art?
  SaveDialog1.InitialDir := ExtractFilePath(Application.ExeName) + 'Ausgabe\';
oder
  SaveDialog1.InitialDir := '.\Ausgabe\';
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Verzeichnisse

  Alt 3. Mär 2025, 17:52
Vor allem, da die Open-/SaveDialoge gern das Arbeitsverzeichnis ändern, sind relative Pfadangaben zu vermeiden.

Hmmm, beim Explorer kann man ein RootVerzeichnis angeben,
und dann stehen nur dieses Verzeichnis und Unterverzeichnisse zur Auswahl.
Ich hätte gedacht, dass man sowas auch beim Open-/SaveDialog machen kann, aber irgendwie finde ich nichts.



PS: InitialDir ... das kann vom System irgnoriert, wenn der Dialog schonmal geöffnet war. (letzte Auswahl)
Bei TFileSaveDialog/TFileOpenDialog kann man eine GUID angeben, welche man im Programm auch für ähnliche Dialoge (jeweils für gleiche, bzw. unterschiedliche Pfade) angeben sollte.

Man kann aber FileName vorher festlegen, inkl. Pfad.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 3. Mär 2025 um 18:12 Uhr)
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.551 Beiträge
 
Delphi 7 Professional
 
#5

AW: Verzeichnisse

  Alt 3. Mär 2025, 18:04
Nagut, bei meinen Open- und Save-Dialogen [die aus der JVCL) setze ich immer den entsprechenden Schalter, dass sie das Verzeichnis nicht wechseln sollen. Von daher klappts immer problemlos mit den realtiven Pfaden.

Und wenn man InitialDir immer vor dem Execute setzt, dann schießt auch kein Windows dazwischen.

Und ja: Gibt man die zu speichernde Datei mit dem vollständigen Pfad an, dann öffnet sich der Dialog an der richtigen Stelle und nicht Irgendwo im Nirgendwo.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.845 Beiträge
 
Delphi 12 Athens
 
#6

AW: Verzeichnisse

  Alt 3. Mär 2025, 20:17
Hmmm, beim Explorer kann man ein RootVerzeichnis angeben,
und dann stehen nur dieses Verzeichnis und Unterverzeichnisse zur Auswahl.
Ich hätte gedacht, dass man sowas auch beim Open-/SaveDialog machen kann, aber irgendwie finde ich nichts.
Das geht nur bei dem Dialog zur Verzeichnisauswahl, aber nicht bei den Dateidialogen.

Man kann aber IFileDialog und TFileDialogEvents verwenden, um den Wechsel in andere Ordner zu verhindern.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
oldmann

Registriert seit: 10. Okt 2008
Ort: Weyhe
161 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

AW: Verzeichnisse

  Alt 4. Mär 2025, 09:46
Hallo zusammen,
erst mal danke für Eure Hilfen.
Ich möchte mal den Ansatz von "shebang" aufzeigen.
Vcl.Dialogs.TCustomFileDialog.DefaultFolder
Hier sagt das Programm:
Auf die Eigenschaft von DefaultFolder kann hier nicht zugegriffen werden.
Was muss ich mit DefaultFolder machen damit es akzeptiert wird.
Gruss Oldmann
  Mit Zitat antworten Zitat
shebang

Registriert seit: 7. Feb 2020
137 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Verzeichnisse

  Alt 4. Mär 2025, 10:02
Du ziehst dir eine TFileOpenDialog-Komponente auf deine Form und setzt im Code dann:
Delphi-Quellcode:
FileOpenDialog.DefaultFolder := 'C:\dein\pfad\Ausgabe';
FileOpenDialog.Execute;
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.845 Beiträge
 
Delphi 12 Athens
 
#9

AW: Verzeichnisse

  Alt 4. Mär 2025, 10:28
DefaultFolder heißt es bei TFileOpenDialog und TFileSaveDialog, InitialDir bei TOpenDialog und TSaveDialog. Das sorgt dafür, dass der Ordner voreingestellt ist.

Wenn du möchtest, dass man auch nur in diesem Ordner (und ggf. dessen Unterordnern) bleiben darf, habe ich ja schon geschrieben, wie das geht.
Sebastian Jänicke
AppCentral

Geändert von jaenicke ( 4. Mär 2025 um 10:32 Uhr)
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
711 Beiträge
 
Delphi 12 Athens
 
#10

AW: Verzeichnisse

  Alt 4. Mär 2025, 11:41
Hallo,
in meinem Verzeichnis, in dem auch die Exe-Datei liegt, gibt es noch mehrere Verzeichisse.
Unter anderem:
Ausgabe und
Rückgabe
Der Anwender kann Dateien in diesen Verzeichnissen speichern.
Ich möchte erreichen das der Anwender nicht selbst das richtige Verzeichnis öffnen muss, sondern das richrige Verzeichnis immer schon geöffnet ist wenn die Datei gespeichert werden soll.
Mit welchen Delphi Befehlen kann ich das richtige Verzeichnis schon vorher öffnen ?????
Gruß Oldmann
Die eigentliche Frage wurde ja schon in anderen Posts beanwortet. Ich möchte nur darauf hinweisen, dass es keine gute Idee ist, eine Exe in einem Ordner abzulegen, auf den der "normale" Benutzer Schreibrechte hat; das erlaubt Malware, das Programm zu infizieren. Man sollte lieber das Programm in einem Ordner installieren, auf den nur ein Admin Schreibzugriff hat, und die Daten dann in einem Unterordner für das Programm in TPath.GetDocumentsPath oder System.IOUtils.TPath.GetHomePath ablegen.
Peter Below
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz