Autor |
Beitrag |
Jukka
      
Beiträge: 107
Win XP Pro
Delphi 7
|
Verfasst: Do 17.08.06 12:58
Hallo,
Mir ist das jetzt schon öffters passiert. ich hab es selbst nach einem Tutorial genau gemacht jedoch geht es imemrnochnicht. Ich habe eine normale ini-datei in der Strings stehen und die möchte ich auslesen:
Zitat: | [language]
...
warning2=Datei konnte nicht gefunden werden!
... |
Das ist der teil der INI-Datei
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| uses , inifiles; procedure TForm1.FormShow(Sender: TObject); var ini: TIniFile; begin ini:=TIniFile.Create('language.ini'); try label1.Caption := ini.ReadString('language','warning2',''); except showmessage('Can''t read language-file!'); ini.free; close; end; ini.free; end; |
bei ReadString ist der letzte Parameter ja normal der Default wert falls die datei nicht vorhanden ist. Jedoch gibt das Programm nur imemr diesen wert aus. Ich habe schoneinmal gebprüft ob die sectionen etc existieren. Ergebniss: Ja
Ich hoffe mir kann da wer helfen
MfG Ju, Danke im vorraus
|
|
Jinnay
      
Beiträge: 70
Delphi 6
|
Verfasst: Do 17.08.06 13:11
Muss man der Ini-File nicht eigentlich einen kompletten Pfad zuweisen?
Also nicht bloß...
Delphi-Quelltext 1:
| ini:=TIniFile.Create('language.ini'); |
sondern
Delphi-Quelltext 1:
| ini:=TIniFile.Create('C:\language.ini'); |
oder
Delphi-Quelltext 1:
| ini:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'language.ini'); |
...korrigiert mich wenn ich falsch liege, ich benutze meist Textfiles und da ist es jedenfalls so ^^
|
|
Jukka 
      
Beiträge: 107
Win XP Pro
Delphi 7
|
Verfasst: Do 17.08.06 13:13
Oh daran gab ich garnicht gedacht .. naja in dne tutorials steht das nie xD
Danke geht ^^
|
|
rd3
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 17.08.06 13:15
bei mir hat der code funktioniert... hätte es zwar ein bisschen anders gemacht, aber egal.
nein, man braucht keinen kompletten pfad zuweisen. gibt man nur den dateinamen ein, wird per default das systemverzeichnis benutzt, ansonsten der eingegebene pfad.
|
|
Jinnay
      
Beiträge: 70
Delphi 6
|
Verfasst: Do 17.08.06 13:17
Ja, aber dann müsste die INI ja im Systemverzeichnis liegen, und wenn sie es nicht tut findet er sie halt nicht...
|
|
rd3
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 17.08.06 13:20
wenn die ini nicht da ist, dann werden einfach die defaultwerte benutzt...
|
|
Jinnay
      
Beiträge: 70
Delphi 6
|
Verfasst: Do 17.08.06 13:24
Ja, und in dem Fall kommt doh bei obigem Quelltext die Fehlermeldung das er sie nicht findet
Ist ja auch egal, Frage ist geklärt und es Funktioniert.
Denn bei ihm war es ja der fehlende Pfad ^^
|
|
teamrocket0
      
Beiträge: 177
Erhaltene Danke: 1
Win ME, Win XP, Win 7, Win 10
Delphi 7, 10.2 Tokyo
|
Verfasst: Do 07.09.06 14:04
Ich habe ein ähnliches Problem. Die ini-Datei wird zwar richtig geschrieben, aber nicht gelesen
Zum lesen benutzte ich folgenden Quelltext:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| procedure TForm1.FormActivate(Sender: TObject); var ARect: TRect; ini: TIniFile; check1: Boolean; check2: Boolean; begin ini:=TIniFile.Create('einstellungen.ini'); try Checkbox1.Checked:=ini.ReadBool('Checkboxen','Checkbox1',check1); Checkbox2.Checked:=ini.ReadBool('Checkboxen','Checkbox2',check2); finally ini.free; end;
end; |
Zum schreiben diesen:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); var ini: TIniFile; check1: boolean; check2: Boolean; begin check1:=checkbox1.Checked; check2:=checkbox2.Checked; ini:=TIniFile.create(ExtractFilePath(ParamStr(0))+ 'einstellungen.ini'); ini.WriteBool('Checkboxen','Checkbox1',check1); ini.WriteBool('Checkboxen','Checkbox2',check2); SaveStringGridToFile(StringGrid1, 'Dateiname.txt'); end; |
Weiß einer wo der Fehler liegt?
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Do 07.09.06 14:25
_________________ We are, we were and will not be.
|
|
teamrocket0
      
Beiträge: 177
Erhaltene Danke: 1
Win ME, Win XP, Win 7, Win 10
Delphi 7, 10.2 Tokyo
|
Verfasst: Do 07.09.06 14:29
Das habe ich nicht gesehen!
Danke, jetzt funzt es!
|
|
Ironwulf
      
Beiträge: 733
Erhaltene Danke: 2
|
Verfasst: Do 07.09.06 14:47
woran liegt das dann das ich bei meinen programmen nie nen pfad angeben muss un der die trotzdem nur vom pgrammverzeichnis ausgeht?
|
|