Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi anderes Prob (hab schon gesucht) INI-File Leseproblem (https://www.delphipraxis.net/12069-anderes-prob-hab-schon-gesucht-ini-file-leseproblem.html)

KoRn117 19. Nov 2003 23:22


anderes Prob (hab schon gesucht) INI-File Leseproblem
 
hi,

ich hab ne inifile geschrieben, die so aussieht:

[Lesen]
Q7=RI
[Senden]
ParallelOut=RTS
Clock=DTR

zum lesen setze ich folgenden code ein

Delphi-Quellcode:
label23.caption := inifile.ReadString('Lesen','Q7','Fehler');
er gibt aber immer nur 'Fehler' aus - sieht wohl so aus als ob ich einen hätte :-D

Was mache ich falsch? Er müsste ja eigentlich 'RI' auslesen oder sehe ich das falsch?

hier nochmal der komplette sourcecode:

beim oncreate ereignis:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var IniFile : TIniFile;
begin

inifile := TIniFile.Create('Einstellungen.ini');
  try
  label23.caption := inttostr(inifile.readinteger('senden','test',3456));
  //label23.caption := inifile.ReadString('Lesen','Q7','Fehler');
  label21.caption := inifile.ReadString('Senden','ParallelOut','Fehler');
  label22.caption := inifile.ReadString('Senden','Clock','Fehler');
  finally
  inifile.free;
  end;

end;

beim formclose
Delphi-Quellcode:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var IniFile : TIniFile;
begin
  try
  IniFile:=TIniFile.create(ExtractFilePath(Paramstr(0))+'Einstellungen.ini');
  if combobox1.Text = 'RI' then Inifile.WriteString ('Lesen','Q7','RI')
  else if combobox1.Text = 'DCD' then Inifile.WriteString ('Lesen','Q7','DCD')
  else if combobox1.Text = 'DSR' then Inifile.WriteString ('Lesen','Q7','DSR')
  else if combobox1.Text = 'CTS' then Inifile.WriteString ('Lesen','Q7','CTS')
  else Inifile.WriteString ('Lesen:','Lesen','Fehler');

  if combobox2.Text = 'RTS' then Inifile.WriteString ('Senden','ParallelOut','RTS')
  else if combobox2.Text = 'DTR' then Inifile.WriteString ('Senden','ParallelOut','DTR')
  else if combobox2.Text = 'TXD' then Inifile.WriteString ('Senden','ParallelOut','TXD')
  else Inifile.WriteString ('ParallelOut:','Senden','Fehler');

  if combobox3.Text = 'RTS' then Inifile.WriteString ('Senden','Clock','RTS')
  else if combobox3.Text = 'DTR' then Inifile.WriteString ('Senden','Clock','DTR')
  else if combobox3.Text = 'TXD' then Inifile.WriteString ('Senden','Clock','TXD')
  else Inifile.WriteString ('ParallelOut:','Senden','Fehler');

  inifile.WriteInteger('Senden','TEST',5000);

  finally
  IniFile.Free;
  end;
end; // on close

vielen dank für eure hilfe - danke

ciao :cat:

Daniel B 19. Nov 2003 23:30

Re: anderes Prob (hab schon gesucht) INI-File Leseproblem
 
Hiho,

im Close hast es ja noch richtig gemacht, mit der Pfadangabe, on Create nicht mehr :?
Delphi-Quellcode:
IniFile:=TIniFile.create(ExtractFilePath(Paramstr(0))+'Einstellungen.ini');
Du speicherst im Verzeichniss der .exe, aber beim Lesen gibst Du keinen Pfad an, somit sucht das Programm im Windows-Verzeichniss, da dort nicht vorhanden, wird die zwar angelegt, aber bei Q7= ist noch kein Wert drin, somit bekommst Du den Fehler-String.

Muetzi 19. Nov 2003 23:32

Re: anderes Prob (hab schon gesucht) INI-File Leseproblem
 
Lass das "Fehler" einfach weg und oder ersetz es durch ''! Müsste funktionieren!


Beschreibung:

Code:
var
  ini: TIniFile;
  res: string;
begin
  // Create INI Object and open or create file test.ini
  ini := TIniFile.Create('c:\MyIni.ini');
  try
    res := ini.ReadString('Section_Name', 'Key_Name', 'default value');
    MessageDlg('Value of Section: ' + res, mtInformation, [mbOK], 0);
  finally
    ini.Free;
  end;

sharkx 19. Nov 2003 23:32

Re: anderes Prob (hab schon gesucht) INI-File Leseproblem
 
Dein fehler liegt wohl hier:

Delphi-Quellcode:
IniFile:=TIniFile.create(ExtractFilePath(Paramstr(0))+'Einstellungen.ini');
.....
inifile := TIniFile.Create('Einstellungen.ini');


Denn !!!
 
TIniFile.create(ExtractFilePath(Paramstr(0))+'Einstellungen.ini'); != TIniFile.Create('Einstellungen.ini');

KoRn117 19. Nov 2003 23:40

Re: anderes Prob (hab schon gesucht) INI-File Leseproblem
 
boah

vielen dank für die schnelle hilfe :thuimb:

ich hatte alle nochmal ein paar mal nachgesehen und das wohl übersehen :P


ciao

Daniel B 19. Nov 2003 23:41

Re: anderes Prob (hab schon gesucht) INI-File Leseproblem
 
Zitat:

Zitat von sharkx
Delphi-Quellcode:
TIniFile.create(ExtractFilePath(Paramstr(0))+'Einstellungen.ini'); != TIniFile.Create('Einstellungen.ini');

=
Delphi-Quellcode:
TIniFile.create(ExtractFilePath(Paramstr(0))+'Einstellungen.ini'); <> TIniFile.Create('Einstellungen.ini');
Immer diese C'ler ;) :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:29 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz