deutschsprachige FoxPro User Group
Forum View
Home
  
  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




Harro Schippan   20.01.2022 09:16
Christian Isberner  26.01.2022 10:06
Harro Schippan  27.01.2022 13:26
Harro Schippan  27.01.2022 16:29
Christian Isberner  28.01.2022 08:02
Harro Schippan  28.01.2022 10:40
Harro Schippan  28.01.2022 13:26
S.Schabbach  07.02.2022 13:32
Harro Schippan  08.02.2022 07:10
  
zurück zum Forum