![]() |
Prüfen ob String = Farbcode ist
Hallo ich möchte gerne einen String aus edit1 auf gültigkeit prüfen.
Es ist so dort kann ein Farbcode eingegeben werden, und jetzt möchte ich wissen, ob es auch ein gültiger Farbcode ist. z.B wenn der User #232399 eingegeben hätte, dann ist alles ok und wenn im edit feld aber 232399 oder etwas ganz anderes steht dann soll eine Meldung kommen mit kein gültiger Farbwert. Problem ist, dass es so viele Farbcodes gibt d.H der User muss ja auch #2833AA eingeben können usw. Jetzt weiß ich leider nicht, wie ich auf Farbcodes prüfen kann. Als Idee hatte ich es so, das man die StringLänge prüft muss dan = 7 sein und dass man das erste Zecihen prüft dieses muss dann also # sein, und dann müsste man prüfen, ob die restlichen zeichen ungleich 1,2,3,4,5,6,7,8,9,A,B,C,D,E,F sind und wenn ja dann ist die eingabe falsch. Allerding weiß ich nicht genau wie ich das machen kann? Ich könnte zwar jeden string prüfen wäre aber glaube ich etwas aufwendig wenn ich alle positionen prüfe oder? gibt es vielleicht eine bessere Möglichkeit? |
Re: Prüfen ob String = Farbcode ist
Delphi-Quellcode:
//Tags vergessen und verschrieben :)
try
StringToColor() except {war wohl nix} end; |
Re: Prüfen ob String = Farbcode ist
Farbstrings fangen soweit ich weiß immmer mit "$00" an... dann halt zusätzlich noch die Stringlänge überprüfen und dann dürfte es eigentlich keine Probleme geben..
|
Re: Prüfen ob String = Farbcode ist
1) Länge prüfen
2) Erstes Zeichen zu '$' machen 3) StrToInt(TEdit.Text) -> bei Exception kein gültiger Zahlenwert ;) Gruss, Fabian |
Re: Prüfen ob String = Farbcode ist
Deine Idee mit dem Farbcode ist nix, das blickt kein normaler Mensch.
Zur Auswahl einer Farbe verwendet man TColorDialog. Sollte TColorDialog zu wenig Funktionalität für deine Zwecke besitzen, gibt es ungefähr 200 andere Controls, die das mehr oder weniger gut können. z.B.: ![]() |
Re: Prüfen ob String = Farbcode ist
Zitat:
|
Re: Prüfen ob String = Farbcode ist
Hallo,
Zitat:
Gruß xaromz //Edit: Rechtschreibung |
Re: Prüfen ob String = Farbcode ist
Ich wiederhole mich ja nur ungern :mrgreen: , aber warum machst du nicht einfach:
Delphi-Quellcode:
Dann kann da auch nichts passieren und es erfüllt doch das was du willst oder?
try
StringToColor(Edit1.Text) except ShowMessage('Kein gültiger Farbwert'); end; |
Re: Prüfen ob String = Farbcode ist
Zitat:
OH StrToInt konvertiert den in S angegebenen String in einen Integer-Wert. S muss die Entsprechung eines ganzzahligen Wertes (dezimal oder hexadezimal) sein. Enthält er keinen gültigen Wert, wird eine EConvertError-Exception ausgelöst. :!: Aber was spricht gegen deinen eigenen Vorschlag? Weniger aufwendig geht schlecht, denn wie willst du einen String validieren, ohne alle Zeichen zu prüfen? [add]Wenn du den String im Erfolgsfall auch konvertieren willst, bietet sich natürlich Lols Variante an :wink: .[/add] |
Re: Prüfen ob String = Farbcode ist
Zitat:
Ich habe auch gleich nach dem Post deinen Vorschlag benutzt hatte aber den Vorschlag von dizzy (doof wie ich bin) nicht ganz verstanden. Deshalb habe ich noch gepostet denn ich wusste nicht dass ein $ am Anfang -> einen Hex-String liefert. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:06 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