On 10.01.2014 07:04, Jörg Schmidt wrote: > Hallo, > >> -----Original Message----- >> From: RA Stehmann [mailto:anw...@rechtsanwalt-stehmann.de] > >> Das Hauptverfahren zur Berechnung der Prüfziffer der IBAN >> kann übrigens >> nicht in einem Starbasic-Makro umgesetzt werden, da der zu >> bearbeitende >> Integerwert zu viele Stellen hat. > > Man kann das als Stringberechnung implementieren. Ich bin zu faul es selbst > hinzuschreiben, weswegen ich auf ein Beispiel in VBA verweise: > http://www.ms-office-forum.net/forum/showthread.php?t=259499 > > Dort ist nur in der Zeile die eine Fehlermeldung wegen des Dateityps bringt > ein > VAL() zu ergänzen, aus: > bytPrd = Mid$(strNo1, lngVar1, 1) * Mid$(strNo2, lngVar2, 1) + bytCarry > > Wird also: > > bytPrd = VAL(Mid$(strNo1, lngVar1, 1)) * VAL(Mid$(strNo2, lngVar2, 1)) + > bytCarry >
Das ist das Hauptverfahren: Zunächst wird aus der Bankleitzahl, der gegebenenfalls mit führenden Nullen auf zehn Ziffern aufgefüllten Kontonummer (Werte gilt für Deutschland) und der Zahl 1314 (=DE) und dann noch zwei Nullen eine Zahl gebildet, aus der die Prüfziffer errechnet wird. Dies erfolgt nach folgender Methode: Aus der genannten Zahl wird Modulo 97 berechnet und von 98 abgezogen. Ist die Prüfziffer einstellig, wird sie mit einer führenden Null aufgefüllt. Sodann wird die IBAN wie folgt gebildet: DE, zweistellige Prüfziffer, Bankleitzahl und zehnstellige Kontonummer. Das Problem ist, dass der so gebildete Integerwert, auf den die Modulo-Operation anzuwenden ist, für einige Programmiersprachen zu groß ist. (Mit Python beispielsweise geht es.) Daher gibt es ein Hilfsverfahren: http://www.pruefziffernberechnung.de/I/IBAN.shtml Gruß Michael
signature.asc
Description: OpenPGP digital signature