Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Buchstaben und andere Zeichen erkennen (https://www.delphipraxis.net/136888-buchstaben-und-andere-zeichen-erkennen.html)

emsländer 9. Jul 2009 15:05


Buchstaben und andere Zeichen erkennen
 
Moin,

in einem String dürfen NUR Zahlen stehen. Wenn dort Buchstaben eingegeben worden sind, muss ich das erkennen.

also in der Form:

if found('abcdef....öäl/bla') dann ROTLICHT!

wie kann man das auf die Schnelle bewerkstelligen?


Nein - ich kann keine num. Var nehmen, da die Daten aus einer DB kommen

Gruss

EL

Aphton 9. Jul 2009 15:10

Re: Buchstaben und andere Zeichen erkennen
 
Überprüf doch alle einzelnen Charakter eines Strings.
Schau, ob ein Char. sich im set ( '0'..'9' ) nicht befindet!?

MfG

BrunoT 9. Jul 2009 15:12

Re: Buchstaben und andere Zeichen erkennen
 
Hallo emsländer

Delphi-Quellcode:
s:string;
i:Integer;

Begin

for i:=1 to Length(s) do
Begin
  if s[i] NOT in ['0'..'9'] then
   fehler;
end;
oder

Delphi-Quellcode:
if StrToIntDef(s,0)=0 then
fehler;
Da war einer schneller :gruebel:


mfg

Holger

emsländer 9. Jul 2009 15:15

Re: Buchstaben und andere Zeichen erkennen
 
Zitat:

Zitat von BrunoT
Hallo emsländer

Delphi-Quellcode:
s:string;
i:Integer;

Begin

for i:=1 to Length(s) do
Begin
  if s[i] NOT in ['0'..'9'] then
   fehler;
end;
oder

Delphi-Quellcode:
if StrToIntDef(s,0)=0 then
fehler;
Da war einer schneller :gruebel:


mfg

Holger


Danke!

Aphton 9. Jul 2009 15:17

Re: Buchstaben und andere Zeichen erkennen
 
BrunoT - so ( S[i] NOT in .. ) wird das nicht funzen - Syntax Fehler.

Delphi-Quellcode:
function CharInStr( Str: String ): Cardinal;
var
  i: Integer;
begin
  Result := 0;
  for i := 1 to Length(Str) do
    if not( Str[i] in ['0'..'9'] ) then
    begin
      Result := i;
      Exit;
    end;
end;
Diese Funktion liefert dir, falls sich ein Zeichen, das <> '0'..'9' ist, im Übergabeparameter befindet, ihren Index; ansonsten 0.

Konkret:

Code:
var x: Cardinal;

x := CharInStr( '12379A' );
x wäre 6

x := CharInStr( '123790' );
x wäre 0

BrunoT 9. Jul 2009 15:22

Re: Buchstaben und andere Zeichen erkennen
 
Hallo Aphton,

du hast ja recht, das war quick 'n durty, sorry

Holger

emsländer 9. Jul 2009 15:34

Re: Buchstaben und andere Zeichen erkennen
 
Zitat:

Zitat von BrunoT
Hallo Aphton,

du hast ja recht, das war quick 'n durty, sorry

Holger

der hier

if StrToIntDef(s,0)=0 then
fehler;

reichte vollkommen!

Danke

Gruss

EL

Namenloser 9. Jul 2009 15:53

Re: Buchstaben und andere Zeichen erkennen
 
Zitat:

Zitat von emsländer
if StrToIntDef(s,0)=0 then
fehler;

reichte vollkommen!

Und was machst du, wenn in s '0' steht? Dann gibt dieser Code auch einen Fehler aus.

Sharky 10. Jul 2009 10:44

Re: Buchstaben und andere Zeichen erkennen
 
Gab es in Pascal nicht den Befehl Delphi-Referenz durchsuchenVAL? :stupid:

Muetze1 10. Jul 2009 10:46

Re: Buchstaben und andere Zeichen erkennen
 
Delphi-Referenz durchsuchenTryStrToInt()


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:49 Uhr.
Seite 1 von 2  1 2      

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