|
|
IBAN prüfen- #24261 in section [743422] |
Sec: |
(1) Allgemeines |
Von: |
Harro Schippan |
An: |
Christian Isberner |
Am/Um: |
27.01.2022 13:26:03 gelesen |
|
|
Hallo zusammen, hat jemand eine Routine zum Prüfen der IBAN-Nummer? Ich weiß, daß hierzu das MODULO 97 Verfahren benutzt wird. Es gibt ja auch eine Regular Expression für die IBAN-Nummer. Aber die prüft ja nur formal. Ich brauche aber auch eine Routine, die die Prüfziffer checked. Eine Prüfung der BIC-Nummer wäre auch noch sinnvoll. Danke Harro
|
Hier eine Routine welche Ich verwende. Diese verwendet eine CMath Klasse welche Ich dir separat zukommen lassen könnte. LPARAMETERS tcString LOCAL lcRearrange lcRearrange = UPPER(SUBSTR(m.tcString,5) + LEFT(m.tcString,4)) LOCAL lcConvertedIban lcConvertedIban = "" LOCAL lnChar FOR lnChar = 1 TO LEN(m.lcRearrange) IF ISALPHA(SUBSTR(m.lcRearrange, m.lnChar, 1)) && A = 10, B = 11 etc. lcConvertedIban = m.lcConvertedIban + TRANSFORM(ASC(SUBSTR(m.lcRearrange, m.lnChar, 1)) - 55) ELSE lcConvertedIban = m.lcConvertedIban + SUBSTR(m.lcRearrange, m.lnChar, 1) ENDIF ENDFOR && Da der numerische Wert zu groß für VFP Berechnungen ist, benötigt man hierfür die CMath Klasse: LOCAL llRetVal llRetVal = VAL(loCMath.Mod(lcConvertedIban, "97")) = 1 Return m.llRetVal
|
Hallo Christian, ah das hört sich gut an. Kann man diese Klasse einsehen? Es muß nämlich von jemand anderem mit "Team Developer" programmiert werden. Der braucht eine Vorlage. Sitze grade dran eine Routine für die Division selbst zu basteln. Stehe aber ein wenig auf dem Schlauch. Eigentlich macht mir sowas Spaß. Leider raubt mir mein Rechner den letzten Nerv, Windows ist dauernd kaputt. Hab schon eine neue Festplatte alles bereits das vierte Mal von Grund auf neu installiert. Alle Analyse-Tools sagen es ist alles in Ordnung. und schwupps ist wieder Ende. blauer Bildschirm, es ist ein schwerwiegender Fehler aufgetreten, Windows muß neu gestartet werden. Und dann bootet der Rechner nicht mehr. Gruß Harro
|
|
|
|