| Autor | Beitrag | 
| Cyberbob 
          Beiträge: 38
 
 
 
 
 | 
Verfasst: Fr 18.10.02 21: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 21: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 werdentry
 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 21: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 07: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 10: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 11: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 12: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 13: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 14: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 15: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 19: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 20: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 20:32 
 
sei nicht so gemein zu ihm    _________________ Viele Grüße
 Jakob
 | 
|  | 
| Luckie Ehemaliges Mitglied
 Erhaltene Danke: 1
 
 
 
 
 | 
Verfasst: So 20.10.02 03: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 08: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 09: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 10: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 11: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 12: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
 | 
|  |