Autor |
Beitrag |
Cyberbob
      
Beiträge: 38
|
Verfasst: Fr 18.10.02 22:21
Chatfix hat folgendes geschrieben: |
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| ini := TIniFile.Create('c:\meineini.ini'); // INI erstellen und falls vorhanden initialisieren try ini.WriteString('Sektion1','Eigenschaft1','Dein String'); // String in Sektion1 unter Eigenschaft1 abspeichern ini.WriteInteger('Sektion2','Eigenschaft2',1234); // Intergerwert (1234) in Sektion2 unter Eigenschaft2 abspeichern finally ini.Free; // Variable ini wieder freigeben end; |
|
Hierzu habe ich eine Frage, wie kann ich das machen, das die ini Datei im selben Verzeichnis erstellt, bzw. ausgelesen wird, in der das Hauptprog. ist?
|
|
DeCodeGuru
      
Beiträge: 1333
Erhaltene Danke: 1
Arch Linux
Eclipse
|
Verfasst: Fr 18.10.02 22:44
Wie man das Verzeichnis des Hauptprogramms ermittelt, wurde im Forum schon einige Male besprochen. Hier haste aber nochmal ein Beispiel:
Quelltext 1: 2: 3: 4: 5: 6: 7:
| ini := TIniFile.Create(ExtractFilePath+'meineini.ini'); //nur diese Zeile muss geändert werden try ini.WriteString('Sektion1','Eigenschaft1','Dein String'); ini.WriteInteger('Sektion2','Eigenschaft2',1234); finally ini.Free; end; |
_________________ Viele Grüße
Jakob
|
|
Cyberbob 
      
Beiträge: 38
|
Verfasst: Fr 18.10.02 22:58
ah, nun funktioniert es, ich hatte es immer mit '..\datei.ini ' versucht
Cyberb  b
|
|
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Sa 19.10.02 08:51
Cyberbob hat folgendes geschrieben: | ah, nun funktioniert es |
Wirklich? Wenn ich mir die Zeile aus DeCodeGurus Quelltext so ansehe:
DeCodeGuru hat folgendes geschrieben: | Quelltext 1:
| ini := TIniFile.Create(ExtractFilePath+'meineini.ini'); | |
dann hoffe ich, du hast den Fehler selbsttätig ausgebessert?
DeCodeGuru: Du hast recht mit deinem Kommentar:
Zitat: | Quelltext 1:
| //nur diese Zeile muss geändert werden | |
Unbedingt sogar!
Ab in die Ecke, und schäm dich!
Noch ein genereller Nachtrag -
Wenn die INI-Datei nicht bloß im selben Verzeichnis wie das Programm liegt, sondern wenn sie auch den selben Dateinamen hat (nur eben die Endung ".ini"), dann gibt´s also simpelste aller Zugriffsmöglichkeiten noch diese:
Quelltext 1:
| ini := TIniFile.Create(ChangeFileExt(paramstr(0),'.ini')); |
|
|
DeCodeGuru
      
Beiträge: 1333
Erhaltene Danke: 1
Arch Linux
Eclipse
|
Verfasst: Sa 19.10.02 11:11
shit, ich habe den Parameter vergessen  Tut mir leid. Stand wohl etwas aufm Schlauch. Also Parameter mustse halt dann ParamStr(0) oder Application.Exename übergeben (Wenn du mit der VCL codest).
_________________ Viele Grüße
Jakob
|
|
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Sa 19.10.02 12:49
DeCodeGuru hat folgendes geschrieben: | shit, ich habe den Parameter vergessen Tut mir leid. Stand wohl etwas aufm Schlauch. |
Na gut. Darfst wieder aus der Ecke rauskommen.
Zitat: | Also Parameter mustse halt dann ParamStr(0) oder Application.Exename übergeben (Wenn du mit der VCL codest). |
Hm, obwohl ...  ... da man "paramstr(0)" auch in der VCL verwenden kann (weil "Application.ExeName" strenggenommen nichts anderes ist), kommst du bitte rückwärts aus der Ecke raus ... 
|
|
matze
      
Beiträge: 4613
Erhaltene Danke: 24
XP home, prof
Delphi 2009 Prof,
|
Verfasst: Sa 19.10.02 13:01
es würde auch klappen wenn du .\meine.ini reintippen würdest !!!
_________________ In the beginning was the word.
And the word was content-type: text/plain.
|
|
DeCodeGuru
      
Beiträge: 1333
Erhaltene Danke: 1
Arch Linux
Eclipse
|
Verfasst: Sa 19.10.02 14:10
Zitat: | Hm, obwohl ... ... da man "paramstr(0)" auch in der VCL verwenden kann (weil "Application.ExeName" strenggenommen nichts anderes ist), kommst du bitte rückwärts aus der Ecke raus ... |
*Schnief* 
_________________ Viele Grüße
Jakob
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Sa 19.10.02 15:21
matze hat folgendes geschrieben: | es würde auch klappen wenn du .\meine.ini reintippen würdest !!! |
Aber nur, wenn du nachher mit deiner Ini-Datei Verstecken spielen willst.
|
|
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Sa 19.10.02 16:46
Ich glaube, wir müssen matze halt noch mal sagen, dass der Punkt nicht das Programmverzeichnis sondern das Arbeitsverzeichnis ist.
matze: der Punkt ist das Arbeitsverzeichnis, in dem das Programm aktiv wird. Wenn die viel Glück hast, ist es zufällig mit dem Programmverzeichnis der Exe identisch. Aber schon die Anweisung:
Quelltext 1:
| SetCurrentDir('C:\SonstWoHin'); |
irgendwo im Programm ändert die ganze Sache. Wenn du nach so einer Anweisung versuchst, deinen Vorschlag umzusetzen, dann wirst du sehen, dass es nicht klappt, weil
Quelltext
dann nämlich identisch mit
Quelltext 1:
| C:\SonstWoHin\meine.ini |
ist.
An "paramstr(0)" + "ExtractFilePath" führt also kein Weg vorbei, wenn du wissen willst, wo die EXE liegt.
|
|
matze
      
Beiträge: 4613
Erhaltene Danke: 24
XP home, prof
Delphi 2009 Prof,
|
Verfasst: Sa 19.10.02 20:04
echt ?? uups !!! Shit !!!
Man lernt halt nie aus !!!
[ganz nebenbei: jetzt weiss ich acuh warum ein paar proggis von mir auf manchen systemen rumzicken !!!  ]
_________________ In the beginning was the word.
And the word was content-type: text/plain.
|
|
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Sa 19.10.02 21:30
jetzt weiß ich auch, wessen Programme ich mal lieber nicht testen werde ... 
|
|
DeCodeGuru
      
Beiträge: 1333
Erhaltene Danke: 1
Arch Linux
Eclipse
|
Verfasst: Sa 19.10.02 21:32
sei nicht so gemein zu ihm 
_________________ Viele Grüße
Jakob
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: So 20.10.02 04:07
Das ist der Zynissmus von Mathias. Einfach nicht auif die Goldwaage legen und drüber lächeln. 
|
|
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: So 20.10.02 09:12
Genau!
Ich will hier ja nicht wirklich jemanden beleidigen ... abgesehen davon, kann ich auch einstecken (manchmal muss ich das sogar  ). Was soll´s ...
|
|
matze
      
Beiträge: 4613
Erhaltene Danke: 24
XP home, prof
Delphi 2009 Prof,
|
Verfasst: So 20.10.02 10:18
mooooment mal !!! 5 min, nachdem ich das gelesen hab, hab ich sämtliche porggis von mir umgebaut !!! also bitte nicht meckern !!! 
_________________ In the beginning was the word.
And the word was content-type: text/plain.
|
|
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: So 20.10.02 11:42
Das war ja auch nicht verkehrt, matze.
Und meinen Spruch wirst du mir ja wohl nicht übelnehmen?

|
|
matze
      
Beiträge: 4613
Erhaltene Danke: 24
XP home, prof
Delphi 2009 Prof,
|
Verfasst: So 20.10.02 12:40
nein, ich nehm dir das nicht übel.
Ich schliesse mich einfach der meinug von luckie an:
Luckie hat folgendes geschrieben: | Das ist der Zynissmus von Mathias. Einfach nicht auif die Goldwaage legen und drüber lächeln. |
_________________ In the beginning was the word.
And the word was content-type: text/plain.
|
|
DeCodeGuru
      
Beiträge: 1333
Erhaltene Danke: 1
Arch Linux
Eclipse
|
Verfasst: So 20.10.02 13:00
Zitat: | Das ist der Zynissmus von Mathias. Einfach nicht auif die Goldwaage legen und drüber lächeln. |
Gut zu wissen 
_________________ Viele Grüße
Jakob
|
|