Farbe umwandeln funktioniert nicht
hi nochmal!
ich weiß ich bin nervig aber ihr seit meine einzige hoffnung... :roll: Folgendes: hab mir die funktion
Delphi-Quellcode:
gebastelt.
function TForm2.ColorToStr(AFarbe: Variant): String;
begin case AFarbe of clRed:Result := 'Rot'; .... ich möchte nun einen Db-Datensatz in eine LV eintragen:
Delphi-Quellcode:
Wert wird richtig geladen aber bei der umwandlung kommt der fehler:
...
FarbCodeText := Dm1.AdoQuery1.FieldByName('FarbCodeName').AsVariant; ... Item.SubItems.Add(ColorToStr(FarbCodeText)); ... Variante des Typs(String) konnte nicht in Typ(Boolean) konvertiert werden wie kommt er auf BOOLEAN !?!?!? :wall: info: meine tabelle enthält ca. 40 farben |kategorieNr|kategorieName|farbcode|farbName| |----------1|----Sonstiges|-------0|-clBlack| farbcode wird automatisch generiert (höchste zahl +1) kategorieNr = autowert farbname = farbe aus TColorBox Name= string ;-) .... |
Re: Farbe umwandeln funktioniert nicht
Hallo,
wie schaut es denn aus wenn Du anstatt FarbCodeText := Dm1.AdoQuery1.FieldByName('FarbCodeName').AsVarian t; FarbCodeText := Dm1.AdoQuery1.FieldByName('FarbCodeName').AsString ; nimmst. Vorausgesetzt FarbCodeText ist ein String. Grüße Klaus |
Re: Farbe umwandeln funktioniert nicht
passiert das selbe....
ich wollte schon die funktion umändern auf
Delphi-Quellcode:
aber da meldet der compiler ordinaltyp erforderlich?!?
function ColorToStr(AFarbe:String):String;
begin case AFarbe of 'clRed':Result := 'Rot'; .... end; end; |
Re: Farbe umwandeln funktioniert nicht
function ColorToStr(AFarbe:String):String;
begin case AFarbe of 'clRed':Result := 'Rot'; .... end; end; AFarbe ist kein Ordinaltyp also ein einfachh abzählbarer Typ sein muß. Was hat denn FarbCodeText für eine Typdeclartion? Grüße Klaus |
Re: Farbe umwandeln funktioniert nicht
zuerst war er variant dann hab ich es mit string getestet,
beides funktioniert nicht.... deine aussage zu der funktion hab ich nicht ganz verstanden :? |
Re: Farbe umwandeln funktioniert nicht
FarbCodeText := Dm1.AdoQuery1.FieldByName('FarbCodeName').AsString ;
In diesem Konstrukt, was für ein Typ ist FarbCodeText? |
Re: Farbe umwandeln funktioniert nicht
...string...
|
Re: Farbe umwandeln funktioniert nicht
Schau dir mal den Eintrag in der OnlineHilfe zu Case an. Du benötigst einen ordinalen (abzählbaren) Typ, wie zB Integer, Char,... Sprich, jeder annehmbare Wert hat genau einen Vorgänger und einen Nachfolger. Das wäre zB bei Booleans, Integers, Chars, ... der Fall, aber eben leider nicht bei Strings oder Floats.
|
Re: Farbe umwandeln funktioniert nicht
ok. danke...deswegen funktioniert die geänderte function nicht...
aber mein problem, siehe ganz oben ist aber damit nicht gelöst :wall: |
Re: Farbe umwandeln funktioniert nicht
Hallo Alex,
du speicherst in deiner Tabelle FarbCode und FarbName redundant. Als FarbName würde ich 'Schwarz' und nicht 'clBlack' speichern, da clBlack schon durch FarbCode festgelegt ist:
Delphi-Quellcode:
Grüße vom marabu
uses
Graphics; // ColorToString() var sFarbe, sColor: string; c: TColor; begin c := TColor(Dm1.AdoQuery1.FieldByName('FarbCode').AsInteger); sFarbe := Dm1.AdoQuery1.FieldByName('FarbName').AsString; sColor := ColorToString(c); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:53 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