Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Lazarus (IDE) (https://www.delphipraxis.net/81-lazarus-ide/)
-   -   String auf Zahlen/Buchstaben überprüfen (https://www.delphipraxis.net/185876-string-auf-zahlen-buchstaben-ueberpruefen.html)

ngott2 14. Jul 2015 12:20

String auf Zahlen/Buchstaben überprüfen
 
Hallo!

Code:
var
numbers:set of '0'..'9';
ABC:String;

begin
numbers:=['0'..'9'];
ABC:=InToStr(8);

If ABC in Numbers then
begin
showmessage ('8 ist im Set Numbers');
end
end.
Normalerweise sollte dieser Code ausgeben, wenn in dem ABC eine Zahl steht.
Dies geschieht leider nicht. Er bricht beim 'in' ab und gibt ein Operator
not overloaded aus.
Schreibe ich statt einer Variable eine Zahl,Buchstabe etc.. Funktioniert es so wie es soll

Beispiel:
...
if '9' in Numbers then
..

Wie behebe ich diesen Fehler?[Entschuldigt die Anfängerfehler bitte^^]

BUG 14. Jul 2015 12:35

AW: String auf Zahlen/Buchstaben überprüfen
 
ABC ist ein Zeichenkette, während Numbers eine Menge von Zeichen ist. Du musst also für jedes Zeichen in ABC testen, ob es in Numbers ist.
Zum Beispiel mit einer for-Schleife.

ngott2 14. Jul 2015 12:50

AW: String auf Zahlen/Buchstaben überprüfen
 
Zitat:

Zitat von BUG (Beitrag 1308654)
ABC ist ein Zeichenkette, während Numbers eine Menge von Zeichen ist. Du musst also für jedes Zeichen in ABC testen, ob es in Numbers ist.
Zum Beispiel mit einer for-Schleife.

ABC ist die Variable die mit einer Zahl etc gefüttert wird. Mit aufgelösten Variablen würde da stehen:

if '8' in numbers then...

Ich will ja nicht den Namen der Variable analysieren,sondern den Variable-Inhalt.
Meinetwegen kann ich die Variable X nennen und da kommt immer noch der selbe Fehler =)

baumina 14. Jul 2015 12:54

AW: String auf Zahlen/Buchstaben überprüfen
 
Sobald du die Variable nicht als String sondern als Char definierst, müsste es funktionieren.

ngott2 14. Jul 2015 13:02

AW: String auf Zahlen/Buchstaben überprüfen
 
Zitat:

Zitat von baumina (Beitrag 1308658)
Sobald du die Variable nicht als String sondern als Char definierst, müsste es funktionieren.

Ach natürlich
:wall:
Danke!

BUG 14. Jul 2015 13:03

AW: String auf Zahlen/Buchstaben überprüfen
 
EDIT: Zu langsam :mrgreen:

Zitat:

Zitat von ngott2 (Beitrag 1308657)
Delphi-Quellcode:
if '8' in numbers then...

Das ist etwas verwirrend, da ' für Zeichenketten/String-Literale als auch für Char-Literale verwendet wird.
Von den Typen her ist würde das Folgende eher der Variante mit der Variable entsprechen:
Delphi-Quellcode:
if '13' in numbers then...


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