AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Farbe umwandeln funktioniert nicht

Ein Thema von alexo · begonnen am 7. Dez 2005 · letzter Beitrag vom 7. Dez 2005
Antwort Antwort
Seite 1 von 2  1 2      
alexo

Registriert seit: 30. Nov 2005
36 Beiträge
 
#1

Farbe umwandeln funktioniert nicht

  Alt 7. Dez 2005, 09:45
hi nochmal!

ich weiß ich bin nervig aber ihr seit meine einzige hoffnung...


Folgendes:

hab mir die funktion

Delphi-Quellcode:
function TForm2.ColorToStr(AFarbe: Variant): String;
begin
 case AFarbe of
  clRed:Result := 'Rot';
....
gebastelt.


ich möchte nun einen Db-Datensatz in eine LV eintragen:

Delphi-Quellcode:
...
FarbCodeText := Dm1.AdoQuery1.FieldByName('FarbCodeName').AsVariant;
...
Item.SubItems.Add(ColorToStr(FarbCodeText));
...
Wert wird richtig geladen aber bei der umwandlung kommt der fehler:


Variante des Typs(String) konnte nicht in Typ(Boolean) konvertiert werden


wie kommt er auf BOOLEAN !?!?!?

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

....
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Farbe umwandeln funktioniert nicht

  Alt 7. Dez 2005, 10:18
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
Klaus
  Mit Zitat antworten Zitat
alexo

Registriert seit: 30. Nov 2005
36 Beiträge
 
#3

Re: Farbe umwandeln funktioniert nicht

  Alt 7. Dez 2005, 10:23
passiert das selbe....



ich wollte schon die funktion umändern auf

Delphi-Quellcode:
function ColorToStr(AFarbe:String):String;
begin
 case AFarbe of
  'clRed':Result := 'Rot';
....
  end;
end;
aber da meldet der compiler ordinaltyp erforderlich?!?
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Farbe umwandeln funktioniert nicht

  Alt 7. Dez 2005, 10:30
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
Klaus
  Mit Zitat antworten Zitat
alexo

Registriert seit: 30. Nov 2005
36 Beiträge
 
#5

Re: Farbe umwandeln funktioniert nicht

  Alt 7. Dez 2005, 10:44
zuerst war er variant dann hab ich es mit string getestet,

beides funktioniert nicht....


deine aussage zu der funktion hab ich nicht ganz verstanden
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: Farbe umwandeln funktioniert nicht

  Alt 7. Dez 2005, 10:46
FarbCodeText := Dm1.AdoQuery1.FieldByName('FarbCodeName').AsString ;

In diesem Konstrukt, was für ein Typ ist FarbCodeText?
Klaus
  Mit Zitat antworten Zitat
alexo

Registriert seit: 30. Nov 2005
36 Beiträge
 
#7

Re: Farbe umwandeln funktioniert nicht

  Alt 7. Dez 2005, 10:48
...string...
  Mit Zitat antworten Zitat
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Farbe umwandeln funktioniert nicht

  Alt 7. Dez 2005, 10:49
Schau dir mal den Eintrag in der OnlineHilfe zu Delphi-Referenz durchsuchenCase 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.
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  Mit Zitat antworten Zitat
alexo

Registriert seit: 30. Nov 2005
36 Beiträge
 
#9

Re: Farbe umwandeln funktioniert nicht

  Alt 7. Dez 2005, 10:50
ok. danke...deswegen funktioniert die geänderte function nicht...

aber mein problem, siehe ganz oben ist aber damit nicht gelöst
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#10

Re: Farbe umwandeln funktioniert nicht

  Alt 7. Dez 2005, 11:15
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:
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;
Grüße vom marabu
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:56 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