![]() |
TBooleanHelper
Hallo,
ich habe mehrere Variablen vom Typ Boolean, die ich mit einem jeweils anderen Text versehen will. FalseBoolStrs := ['Aus']; TrueBoolStrs:=['An']; B1.ToString(TUseBoolStrs.true); .. B2.ToString(TUseBoolStrs.true); .. B3.ToString(TUseBoolStrs.true); B1,B2,B3 kommen in mehreren Units vor und werden benutzt. Meine Frage: Ich muss also jedes mal FalseBoolStr, .. neu definieren, wenn B?.ToString vorkommt? Dass FalseBoolStrs, .. ein Array sind, hilft mir hier nicht weiter? Willie. |
AW: TBooleanHelper
Ich denke, du kannst dir sicher eine globale Funktion schreiben, die einen Boolean in einen string passend konvertiert. Diese dann einfach in eine utils unit und überall einbinden. Fertig ;-)
Wenn die utils unit zu groß wird, aufteilen. Aber so eine Bool => String methode ist ja einfach zu testen, klein und pur => sollte kein Problem darstellen, wenn die global ist. |
AW: TBooleanHelper
Erstmal: NIEMALS die Default aus diesen Variablen löschen, sondern Deines nur anhängen.
Jedes BoolToStr, StrToBool, Boolean.ToString usw. verwendet Dieses. Aber am Besten du schreibst dir hierfür ein eingene Funktion, bzw. eigenen Helper, oder wie wäre es mit
Delphi-Quellcode:
?
IfThen(B1, 'An', 'Aus')
|
AW: TBooleanHelper
Alternativ kann man auch eine globale Konstante erstellen:
Delphi-Quellcode:
Von einem Überschreiben der Standard-Arrays würde ich auch abraten. Die werden auch an anderen Stellen benutzt.
const
cBoolStr: array[Boolean] of string = ['aus', 'an']; ... cBoolStr[B1]; cBoolStr[B2]; cBoolStr[B3]; |
AW: TBooleanHelper
Zitat:
Delphi-Quellcode:
Uwe Raabe, Globale Konstante: an diese Möglichkeit hatte ich gedacht aber ich wollte die Helferlein benutzen. Aber so könnte ich das Brett an der dünnsten Stelle bohren. Trotzdem effektiv!
const
cBoolStr: array[Boolean] of string = ['aus', 'an']; Willie. |
AW: TBooleanHelper
Zitat:
|
AW: TBooleanHelper
Das bedeutet, mit SetLength(True/FalseBoolStrs, 0) setze ich wieder auf die Defaultwerte zurück? Wi.
|
AW: TBooleanHelper
Zitat:
|
AW: TBooleanHelper
oder
Delphi-Quellcode:
, was auch einem SetLength 0 entspricht.
FalseBoolStrs := nil;
|
AW: TBooleanHelper
Delphi-Quellcode:
Ich will es so machen und in einer Tool-Bibliothek ablegen. Geht das in Ordnung?
function BoolToStrs(B: Boolean; const Falsestr, Truestr: string): string;
begin if (FalseStr <> '') and (Truestr <> '') then begin FalseBoolStrs := [Falsestr]; TrueBoolStrs := [Truestr];; end; Result := B.ToString(TUseBoolStrs.True); FalseBoolStrs := nil; //zurück auf Defaultwerte. TrueBoolStrs := nil; end; Willie. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:46 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