Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Ini's: ReadBoll-Problem
Fabian W. - Sa 28.05.05 16:02
Titel: Ini's: ReadBoll-Problem
Delphi-Quelltext
1:
| Fett := readbool('bt'+inttostr(hbt),'Bold',Fett); |
Obwohl da 'true' drinsteht behält die Variable den vorherzugewiesenen Wert 'false'.
Sieht jemand nen Fehler?
alias5000 - Sa 28.05.05 16:07
Titel: Re: Ini's: ReadBoll-Problem
Fabian W. hat folgendes geschrieben: |
Delphi-Quelltext 1:
| Fett := readbool('bt'+inttostr(hbt),'Bold',Fett); |
|
müsste dann heißen:
Delphi-Quelltext
1:
| Fett := readbool('bt'+inttostr(hbt),'Bold',true (!!!!!) ); |
oder du setzt Fett vorher auf true
teebee - Sa 28.05.05 16:12
ReadBool unterscheidet nicht die Strings 'True' oder 'False' sondern '0' und nicht '0'.
Gruß, teebee
alias5000 - Sa 28.05.05 16:30
teebee hat folgendes geschrieben: |
ReadBool unterscheidet nicht die Strings 'True' oder 'False' sondern '0' und nicht '0'.
Gruß, teebee |
Neeeee,
ReadBool funktioniert mit bool'schen Werten, also true oder false (intern natürlich mit Strings, aber das ist doch hier nicht wichtig). Da kannst du mir erzählen was du willst.
Das oben war bloß ein schreibfehler.
teebee - Sa 28.05.05 16:42
Auszug aus der inifiles.pas:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| function TIniFile.ReadBool(const Section, Ident: string; Default: Boolean): Boolean; begin Result := ReadInteger(Section, Ident, Ord(Default)) <> 0; end;
procedure TIniFile.WriteBool(const Section, Ident: string; Value: Boolean); const Values: array[Boolean] of string = ('0', '1'); begin WriteString(Section, Ident, Values[Value]); end; |
Gruß, teebee
alias5000 - Sa 28.05.05 16:50
teebee hat folgendes geschrieben: |
Auszug aus der inifiles.pas:
[delphi]function TIniFile.ReadBool(const Section, Ident: string;
Default: Boolean): Boolean;
|
Bitte schön, der Parameter Default ist boolean;
@Fabian: geht's?
Fabian W. - Sa 28.05.05 16:52
| Zitat: |
Delphi-Quelltext 1:
| Fett := readbool('bt'+inttostr(hbt),'Bold',true (!!!!!) ); | |
Es kann sein dass in der Ini true oder false steht, das ist euch klar? das vorher zugewiesene false ist nur zum initialiesieren.
Eurer Meinung nach müsste es so gehen:
Delphi-Quelltext
1: 2:
| Fett := false; Fett := readbool('bt'+inttostr(hbt),'Bold',true); |
gut ich versuch's mal.
Fabian W. - Sa 28.05.05 16:54
Der von mir jetzt genannte Code setzt fett zwar auf true, aber wenn false in der Ini steht auch auf true.
Steh ich völlig auf der Leitung, oder is das n rießen Sch****?
teebee - Sa 28.05.05 16:55
alias5000 hat folgendes geschrieben: |
| Bitte schön, der Parameter Default ist boolean; |
Eben. Und 'Fett' ist ja auch als Boolean deklariert. Bei entsprechender Vorbelegung also kein Problem die Variable zu benutzen.
Gruß, teebee
Fabian W. - Sa 28.05.05 16:57
Könnten wir uns zuerst um mein Problem kümmern? Dann streite ich gern mit :wink:
teebee - Sa 28.05.05 16:59
In der Ini darf nicht 'True' oder 'False' stehen, sondern '0' (für False) und '1' für True.
Aber wer streitet denn hier?
alias5000 - Sa 28.05.05 17:03
Ok, also letzter Tipp, bist du dir sicher, dass die angeforderte Section existiert?
Lannes - Sa 28.05.05 17:04
Hallo,
Das letzte Argument für ReadBool ist ein Default-Wert, der eingesetzt wird, wenn ReadBool fehlschlägt.
Setz doch da mal False ein.
Fabian W. - Sa 28.05.05 17:06
Ja natürrlich besteht die section. Ich hba den fehler jetzt gefunden, danke.
Vor der Null 1 warn Leerzeichen.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!