Hallo,
folgende Funktion ermöglicht die Konstruktion einer deutschen IBAN.
Delphi-Quellcode:
//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;
Ist Account kürzer als 10 Zeichen, müssen führende Nullen angefügt werden.
Beste Grüße
Mathematiker