Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Open-SaveTextFileDialog - beim Öffnen im selben Ordner (https://www.delphipraxis.net/170858-open-savetextfiledialog-beim-oeffnen-im-selben-ordner.html)

Codix32 6. Okt 2012 15:28

Open-SaveTextFileDialog - beim Öffnen im selben Ordner
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

ich habe ein Formular auf dem zwei Opentextfiledialoge und zwei Savetextfiledialoge liegen.
Das kleine Programm hat den Zweck, zwei Dateien miteinander zu vergleichen, die fehlenden Items
anzuzeigen, die dann per Drag&Drop in die jeweilige Listbox gezogen werden können und dann abgespeichert werden.
Da die Dateien in verschiedenen Ordnern liegen, möchte ich mich beim öffnen von Savetextfiledialog1 im Ordner von Opentextfiledialog1 befinden. Leider ist es so, daß ich mich immer in dem Ordner befinde, der zuletzt mit einer dieser Komponente geöffnet wurde.

Wenn ich also zuletzt Opendialog2 geöffnet hatte, bin ich auch mit Savedialog1 in diesem Ordner und ich würde die falsche Datei überschreiben, wenn ich mich nicht zum richtigen Ordner durchklicke.

Der Wunsch: Mit Savetfdialog1 im Ordner Opentfdialog1 zu sein und bei Savetfdialog2 im Ordner Opentfdialog2 zu sein.
Kann man da was machen?

p80286 6. Okt 2012 16:09

AW: Open-SaveTextFileDialog - beim Öffnen im selben Ordner
 
Hast Du mal die OH bemüht?
Da gibt es einen Initialpfad oder so ähnlich.
der sollte das hergeben was Du brauchst.

Gruß
K-H

himitsu 6. Okt 2012 16:10

AW: Open-SaveTextFileDialog - beim Öffnen im selben Ordner
 
Du mußt dir nach den Schließen der Dialoge ganz einfach das jeweilige Verzeichnis merken
und dieses vor dem Öffnen erneut zuweisen.
> InitialDir

Wenn nicht, dann verwenden die Dialoge des aktive Arbeitsverzeichnis und davon gibt es im ganzen Programm nur ein Einziges.



PS: Das ist auch der Grund, warum man nicht mit relativen Pfaden arbeiten soll, da diese relativ zum Arbeitsverzeichnis sind, was nicht so praktisch ist, wenn solche Komponenten dieses verändern. :roll:

Ralf Kaiser 6. Okt 2012 16:10

AW: Open-SaveTextFileDialog - beim Öffnen im selben Ordner
 
Das Verzeichnis das im Dialog beim Öffnen des Dialogs angezeigt wird kannst du mit Delphi-Referenz durchsuchenInitialDir setzen.

Aber mal eine Rückfrage: Warum 2 Opendialoge und 2 Savedialoge? Einer von jedem Typ (Open/Save) reicht doch vollkommen aus :gruebel:

EDIT: der rote Kasten hat mal wieder Urlaub???

himitsu 6. Okt 2012 16:30

AW: Open-SaveTextFileDialog - beim Öffnen im selben Ordner
 
Zitat:

Zitat von Ralf Kaiser (Beitrag 1186007)
EDIT: der rote Kasten hat mal wieder Urlaub???

Bei mir auch. :angle:

Nja, wenn diese Dialoge die selben Einstlelungen haben, dann stimmt das.

Wenn man im OI dort jeweils andere Optionen nutzt, dann kann man sich überlegen diese zur Laufzeit zu setzen, also kurz vorm Aufruf, aber dann kann man die ganze Komponente auch gleich dynamisch erstellen und den FormDesigner vergessen.
Oder man nutzt eben 2 Dialoge. (aber wie schon erwähnt ... mit gleichen Einstellungen reicht natürlich ein Dialog)



Aber so oder so, da er unterschiedliche Verzeichnisse haben möchte, muß er sich dennoch die Initial-Verzeichnisse speichern und setzen.

Codix32 7. Okt 2012 14:13

AW: Open-SaveTextFileDialog - beim Öffnen im selben Ordner
 
:thumb:Danke euch, himitsu und Ralf Kaiser,

manchmal ist es das ganz Einfache, was man übersieht:

Delphi-Quellcode:
procedure TForm1.Button6Click(Sender: TObject);
begin
SaveTextFileDialog1.InitialDir:=extractfilepath(OpenTextFileDialog1.FileName);
 if SaveTextFileDialog1.Execute then
...
...
Dasselbe nochmal für SaveTextFileDialog2 und schon habe ich, was ich wollte.

himitsu 7. Okt 2012 14:26

AW: Open-SaveTextFileDialog - beim Öffnen im selben Ordner
 
Zitat:

InitialDir
Du meinst doch bestimmt ExtractFileDir und nicht ExtractFilePath? :zwinker:

Delphi-Referenz durchsuchenTSaveDialog.InitialDir Delphi-Referenz durchsuchenExtractFileDir Delphi-Referenz durchsuchenExtractFilePath

Codix32 7. Okt 2012 15:34

AW: Open-SaveTextFileDialog - beim Öffnen im selben Ordner
 
Zitat:

Zitat von himitsu (Beitrag 1186084)
Zitat:

InitialDir
Du meinst doch bestimmt ExtractFileDir und nicht ExtractFilePath? :zwinker:

Delphi-Referenz durchsuchenTSaveDialog.InitialDir Delphi-Referenz durchsuchenExtractFileDir Delphi-Referenz durchsuchenExtractFilePath

Hm, ich habe tatsächlich extractfilepath verwendet und es funktioniert.

Macht es denn einen Unterschied, ob ich ExtractFilePath oder ExtractFileDir verwende?

himitsu 7. Okt 2012 16:05

AW: Open-SaveTextFileDialog - beim Öffnen im selben Ordner
 
Es mag sein, daß es aktuell so geht,
aber diese Eigenschaft möchte nunmal ein "Dir" (die Adresse des Verzeichnisses, also ohne ein abschließendes
Delphi-Quellcode:
\
) haben.
Das ExtractFilePath liefert aber den "Path" (den Teil vor einer Datei\Verzeichnis, inkl. dem letzen Trenner
Delphi-Quellcode:
\
).

Codix32 8. Okt 2012 11:57

AW: Open-SaveTextFileDialog - beim Öffnen im selben Ordner
 
Zitat:

Zitat von himitsu (Beitrag 1186111)
Es mag sein, daß es aktuell so geht,
aber diese Eigenschaft möchte nunmal ein "Dir" (die Adresse des Verzeichnisses, also ohne ein abschließendes
Delphi-Quellcode:
\
) haben.
Das ExtractFilePath liefert aber den "Path" (den Teil vor einer Datei\Verzeichnis, inkl. dem letzen Trenner
Delphi-Quellcode:
\
).

Ja, hab schon bemerkt.
Delphi-Quellcode:
Label7.Caption:= 'Liste 2 = '+ extractfiledir(OpenTextFileDialog2.FileName);
Zeigt mir den Pfad ohne letzten Delimiter.

Danke :wink:


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:17 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-2025 by Thomas Breitkreuz