AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Ini-Dateien aus Unterordnern laden

Ein Thema von Honigdachs · begonnen am 12. Jun 2007 · letzter Beitrag vom 12. Jun 2007
Antwort Antwort
Honigdachs
(Gast)

n/a Beiträge
 
#1

Ini-Dateien aus Unterordnern laden

  Alt 12. Jun 2007, 15:28
Hallo zusammen,

ich bin mal wieder auf der Suche nach für mich unlösbaren Problemen.
Das Problem ist, dass ich eine .ini-file in eine Listbox einlesen möchte. Dabei nutze ich extractfilepath um den Pfad der Anwendung rauszufinden. Allerdings möchte ich die .ini-file in einem Unterordner haben. Und das ist das Problem - wie kann ich Delphi mitteilen, dass es in den anderen Ordner gehen soll

MfG

Honigdachs
  Mit Zitat antworten Zitat
Benutzerbild von ErazerZ
ErazerZ

Registriert seit: 27. Mai 2005
Ort: Baden
315 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: Ini-Dateien aus Unterordnern laden

  Alt 12. Jun 2007, 15:31
Delphi-Quellcode:
const
  sFilename = '%sUnter Ordner\Meine Ini.ini';
begin
  ListBox1.Items.LoadFromFile(Format(sFilename, [ExtractFilePath(Application.ExeName)]));
  Mit Zitat antworten Zitat
Benutzerbild von patti
patti

Registriert seit: 20. Okt 2004
Ort: Mittelfranken
665 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Ini-Dateien aus Unterordnern laden

  Alt 12. Jun 2007, 15:33
pfad := ExtractFilePath(Application.ExeName) + 'NameDesOrdners/namederini.ini'; P@Tti
Patrick Kreutzer
[Informatik-Student im 4. Semester]
http://www.patti-k.de/
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#4

Re: Ini-Dateien aus Unterordnern laden

  Alt 12. Jun 2007, 15:39
Hi,
an sich hast Du ja schon zwei Vorschläge, wie man es machen könnte. Interessant ist aber schon der Punkt, dass beide ein unterschiedliches Trennzeichen für die Unterordner verwenden. Hier kann man sich natürlich leicht vertippen und deshalb ist es vielleicht Hilfreich auf die Funktion IncludeTrailingPathDelimiter zurück zu greifen (ebenfalls aus der Unit SysUtils), also:

Delphi-Quellcode:
  pfad := ExtractFilePath(ParamStr(0)) +
          IncludeTrailingPathDelimiter('NameDesOrdners') +
          'namederini.ini';
Wie Du siehst steht zudem der Name der Exe immer auch im ersten Argument, dass die Anwendung übergeben bekommt. Wenn ich mich richtig erinner war der Zugriff auf diese Variable etwas perfomanter als die zusätzliche Indirektion des Application-Objkets. Vorallem brauchst Du aber nicht die Unit Forms.

Gruß Der Unwissende
  Mit Zitat antworten Zitat
Honigdachs
(Gast)

n/a Beiträge
 
#5

Re: Ini-Dateien aus Unterordnern laden

  Alt 12. Jun 2007, 15:57
Erstmal danke für das schnelle Feedback. Ich habe es jetzt mit einer Mischung aus beiden Vorschlägen hinbekommen. Ist wahrscheinlich etwas holperig programmiert, aber seinen Zweck erfüllt es.

Noch mal vielen Dank,

MfG,

Honigdachs
  Mit Zitat antworten Zitat
Benutzerbild von dajuhsa
dajuhsa

Registriert seit: 20. Apr 2007
397 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Ini-Dateien aus Unterordnern laden

  Alt 12. Jun 2007, 18:49
jetzt mal kurz zum verständnis und weil es glaub ich ganz gut passt:

ist "'.\'" das gleiche wie "ExtractFilePath(Application.ExeName)"?
das Essen ist wie das Internet - Downstream ist immer angenehmer als Upstream
-
Warum missbraucht die ganze Programmierwelt Images als Paintboxen
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#7

Re: Ini-Dateien aus Unterordnern laden

  Alt 12. Jun 2007, 18:56
Zitat von dajuhsa:
ist "'.\'" das gleiche wie "ExtractFilePath(Application.ExeName)"?
Nein. Das fängt schon damit an, dass Du eben bei ExtractFilePath(Application.ExeName) einen wirklich kompletten String hast, der den absoluten Pfad angibt. Überleg Dir einfach mal, was passiert wenn jmd. den letzten Ordner des Pfades umbennen möchte, mit '.\' hat der diese Informationen gar nicht.
Selbst bei dem Punkt, auf den Du abzielst, ob sie den gleichen Pfad referenzieren würde ich sagen (ohne es selbst getestet zu haben), dass es sich hier um unterschiedliche Verzeichnis handeln kann. '.\' gibt (wahrscheinlich) nur das aktuelle Arbeitsverzeichnis zurück. Das ist eines der typischen Probleme, da es durch verschieden Funktionen gesetzt wird. Verwende einfach mal einen TSaveDialog, speicher etwas in einem anderen Ordner als die Ausführende .exe und schau Dir an, auf welches Verzeichnis '.\' dann verweist (speicher einfach eine andere Datei im Verzeichnis '.\').
Dann gibt es noch (bei Verknüpfungen) die Möglichkeit, dass Du eine Verknüpfung in einem anderen Verzeichnis ausführst, auch dass sollte Effekte auf '.\' haben.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 05:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf