Hallo!
Ich habe eine Function geschrieben, mit der es möglich sein soll, eine Zahl in eine Zeichenkette umzuwandeln, das den Anwender erschweren soll, einen Wert in einem Spielstand zu manipulieren. Doch leider erscheint beim Umwandeln der Zahl 1775 folgende Fehlermeldung:
System.NotSupportedException: "No data is available for encoding 1252. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method."
Hier ist der Code:
Im letzten Durchlauf dieser Schleife hat ZeichenNr den Wert 221. Rechnet man 34 dazu, erhält man 255. Beim der Anweisung Chr(ZeichenNr+34) tritt dieser Fehler auf. Doch Chr(255) sollte eigentlich ÿ ergeben. Oder kann VB dieses Zeichen nicht verarbeiten?
*Topic verschoben*
Ich habe eine Function geschrieben, mit der es möglich sein soll, eine Zahl in eine Zeichenkette umzuwandeln, das den Anwender erschweren soll, einen Wert in einem Spielstand zu manipulieren. Doch leider erscheint beim Umwandeln der Zahl 1775 folgende Fehlermeldung:
System.NotSupportedException: "No data is available for encoding 1252. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method."
Hier ist der Code:
VB.NET-Quellcode
- Function ZahlAlsZeichen(ByVal Zahl As Integer) As String
- Dim ZeichenNr As Integer
- Dim Kette As String
- Dim Rest As Integer
- Kette = ""
- Rest = Zahl
- For i = 3 To 0 Step -1
- ZeichenNr = Int(Rest / 222 ^ i)
- If ZeichenNr = 0 Then Kette = Kette & "!" Else Kette = Kette & Chr(ZeichenNr + 34)
- Rest = Rest - ZeichenNr * 222 ^ i
- Next
- ZahlAlsZeichen = Kette
- End Function
Im letzten Durchlauf dieser Schleife hat ZeichenNr den Wert 221. Rechnet man 34 dazu, erhält man 255. Beim der Anweisung Chr(ZeichenNr+34) tritt dieser Fehler auf. Doch Chr(255) sollte eigentlich ÿ ergeben. Oder kann VB dieses Zeichen nicht verarbeiten?
*Topic verschoben*
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()