[gelöst] String prüfen auf alphanumerische Zeichen (cc)

12. September 2012 15:34

Hallo zusammen,

ich habe folgendes Problem:

In einer bestimmten Kundenkonstellation darf Feld Your Reference nur numerisch gefüllt werden.
Da wir nur die Lizenz für das Reportdesign besitzten, habe ich eine Abfrage im Report eingebaut.
Des Weiteren habe ich per google keine Funktion gefunden, die einen String auf "numeric" prüft und bin daher folgenden Weg gegangen:

Code:
IF "Bill-to Customer No." = '12345' THEN BEGIN
   Deb2Rec.GET("Sell-to Customer No.");
    VerbandStr := COPYSTR(Deb2Rec."Verband 1",1, 5);
    IF VerbandStr = 'ABCDE' THEN BEGIN
      TempText := DELCHR("Your Reference", '=', ' ');
      RefKonvertierung := EVALUATE(TempInt, TempText);
        IF RefKonvertierung = FALSE THEN BEGIN
         MESSAGE(TextKonstante);         
         CurrReport.SKIP;
         END;
    END;
END;


Lässt sich das Feld Your Reference also nicht in eine Zahl umwandeln, kann der Report nicht gedruckt werden.

So weit so gut. Kurz vor Einspielung habe ich allerdings festgestellt, dass der Typ Integer maximal 10 Stellen haben kann :oops: , dass Feld allerdings auch mehr Zahlen enthalten kann.

Gibt es eine Funktion, die prüfen kann, ob ein String rein numerisch ist? Wie in VB etwa ISNUMERIC o.ä.?

Vielen Dank vorab und bald einen angenehmen Feierabend.

mfg howare
Zuletzt geändert von howare am 12. September 2012 16:46, insgesamt 1-mal geändert.

Re: String prüfen auf alphanumerische Zeichen (cc)

12. September 2012 16:01

Hallo howare,

NAV kennt eine solche Funktion im Standard nicht, aber man kann sie sich schnell selber schreiben:
Code:
IsNumeric(Text : Text[1024]) : Boolean
EXIT(DELCHR(Text,'=','0123456789') = ''); 

Re: String prüfen auf alphanumerische Zeichen (cc)

12. September 2012 16:44

Super, vielen Dank, genau das habe ich gesucht. :mrgreen:

Schönen Abend noch.