Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Welche Strings sind ok für => StrToBool (https://www.delphipraxis.net/43508-welche-strings-sind-ok-fuer-%3D-strtobool.html)

torud 5. Apr 2005 07:45


Welche Strings sind ok für => StrToBool
 
Hallo Leute!

Ich habe mal versucht den Wert eines DB-Feldes (Boolean) auszulesen. Als Klartext steht dort manchmal True/False oder Wahr/Falsch. Ich wollte nun diesen Wert einfach von String nach Boolean konvertieren lassen, erhalte aber die Fehlermeldung, dass "Wahr" kein gültiger boolscher Wert ist.

Hm, warum das denn nicht???

Was kann ich da nun machen? Das hier ist doch polnisch, oder?

Delphi-Quellcode:
If Feldtext = 'Wahr' then Wert := true;

Muetze1 5. Apr 2005 07:57

Re: Welche Strings sind ok für => StrToBool
 
Moin!

Willst du wirklich verlangen das die Funktion StrToBool() alle Sprachen der Welt beherrscht und somit auch alle "True/False" Konstrukte aus allen Sprachen in ein Boolean umsetzen kann?

Da musst du dir wohl was eigenes schreiben...

Delphi-Quellcode:
  Result := AnsiSameText(Wert, 'wahr') Or AnsiSameText(Wert, 'true');
MfG
Muetze1

Sharky 5. Apr 2005 07:59

Re: Welche Strings sind ok für => StrToBool
 
Hai torud,
das Feld in der Tabelle enthält keinen String für True/False. Dies wird in den Grids und anderen Visuellen DB-Komponenten nur so angezeigt. Das Feld liefert dir einen Boolean wert zurück.

Stevie 5. Apr 2005 08:05

Re: Welche Strings sind ok für => StrToBool
 
Hi torud,

du musst die Strings für True und False erweitern.
Das machst du wie folgt:
Delphi-Quellcode:
SetLength(TrueBoolStrs, Succ(Length(TrueBoolStrs)));
TrueBoolStrs[Pred(Length(TrueBoolStrs))] := 'Wahr';

SetLength(FalseBoolStrs, Succ(Length(FalseBoolStrs)));
FalseBoolStrs[Pred(Length(FalseBoolStrs))] := 'Falsch';
MfG
Stevie

3_of_8 5. Apr 2005 15:40

Re: Welche Strings sind ok für => StrToBool
 
Man kann sich ja eine eigene function basteln:

Delphi-Quellcode:
function strtoboolean(s: String): Boolean; //Wer will kann auch strtobool...override; schreiben
begin
result:=False;
s:=lowercase(s);
if (s='wahr')or(s='ja')or(s='wasweisichnochalles') then result:=True;
end;

Aenogym 5. Apr 2005 16:11

Re: Welche Strings sind ok für => StrToBool
 
es gibt in der unit, in der StrToBool definiert ist, eine aufzählung. diese kann man im programm sogar verändern und damit eigene srtrings als repräsentant für "true" und "false" definieren.

aenogym

3_of_8 5. Apr 2005 16:16

Re: Welche Strings sind ok für => StrToBool
 
Und ich hab mir wieder umsonst eine Aufzählung geschrieben...

Muetze1 5. Apr 2005 16:16

Re: Welche Strings sind ok für => StrToBool
 
Moin!

Zitat:

Zitat von Aenogym
es gibt in der unit, in der StrToBool definiert ist, eine aufzählung. diese kann man im programm sogar verändern und damit eigene srtrings als repräsentant für "true" und "false" definieren.

Ja, hat Stevie samt Beispiel aufgezeigt.

Zitat:

Zitat von 3_of_8
Man kann sich ja eine eigene function basteln:
Delphi-Quellcode:
function strtoboolean(s: String): Boolean; //Wer will kann auch strtobool...override; schreiben
begin
result:=False;
s:=lowercase(s);
if (s='wahr')or(s='ja')or(s='wasweisichnochalles') then result:=True;
end;

Ja, habe ich auch schon samt Beispiel aufgezeigt.

Lest ihr die vorhandenen Beiträge überhaupt noch bevor ihr antwortet??

MfG
Muetze1

3_of_8 5. Apr 2005 16:37

Re: Welche Strings sind ok für => StrToBool
 
Puh, nur leicht überflogen. So schlimm ist es ja wohl wieder auch nicht, oder?

Pr0g 5. Apr 2005 16:45

Re: Welche Strings sind ok für => StrToBool
 
Zitat:

Zitat von 3_of_8
Puh, nur leicht überflogen. So schlimm ist es ja wohl wieder auch nicht, oder?

Dann aber sehr leicht :lol:

Man sollte die Beiträge anderer vor dem Posten schon lesen und eventuelle Informationen mit in seinen eigenen Post einbeziehen.

MfG Pr0g


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:19 Uhr.
Seite 1 von 2  1 2      

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