Autor Beitrag
Cyberbob
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 38



BeitragVerfasst: Fr 18.10.02 22:21 
Chatfix hat folgendes geschrieben:



ausblenden 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
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1333
Erhaltene Danke: 1

Arch Linux
Eclipse
BeitragVerfasst: 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:

ausblenden 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 38



BeitragVerfasst: Fr 18.10.02 22:58 
ah, nun funktioniert es, ich hatte es immer mit '..\datei.ini ' versucht


Cyberb 8) b
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: 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:
ausblenden 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:
ausblenden Quelltext
1:
//nur diese Zeile muss geändert werden					

Unbedingt sogar!
Ab in die Ecke, und schäm dich! :wink:

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:
ausblenden Quelltext
1:
ini := TIniFile.Create(ChangeFileExt(paramstr(0),'.ini'));					
DeCodeGuru
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1333
Erhaltene Danke: 1

Arch Linux
Eclipse
BeitragVerfasst: Sa 19.10.02 11:11 
shit, ich habe den Parameter vergessen :oops: 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



BeitragVerfasst: Sa 19.10.02 12:49 
DeCodeGuru hat folgendes geschrieben:
shit, ich habe den Parameter vergessen :oops: 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 ... :wink: ... 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 ... :twisted:
matze
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1333
Erhaltene Danke: 1

Arch Linux
Eclipse
BeitragVerfasst: 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* :mrgreen:

_________________
Viele Grüße
Jakob
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



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



BeitragVerfasst: 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:
ausblenden 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
ausblenden Quelltext
1:
.\meine.ini					

dann nämlich identisch mit
ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: 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 !!! :oops:]

_________________
In the beginning was the word.
And the word was content-type: text/plain.
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 19.10.02 21:30 
jetzt weiß ich auch, wessen Programme ich mal lieber nicht testen werde ... :wink:
DeCodeGuru
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1333
Erhaltene Danke: 1

Arch Linux
Eclipse
BeitragVerfasst: Sa 19.10.02 21:32 
sei nicht so gemein zu ihm :mrgreen: :wink:

_________________
Viele Grüße
Jakob
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 20.10.02 04:07 
:mrgreen:
Das ist der Zynissmus von Mathias. Einfach nicht auif die Goldwaage legen und drüber lächeln. :wink:
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: 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 :wink:). Was soll´s ...
matze
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: 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 !!! :eyes:

_________________
In the beginning was the word.
And the word was content-type: text/plain.
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 20.10.02 11:42 
Das war ja auch nicht verkehrt, matze.
Und meinen Spruch wirst du mir ja wohl nicht übelnehmen? :?

:wink:
matze
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1333
Erhaltene Danke: 1

Arch Linux
Eclipse
BeitragVerfasst: 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 :wink:

_________________
Viele Grüße
Jakob