SEPA Prüfziffer berechnen

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
Stuhli
Beiträge: 75
Registriert: 18.10.2004 10:05

SEPA Prüfziffer berechnen

Beitrag von Stuhli »

Hallo, ich habe da ein Verwaltungsprogramm für Mitglieder geschrieben und dies läuft nun schon sehr lange stabil. Es wurden bisher über 1000 Daten hinterlegt und alles ist gut. Nun kommt aber der SEPA Krams und ich hänge etwas.

Ums meinem Kunden einfach zu machen, wollte ich ein kleines Tool schreiben, mit dem ich die Kundendaten einlese und die IBAN automatisch generiere. Ist auch alles soweit logisch, aber...

Wie kann ich die 24 stellige Zahl (bestehend aus BLZ + KTO + "131400") anzeigen und dann durch 97 teilen um die Prüfziffer zu ermitteln ? :? Ich kann so große Zahlen gar nicht anzeigen lassen. Wer kann mir da helfen ??
SYNTAX ERROR IN 30! TYPE MISMATCH
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7039
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: SEPA Prüfziffer berechnen

Beitrag von STARGÅTE »

Hier das sollte mit beliebig langen Zahlen und kleinen Dividorn gehen:

Code: Alles auswählen

Procedure.i StringMod(Number.s, Divisor.i)
	Protected Length.i = Len(Str(Divisor))
	Protected MaxLength.i = Len(Number)
	Protected Result.i
	While Length <= MaxLength
		Result = Val(Left(Number, Length)) % Divisor
		Number = RSet(Str(Result), Length) + Mid(Number, Length+1)
		Length + 1
	Wend
	ProcedureReturn Result
EndProcedure

Debug StringMod("358976457823465234783264", 97)
Ist nicht schnell, weil es mit Strings arbeitet, aber funktionsfähig.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
Stuhli
Beiträge: 75
Registriert: 18.10.2004 10:05

Re: SEPA Prüfziffer berechnen

Beitrag von Stuhli »

VIELEN DANK ! Hat super geklappt ! Genau das habe ich gesucht !! :bounce:
SYNTAX ERROR IN 30! TYPE MISMATCH
Antworten