![]() |
Vergleiche
Hallo!
Ich les zwei Strings ein, die zu Int konvertiert werden: zahl1 := StrToInt(Edit1.Text); zahl2 := StrToInt(Edit3.Text); Nun moechte ich., dass man bei zahl1 bzw. zahl2 keine Buchstaben eingeben darf. Hab jetzt mal ein array erstellet: [snip] TVokal = set of Char; . . vokale := ['a'..'z']; [snip] und will dann vergleichen: if zahl1 in vokale then Er sagt mir, dass es inkompatible Formate sind(int und char), was ja auch stimmt ;) Wie loese ich das am Besten? Gibts dafuer viell. ne bequeme Funktion? :) Soll ich den char zu int konvertieren? (komplizierter loesungsweg, oder?) Danke im Vorraus :) |
Hallo und herzlich Willkommen im Forum!
Nun, es wäre einfacher einfach in den Edits erst recht keine Buchstaben zuzulassen, dann muss Du auch nichts mehr überprüfen, spart Arbeit und Zeit. Siehe ![]() Grüsse, Daniel :hi: |
So gez auch
Code:
function IsStrANumber(const S: string): Boolean;
begin Result := True; try StrToInt(S); except Result := False; end; end; |
Das ist ja einfach :)
Danke Euch beiden vielmals. |
Zitat:
Viell. kann mir ja nochmal jmd. helfen...Wenn ich den Code von oben nehm, bricht er an der Stelle " StrToInt(S); " ab sobald S: keine Zahl ist. Ist ja auch richtig so bloss soll ja keine Fehlermeldung kommen, sondern eben ein irgend ne Warnung etc.... |
Hi,
keine Panik! Die Fehlermeldung kommt nur im Debug-Modus. Durch den try except end Block hast du mit Aufruf der Exe keine Meldung mehr. Hier wird im Code ja mit Result := False auf das Exception-Ereignis reagiert und für die weitere Behandlung zur Laufzeit richtig verarbeitet. Also mal bei Exception-Behandlung in der Hilfe reinschauen. Gruß oki |
merci :coder:
:) |
Vorsicht, Du solltest Dir auch im Klaren sein, dass obiger Code auch XCA als Zahl anerkennt. Das kommt von der hexadezimalen Notation für 0xCA = 202
...:cat:... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:34 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