Heb vroeger een gelijkaardige project geschreven in vb6, heb het even aangepast voor uw project.
Verwijder de "finance.bas" module uit het bovenstaand project en plaats onderstaande code in je "OGMGEN" form.
Code:
Option Explicit
Const sOGM_MASK_FORMAT = "+++K/F/C+++" ' zonder spaties
'Const sOGM_MASK_FORMAT = "+++ K/F/C +++ " ' met spaties
Private Sub Form_Load()
Text1.Text = "2561024768" ' voorbeeld nummer
End Sub
Private Sub Command1_Click()
Dim sNormal As String
Dim sStruct As String
OGM_Generate Text1.Text, sNormal, sStruct
Text2.Text = sNormal
Text3.Text = sStruct
End Sub
Private Sub Command2_Click()
Clipboard.Clear
Clipboard.SetText Text2.Text
End Sub
Private Sub Command3_Click()
Clipboard.Clear
Clipboard.SetText Text3.Text
End Sub
Private Function OGM_Generate(ByVal sInput As String, _
ByRef sOutput1 As String, _
ByRef sOutput2 As String)
If IsNumeric(sInput) And Len(sInput) = 10 Then ' "2561024768"
Dim ubRest As Byte
ubRest = CDbl(sInput) - (Int(CDbl(sInput) / 97) * 97) ' "19"
sOutput1 = sInput & Format(ubRest, "00") ' "256102476819"
Dim str As String
str = sOGM_MASK_FORMAT ' = "+++K/F/C+++"
str = Replace(str, "K", Mid(sOutput1, 1, 3)) ' K = "256" klant nummer
str = Replace(str, "F", Mid(sOutput1, 4, 4)) ' F = "1024" factuur nummer
str = Replace(str, "C", Mid(sOutput1, 8, 5)) ' C = "76819" controle nummer
sOutput2 = str ' = "+++256/1024/76819+++"
Else
MsgBox "Onjuist Nummer.", , "Error"
sOutput1 = ""
sOutput2 = ""
End If
End Function