AGB  ·  Datenschutz  ·  Impressum  







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

Relativen Dateipfad zurücksetzen

Offene Frage von "Cruentus"
Ein Thema von Cruentus · begonnen am 30. Apr 2009 · letzter Beitrag vom 30. Apr 2009
Antwort Antwort
Cruentus

Registriert seit: 22. Apr 2009
32 Beiträge
 
#1

Relativen Dateipfad zurücksetzen

  Alt 30. Apr 2009, 19:32
Howdy allerseits!

Mein Problem ist folgendes: Ich habe so ein kleines Programm geschrieben, dass verschiedene Dateien öffnet, die sich allesamt im Unterordner (Unterordner des Programms) Archiv befinden. Bisher habe ich nur ein paar Textdateien und Bilder geöffnet. Nun habe ich aber eine Funktion eingebaut, die es dem User erlauben soll, selbst ein Bild zu laden, dies wollte ich mit einem OpenDialog verwirklichen. Ob das geklappt hat weiß ich noch nicht, hab diesen Punkt betreffend aber keine Fehlermeldung bekommen^^

So, das Problem ist nun, dass unmittelbar nach dem Aussuchen des Bildes seitens des Users eine Textdatei neu abgespeichert werden soll. Das hat bisher auch immer gut geklappt, seitdem ich aber den Opendialog eingefügt habe, hat er den Archiv-Ordner doppelt im Dateipfad drin und bricht selbstredend mit einer Fehlermeldung ab, da der Dateipfad ja nicht mehr stimmt.
Anschaulich gesagt: Statt (Übergeordnete Dateien)\Finale Version\Archiv\Textdatei.txt versucht er auf den Dateipfad
(Übergeordnete Dateien)\Finale Version\Archiv\Archiv\Textdatei.txt zurückzugreifen, der so aber nicht richtig ist.

Meine Frage ist nun, ob es eine Möglichkeit gibt, den relativen Dateipfad quasi wieder zurückzusetzen (scheinbar hat sich ja ein \Archiv zuviel reingeschlichen).

Hoffe, ich konnte mein Problem verständlich darlegen


Danke schon mal für Eure Tipps, Ratschläge und/oder Hilfe

PS: Ich arbeite auch wirklich mit relativen Dateipfaden, d.h. ich lade die Stringliste beispielsweise über default.LoadFromFile('Archiv\Default.txt');
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.351 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Relativen Dateipfad zurücksetzen

  Alt 30. Apr 2009, 19:40
Dazu habe ich hier ausführlich eine Erklärung mit Lösung geschrieben:
http://www.delphi-library.de/viewtopic.php?p=499701

Kurz gesagt: Benutze keine relativen Pfadangaben, sonst sind Probleme vollkommen normal.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Cruentus

Registriert seit: 22. Apr 2009
32 Beiträge
 
#3

Re: Relativen Dateipfad zurücksetzen

  Alt 30. Apr 2009, 20:58
Hmm, danke schon mal für die schnelle Antwort, allerdings fürchte ich, dass der Fehler bestehen geblieben ist...hab mich aber an die verlinkte Anleitung gehalten...

Gibt es wirklich keine Möglichkeit den relativen Dateipfad zurückzusetzen???
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.351 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Relativen Dateipfad zurücksetzen

  Alt 30. Apr 2009, 21:36
Wenn du dich daran gehalten hast, dann hast du ja keine relativen Pfade mehr, also muss es an etwas anderem liegen. Wie sieht denn der Aufruf auf, bei dem der Fehler kommt?

Unsauber wäre tatsächlich das Arbeitsverzeichnis mit SetCurrentDir zurückzusetzen, aber das würdest du sicher bereuen, denn ein Dialog ist nicht das einzige, das diesen Pfad ändert. Und deshalb kannst du dich mit relativen Pfaden nie auf das Ergebnis verlassen, wenn du das nicht ganz ganz sauber planst...
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Antwort Antwort


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 20:29 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