Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Pfad problem (https://www.delphipraxis.net/175428-pfad-problem.html)

EWeiss 20. Jun 2013 15:38

Pfad problem
 
Jemand ne idee wie ich einen Pfad finden kann der nicht bekannt ist.

Ich speichere meinen Pfad zur zeit in eine Ini.
Da die Anwendung aber aus verschiedenen Pfaden heraus gestartet werden soll greift diese dann auf den flaschen Pfad zu.

Das hat zur folge das der Falsche Skin der Anwendung gestartet wird.

Unter dem Ordner Skin befindet sich dann der Pfad der nicht bekannt ist abhängig vom jeweiligen Spiel halt.
Wie komme ich an den Pfad ohne das ich den Pfad zwischenspeichern muss.

gruss

Daniel 20. Jun 2013 15:41

AW: Pfad problem
 
Und wenn Du die Ini an einer zentralen Stelle ablegst? Das muss ja nicht gerade C:\ sein, vielleicht Local-Appdata oder dgl. Windows bietet ja eine Handvoll fester Pfade für solche Situationen.
Alternativ den Pfad zu Deiner Ini in der Registry ablegen?

DeddyH 20. Jun 2013 15:42

AW: Pfad problem
 
Ich habe das jetzt 3 mal gelesen, aber nicht wirklich verstanden. Wo befindet sich der Skin-Ordner? Ist das ein Unterordner des Verzeichnisses, wo sich die jeweilige Exe befindet? In dem Fall könntest Du ihn mit
Delphi-Quellcode:
ExtractFilePath(ParamStr(0)) + 'Skin'
ermitteln.

EWeiss 20. Jun 2013 15:52

AW: Pfad problem
 
Zitat:

Zitat von Daniel (Beitrag 1219232)
Und wenn Du die Ini an einer zentralen Stelle ablegst? Das muss ja nicht gerade C:\ sein, vielleicht Local-Appdata oder dgl. Windows bietet ja eine Handvoll fester Pfade für solche Situationen.
Alternativ den Pfad zu Deiner Ini in der Registry ablegen?

Ich habe ja schon aufgrund des UAC die Ini im richtigen Pfad abgelegt.
C:\Users\***\AppData\Roaming

Beispiel:
In der Ini steht dann der Pfad zu
[SkinPath]
Skin=C:\***\Skins\Torchlight II\FXAA_Config.ske

Starte ich jetzt die Anwendung aus dem Pfad
C:\***}Neocore Games\The Incredible Adventures of Van Helsing

wird der Skin von Torchlight II geladen da als zuletzt aktiver Pfad abgespeichert.

Mir fällt keine Lösung ein wie ich das lösen kann wenn ich auf den Pfad in der Ini verzichte
und trotzdem noch an meine Konfigurationsdatei des Skin gelange.

Wäre dann UnbekannterOrdner\FXAA_Config.ske

Zitat:

Ich habe das jetzt 3 mal gelesen, aber nicht wirklich verstanden. Wo befindet sich der Skin-Ordner? Ist das ein Unterordner des Verzeichnisses, wo sich die jeweilige Exe befindet? In dem Fall könntest Du ihn mit ExtractFilePath(ParamStr(0)) + 'Skin' ermitteln.
Ja..
Der Unbekannte Ordner wäre dann Skins\Unbekannt

Diesen Namen muss ich in erfahrung bringen um an die richtige Konfigurationsdatei für den Skin zu gelangen.

EDIT:
Kurz geagt wie komme ich an den letzten Odner "Name" der sich in einem Ordner befindet.
Arghh ... Hat sich erledigt Manchmal hat man einfach ein Brett vor'm Kopf ;)

Einfach nach FXAA_Config.ske suchen und dann den Pfad extrahieren.

gruss

DeddyH 20. Jun 2013 16:03

AW: Pfad problem
 
Ermittle doch die Unterverzeichnisse im Skin-Ordner (FindFirst, FindNext).

p80286 20. Jun 2013 16:08

AW: Pfad problem
 
Also einmal umformuliert
Du hast mehrere Programme für die irgendwo eine Skin-Datei existiert.
Speicherort der SkinDatei ist nicht C:\Programme\irgendwas.
Du willst in einer INI-Datei die Speicherorte für alle/einige Deiner Programme ablegen?

Wenn Ja, warum nicht so
Code:
[SKINFILES]
prog1=C:\users\ich\prog1\a.skn
prog2=C:\users\ich\prog2\ab.skn
prog3=C:\users\ich\delphi\unterverzeichnis\56c4a.skn
Gruß
K-H

EWeiss 20. Jun 2013 16:25

AW: Pfad problem
 
Zitat:

Zitat von p80286 (Beitrag 1219241)
Also einmal umformuliert
Du hast mehrere Programme für die irgendwo eine Skin-Datei existiert.

Nein nur ein Programm welches immer auf die gleiche Ini zugreift aber in verschiedenen Pfaden liegen kann
abhängig vom jeweiligen Spiel halt.

Zitat:

Ermittle doch die Unterverzeichnisse im Skin-Ordner (FindFirst, FindNext).
Denke das wäre das vernünftigste ..

Danke euch.


gruss


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:03 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz