AGB  ·  Datenschutz  ·  Impressum  







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

Inifile Problem

Ein Thema von Maximum · begonnen am 4. Mär 2015 · letzter Beitrag vom 6. Mär 2015
Antwort Antwort
Seite 3 von 3     123   
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#21

AW: Inifile Problem

  Alt 6. Mär 2015, 12:47
Ich vermute nach wie vor hier den zumindest ersten Fehler, zumal der TE bisher nicht weiter darauf einging, abgesehen von der richtigen Änderung zu "-Dir" statt "-Path" in diesem Fall:
Delphi-Quellcode:
  dir:=GetApplicationDirectory+n;
  Ini:=TIniFile.Create(dir+'\'+n+'.ini');
Mal in Prosa. GetApplicationDirectory() liefert vermutlich etwas dieser Art zurück:
C:\Projekte\MeinProgramm

Jetzt wird "n" dazu gepackt. Angenommen n = 'Hallo':
C:\Projekte\MeinProgrammHallo

Dann wird ein '\' und nochmals "n" sowie '.ini' drangehängt:
C:\Projekte\MeinProgrammHallo\Hallo.ini

SOLL DAS "HALLO" WIRKLICH AN DAS VERZEICHNIS GEPACKT WERDEN, TE!? Weil es wirkt auf mich so, als wäre das eine sehr seltsame Struktur.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#22

AW: Inifile Problem

  Alt 6. Mär 2015, 12:58
@Medium

Du nimmst falsch an, denn in dem Quelltext vom TE steht
Delphi-Quellcode:
function GetApplicationDirectory: string;
begin
  GetApplicationDirectory := ExtractFilePath(ParamStr(0));
end;
Also wird dort etwas in der Art zurückgeliefert
Code:
C:\Foo\Blup\App\
Jetzt wird dort der Name angehängt
Delphi-Quellcode:
  dir:=GetApplicationDirectory + n;
  Ini:=TIniFile.Create( dir + '\' + n + '.ini' );
und wir erhalten
Code:
n => 'bmifoo'

dir => 'C:\Foo\Blup\App\bmifoo'
inifile => 'C:\Foo\Blup\App\bmifoo\bmifoo.ini'
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: Inifile Problem

  Alt 6. Mär 2015, 13:24
@Medium

Du nimmst falsch an, denn in dem Quelltext vom TE steht ...
Drum kam auch was von mir

Warum gibt GetApplicationDirectory den Path und nicht das Directory zurück?

Dir = ohne abschließendes \
Path = mit



Und für aktuellere Delphis: Delphi-Referenz durchsuchenTPath.Combine
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#24

AW: Inifile Problem

  Alt 6. Mär 2015, 14:13
Huaaaaaa, ich habe da doch echt ExtractFileDir() gelesen in seinem aktuellsten Schnipsel. Gut, dass gleich Wochenende ist.
Nichtsdestotrotz bin ich nach wie vor skeptisch. Vor allem, weil TIniFile.Create() keine Exception auslöst, wenn man einen nicht existenten Pfad angibt. Vielleicht wäre es zum Testen vorläufig besser, wenn man den kompletten absoluten Pfad zu der INI als String am Stück im Code nimmt. Einfach um wirklich gaaaaanz sicher zu sein, dass da auch wirklich etwas gelesen werden kann. (Bisher haben wir ja nichtmal eine Bestätigung, dass die Schleifen überhaupt durchlaufen. Oder ob sl.Count beim Durchsteppen wirklich >0 ist. Ich glaube irgendwie noch nicht so recht, dass da überhaupt eine INI mit Inhalt geöffnet wird.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: Inifile Problem

  Alt 6. Mär 2015, 14:29
Zitat:
Nichtsdestotrotz bin ich nach wie vor skeptisch.
Ich nicht, denn ich weiß warum das so ist.

Schau dir mal an was für eine API verwendet wird ... die öffnet für jeden einzelnen Value-Zugriff die INI, liest sie neu ein, ändert den Wert und speichert alles.
MSDN-Library durchsuchenWritePrivateProfileString
Wenn nichts im Contructor gemacht wird, außer sich den Dateinamen in einer Variable zu merken ... wo soll denn da ie Exception/Fehlerprüfung her kommen?

Delphi-Referenz durchsuchenTMemIniFile
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#26

AW: Inifile Problem

  Alt 6. Mär 2015, 15:49
Es wäre halt so unglaublich simpel, dies als Fehlerquelle ein für alle Male auszuschließen. Keine Minute Arbeit. Ich habe daher keine Lust mehr darüber zu streiten. Wenn der TE Bock hat, macht er's, wenn nicht dann nicht. Mir langsam pupsegal.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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:15 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