Hallo Leute,
ich habe hier schon oft Lösungsansätze für meine Probleme gefunden, um weiter zu kommen mit dem was ich so für mich programmiere.
Aber nun stehe ich vor einem Problem, bei dem ich selbst auf Google und hier nicht wirklich was zu finde.
Ich versuche einen berechneten Aktivierungscode mit einem eingegeben Aktivierungscode zu vergleichen.
Beide sind in einem String festgehalten.
Die Berechnung / Erzeugung sieht so aus:
Der String der an die Funktion übergeben wird sieht so aus: 26042018-Lar-Her
Der eingegebene Aktivierungscode ist folgender: 14233220-1432527-73536289-73415789
so nun versuche ich anhand der Seriennummer einen Aktivierungscode zu erzeugen
Nach dem klicken auf den Button erhalte ich die Meldung "geht nicht"
Die Strings sind beide identisch aber ich habe das Phänomen, dass der String Test1 keine zusätzlichen Zeichen angehängt bekommt ("!") wenn ich die TestMessagebox öffne.
Hat vielleicht schon mal jemand einen solchen Effekt gehabt?
LG
Bull
ich habe hier schon oft Lösungsansätze für meine Probleme gefunden, um weiter zu kommen mit dem was ich so für mich programmiere.
Aber nun stehe ich vor einem Problem, bei dem ich selbst auf Google und hier nicht wirklich was zu finde.
Ich versuche einen berechneten Aktivierungscode mit einem eingegeben Aktivierungscode zu vergleichen.
Beide sind in einem String festgehalten.
Die Berechnung / Erzeugung sieht so aus:
VB.NET-Quellcode
- Private Function AktivierungscodeErzeugen(sText As String)
- Dim alphabet As String = "ß5|Ö*1$A3°Ä7=B2#ü§9C4'y6}D)8w7_E0[uF/sGq:HoI;mJk( Ki""LgM,eNc.Oa>PäQ!Rd{Sf-T&hUj\VlW^nXp%YrZ+tv]x?zö<Ü"
- Dim Aktivierungscode As String = ""
- Dim Durchgang As String = "1"
- For i = 0 To sText.Length - 1
- If alphabet.Contains(sText(i)) = True Then
- Dim pos As Integer = alphabet.IndexOf(sText(i))
- Select Case Durchgang
- Case "1"
- Aktivierungscode &= pos
- Durchgang = "2"
- Case "2"
- Aktivierungscode &= pos
- Durchgang = "3"
- Case "3"
- Aktivierungscode &= pos
- Durchgang = "4"
- Case "4"
- Aktivierungscode &= pos & "-"
- Durchgang = "1"
- End Select
- End If
- Next
- 'im folgenden wird nur abgeprüft ob das letzte Zeichen kein "-" ist wenn doch wird es weggelöscht
- Dim Pruefungscode As Array = Aktivierungscode.ToArray
- If Pruefungscode(Pruefungscode.Length.ToString - 1).ToString = "-" Then
- Aktivierungscode = ""
- Pruefungscode(Pruefungscode.Length.ToString - 1) = ""
- For i As Integer = 0 To Pruefungscode.Length.ToString - 1
- Aktivierungscode &= Pruefungscode(i).ToString
- Next
- End If
- Return Aktivierungscode
- End Function
Der String der an die Funktion übergeben wird sieht so aus: 26042018-Lar-Her
Der eingegebene Aktivierungscode ist folgender: 14233220-1432527-73536289-73415789
so nun versuche ich anhand der Seriennummer einen Aktivierungscode zu erzeugen
VB.NET-Quellcode
- 'Testbutton zum vergleichen
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- Dim Test1 As String = AktivierungscodeErzeugen("26042018-Lar-Her")
- Dim Test2 As String = "14233220-1432527-73536289-73415789"
- If Test2 = Test1 Then
- MsgBox("Geht")
- Else
- MsgBox("geht nicht")
- MsgBox(Test2 & "!" & " = " & Test1 & "!") '! wird zum test angehängt
- End If
- End Sub
Nach dem klicken auf den Button erhalte ich die Meldung "geht nicht"
Die Strings sind beide identisch aber ich habe das Phänomen, dass der String Test1 keine zusätzlichen Zeichen angehängt bekommt ("!") wenn ich die TestMessagebox öffne.
Hat vielleicht schon mal jemand einen solchen Effekt gehabt?
LG
Bull