![]() |
Ini-Fehler?!?
Hi,
wenn ich Daten aus der Ini auslese geht alles wunderbar. Doch wenn ich ein String leer ist und ich ihn trotzdem auslese, dann schreibt er mir immer die Caption des Forms in die Memos rein. Bsp:
Delphi-Quellcode:
Wie kann ich das unterdrücken...
Ini-Datei:
[Wert] Linie0=500 Linie1= Linie2=500 Linie3= Linie4= Linie5= Linie6= Linie7= Linie8= #Das Auslesen# for i:=0 to 99 do begin Memo3.Lines.Add(ini.ReadString('Wert','Linie'+IntToStr(i),text)); #Memo sieht so aus# 500 Datenbank 500 Datenbank Datenbank Datenbank Datenbank Datenbank Datenbank Datenbank Datenbank Datenbank |
Re: Ini-Fehler?!?
Hai DJ-SPM,
was steht denn in deiner Variablte text? Diese ist ja der Defaultwert der von .ReadString zurückgegeben wird wenn in dem entsprechenden Eintrag nicht steht. |
Re: Ini-Fehler?!?
Zitat:
Insofern ist es nicht verwunderlich, wenn Du selbige als Standardwert bei ReadString angibst. Lösung: schreib anstatt text '' oder EmptyString. |
Re: Ini-Fehler?!?
Text ist in dem Sinne keine Variable, die definiert worden ist. Das nehme ich immer dann, wenn in der Ini was steht und der es auslesen soll, was unter einem String abgespeichert worden ist Hoffe du verstehst es.
|
Re: Ini-Fehler?!?
Zitat:
Zitat:
Zitat:
|
Re: Ini-Fehler?!?
Haha, urkomisch ;-)
Ne, im ernst. Wie soll denn ein Abruf aus einer ini aussehen, wenn ich einen String abfragen will? |
Re: Ini-Fehler?!?
Zitat:
Zitat:
ps: normalerweise schreibt man die Anzahl auch in die INI-Sektion:
Code:
[Wert]
[color=red]Count=2[/color] Linie0=foo Linie1=bar |
Re: Ini-Fehler?!?
Wenn ich das richtig verstehe, dann willst du nen leeren String zurückbekommen, falls kein Eintrag gefunden wird!?
Falls ja, dann hilft wohl...
Code:
ini.ReadString('Wert', 'Linie' + IntToStr(i), ''));
|
Re: Ini-Fehler?!?
Wenn ich diesen Code anwende, dann ist immer alles leer. Also müsste ich theoretisch folgendes eingeben:
Delphi-Quellcode:
Hoffe, ich habe mich jetzt nicht vertan:
for i:=0 to 99 do begin
IF (ini.ReadString('Wert', 'Linie' + IntToStr(i), text)) <> (ini.ReadString('Wert', 'Linie' + IntToStr(i), '')) THEN Memo1.Lines.Add(ini.ReadString('Wert', 'Linie' + IntToStr(i), text)) ELSE Memo1.Lines.Add(ini.ReadString('Wert', 'Linie' + IntToStr(i), '')); Also, wenn der Wert aus der Ini nicht leer ist, dann fügt er den Wert aus der Ini ein. Wenn er aber leer ist, dann fügt er auch nur eine leere Zeile hinzu. Aber das klappt auch nicht. Jetzt schreibt er keine 99 Zeilen mit Datenbank voll, sonder nur die erste... |
Re: Ini-Fehler?!?
Zitat:
Probier's mal damit ... :wink:
Delphi-Quellcode:
x := ini.ReadString('Wert', 'Linie' + IntToStr(i), '');
if x <> '' then Memo1.Lines.Add (x); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:34 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz