![]() |
IBAN Prüfsumme
Hallo Leute,
ich will die 2-stellige Prüfzahl für das neue SEPA-Überweisungssystem in der der IBAN ermitteln. Das sieht so aus: DEppbbbbbbbbkkkkkkkkkk DE = Deutschland pp = zu ermittelnde Prüfzahl b... = 8-stellige (alte) Bankleitzahl k... = 10-stellige Kontonummer evt. von links mit 0 auffüllen. Hie Methode findet ihr hier: ![]() Hier ist mein Quelltext:
Delphi-Quellcode:
Das Ganze scheitert an der viel zu großen Zahl IBANint64, die selbst für 64-Bit zu groß ist!
procedure TForm1.btmBerechneClick(Sender: TObject);
var IBAN, Ps: string; IBANint64: int64; Rest: Integer; function LCinZahl(LC: string): string; var i: Integer; begin Result:=''; for i:=1 to 2 do Result:=Result + IntToStr(Ord(LC[i])-55); end; begin if (Length(ledLC.Text) < 2) or (Length(ledBLZ.Text) < 8) or (Length(ledKTN.Text) < 10) then begin beep; ledLC.SetFocus; end; Ps:=LCinZahl(ledLC.Text); IBAN:=ledBLZ.Text + ledKTN.Text + Ps + '00'; IBANint64:=StrToInt64(IBAN); Rest:=IBANint64 mod 97; Rest:=98 - 10; Ps:=IntToStr(Rest); if Rest < 10 then Ps:='0'+Ps; IBAN:=ledLC.Text + Ps + ledBLZ.Text + ledKTN.Text; ledIBAN.Text:=IBAN; end; Wie komme ich witer, wie errechnen die Banken die Prüfzahl? Gruß Willie. |
AW: IBAN Prüfsumme
Hallo,
folgende Funktion ermöglicht die Konstruktion einer deutschen IBAN.
Delphi-Quellcode:
Ist Account kürzer als 10 Zeichen, müssen führende Nullen angefügt werden.
//BankCode ... Bankleitzahl
//Account ... Kontonummer FUNCTION CreateGermanIBAN(Const BankCode,Account:String):String; var cs, i,cc:integer; s:string; begin if (Length(BankCode)<>8) or (Length(Account)<>10) then begin result:=''; Exit; end; s:=BankCode+Account+'131400'; // 131400 = 'DE00' cs:=0; for i:=1 to Length(s) do begin cs:=(cs*10+Ord(s[i])-Ord('0')) mod 97; end; cc:=98-cs; if cc<2 then inc(cc,97); // 00-->97, 01--> 98 result:='DE00'; result[3]:=Chr(cc div 10+Ord('0')); result[4]:=Chr(cc mod 10+Ord('0')); result:=result+BankCode+Account; end; Beste Grüße Mathematiker |
AW: IBAN Prüfsumme
Vielen Dank an den Mathematiker. Ich habe es sofort mit den eigenen Kontonummern gechekt.
Schönen Abend Willie. |
AW: IBAN Prüfsumme
Zitat:
Die häufigste Abweichung bei den Prüfziffer - Verfahren 13 - Commerzbank, SEB... 63 Deutsche Bank... C7 Norisbank Hier sind 7 - stellige Kontonummern Unterkonten und erhalten nur eine führende Null und 2 am Ende. Die anderen 1000 Regeln spar ich mir, da hat sich ja schon jemand hier im Forum die Arbeit gemacht! Frank |
AW: IBAN Prüfsumme
Zitat:
|
AW: IBAN Prüfsumme
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:00 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz