Autor Beitrag
Jukka
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 107

Win XP Pro
Delphi 7
BeitragVerfasst: 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

ausblenden 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
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 70


Delphi 6
BeitragVerfasst: Do 17.08.06 13:11 
Muss man der Ini-File nicht eigentlich einen kompletten Pfad zuweisen?
Also nicht bloß...
ausblenden Delphi-Quelltext
1:
  ini:=TIniFile.Create('language.ini');					


sondern
ausblenden Delphi-Quelltext
1:
  ini:=TIniFile.Create('C:\language.ini');					


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

Win XP Pro
Delphi 7
BeitragVerfasst: 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



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 70


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



BeitragVerfasst: Do 17.08.06 13:20 
wenn die ini nicht da ist, dann werden einfach die defaultwerte benutzt...
Jinnay
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 70


Delphi 6
BeitragVerfasst: Do 17.08.06 13:24 
Ja, und in dem Fall kommt doh bei obigem Quelltext die Fehlermeldung das er sie nicht findet :wink:
Ist ja auch egal, Frage ist geklärt und es Funktioniert.
Denn bei ihm war es ja der fehlende Pfad ^^
teamrocket0
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 177
Erhaltene Danke: 1

Win ME, Win XP, Win 7, Win 10
Delphi 7, 10.2 Tokyo
BeitragVerfasst: 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:

ausblenden 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:
//Starteeinstellungen
procedure TForm1.FormActivate(Sender: TObject);
var
  ARect: TRect;
  ini: TIniFile;
  check1: Boolean;
  check2: Boolean;
begin
//INI-Datei lesen
  ini:=TIniFile.Create('einstellungen.ini');
  try
     Checkbox1.Checked:=ini.ReadBool('Checkboxen','Checkbox1',check1);
     Checkbox2.Checked:=ini.ReadBool('Checkboxen','Checkbox2',check2);
    {form1.left:=ini.ReadInteger('Fensterposition','Left',0);
    form1.top:=ini.ReadInteger('Fensterposition','Top',0);}

  finally
    ini.free;
  end;
//Lesen beendet

{weiterer Quelltext}

end;



Zum schreiben diesen:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
//beim beenden Speichern
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var ini: TIniFile;
    check1: boolean;
    check2: Boolean;
begin
check1:=checkbox1.Checked;
check2:=checkbox2.Checked;
//ini-Datei schreiben
  ini:=TIniFile.create(ExtractFilePath(ParamStr(0))+ 'einstellungen.ini');
  ini.WriteBool('Checkboxen','Checkbox1',check1);
  ini.WriteBool('Checkboxen','Checkbox2',check2);
//ini schreiben beendet
SaveStringGridToFile(StringGrid1, 'Dateiname.txt');
end;


Weiß einer wo der Fehler liegt?
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Do 07.09.06 14:25 
user profile iconteamrocket0 hat folgendes geschrieben:
ausblenden Delphi-Quelltext
1:
2:
  //INI-Datei lesen
  ini:=TIniFile.Create('einstellungen.ini');


user profile iconteamrocket0 hat folgendes geschrieben:
ausblenden Delphi-Quelltext
1:
2:
  //ini-Datei schreiben
  ini:=TIniFile.create(ExtractFilePath(ParamStr(0))+ 'einstellungen.ini');


Weiß einer wo der Fehler liegt?

Ja:
user profile iconJinnay hat folgendes geschrieben:
Ja, aber dann müsste die INI ja im Systemverzeichnis liegen, und wenn sie es nicht tut findet er sie halt nicht...


Klar? Du liest im Systemverzeichnis, schreibst aber ins Programmverzeichnis ;-)

_________________
We are, we were and will not be.
teamrocket0
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 177
Erhaltene Danke: 1

Win ME, Win XP, Win 7, Win 10
Delphi 7, 10.2 Tokyo
BeitragVerfasst: Do 07.09.06 14:29 
:autsch: :autsch: :autsch:
Das habe ich nicht gesehen!
Danke, jetzt funzt es!
Ironwulf
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 733
Erhaltene Danke: 2



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