Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi DElphi-Bug? Implizite Umwandlung Bool>String>Bool? (https://www.delphipraxis.net/111839-delphi-bug-implizite-umwandlung-bool-string-bool.html)

alzaimar 10. Apr 2008 07:50

Datenbank: Egal • Zugriff über: egal

DElphi-Bug? Implizite Umwandlung Bool>String>Bool?
 
Ahoj,

Ich verwende gerade BDS2006, deutsche Version und hab ein 'kleines' Problem.

Delphi-Quellcode:
Var
  s : String;
Begin
  s := MyDataSet['BooleanField'].AsString;
  MyDataSet['BooleanField'].AsVariant := s;
...
Hat bisher (englischges Delphi 6) immer funktioniert, d.h. 's' ist 'True' bzw. 'False' und in der 2.Zeile funktioniert die Umwandlung wie gehabt.

Beim (deutschen) BDS2006 nicht mehr, denn 's' ist 'Wahr' bzw. 'Falsch'.


Kleine Frage: Ist das eher ein Bug von Delphi, oder ein Bug von mir? Nach meinem Verständnis sollte der Quelltext in beliebigen Delphi-(Sprach)-Versionen auch identische Resultate erzielen, oder?

Sharky 10. Apr 2008 08:04

Re: DElphi-Bug? Implizite Umwandlung Bool>String>Bool?
 
Hai alzaimar,

der "Bug" liegt wohl in der DBConst.pas. In der deutschen Version steht
Delphi-Quellcode:
STextFalse = 'Falsch';
STextTrue = 'Wahr';

alzaimar 10. Apr 2008 08:12

Re: DElphi-Bug? Implizite Umwandlung Bool>String>Bool?
 
Tach, woher das kommt, ist mir einigermaßen klar, nur das das so sein SOLL, ist mir nicht klar.

Daher die philosphische Frage, wessen Bug das ist, meiner oder Delphi's ?

Weiterhin dachte ich mir, das 'AsString' -wenn nicht überschrieben- die Umkehrfunktion von 'AsVariant' sei, dem ist aber wohl nicht so. Na denn.

RavenIV 10. Apr 2008 08:20

Re: DElphi-Bug? Implizite Umwandlung Bool>String>Bool?
 
Also bei BooltToStr kann man festlegen, wie die entsprechenden Texte heissen sollen.
Such mal in der Delphi-Hilfe bei BoolToStr.

edit:
Die beiden Variablen sind: TrueBoolStrs und FalseBoolStrs

Union 14. Apr 2008 17:20

Re: DElphi-Bug? Implizite Umwandlung Bool>String>Bool?
 
Zitat:

Daher die philosphische Frage, wessen Bug das ist, meiner oder Delphi's ?
Das ist kein Delphi Bug ;) Wenn Du das alte Verhalten mit einer lokalisierten Delphi-Version haben willst, musst Du TBooleanField.DisplayValues := 'True;False' verwenden. Oder Du trennst Verarbeitung und GUI-Funktionen voneinander.

Der.Kaktus 14. Apr 2008 17:25

Re: DElphi-Bug? Implizite Umwandlung Bool>String>Bool?
 
Hallo,

Sharky gab doch den Tip mit dem Language aendern in der "dbconst.pas"..musst Dich entscheiden..Deutsch oder Englisch ;-)

alzaimar 14. Apr 2008 18:29

Re: DElphi-Bug? Implizite Umwandlung Bool>String>Bool?
 
Wie man das ändert und was man dagegen alles unternehmen kann, ist mir ja klar. Aber mittlerweile habe ich auch den Fehler entdeckt.

Ich habe erwartet, das 'AsString' der Getter und 'AsVariant' der Setter für boolsche Felder ist. Das ist natürlich absoluter Quark, denn wieso sollte das so sein? 'AsVariant' ist natürlich sowohl Getter als auch Setter.

Union hat mich wegen der Bemerkung 'Darstellung von Funktionalität' trennen gebracht. Natürlich ist 'AsString' eine Darstellung eines boolschen Feldes, während 'AsVariant' die Funktion implementiert...
Zitat:

Zitat von Der.Kaktus
Hallo,
Sharky gab doch den Tip mit dem Language aendern in der "dbconst.pas"..musst Dich entscheiden..Deutsch oder Englisch ;-)

Nö, eben nicht, wenn man Funktion und Darstellung trennt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:19 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