Buchstaben bzw. Wörter in Value/Wert umwandeln

  • VB.NET

Es gibt 40 Antworten in diesem Thema. Der letzte Beitrag () ist von Xiantrius.

    Buchstaben bzw. Wörter in Value/Wert umwandeln

    Hallo ich bin neu hier und noch ein ziemlicher Anfänger.
    Ich komme einfach nicht bei.
    Ich möchte das die TextBox1 ein Wort drin steht zb. Wald und in der TextBox2 soll jeder einzelne buchstabe in Value umgewandelt werden.
    Visual Basic sagt mir ständig errors irgendwie mach ich was falsch oder?

    Hier als Beispiel will aber verschiedene Namen benutzen können.
    Wald = 1684824407

    Dim Zeichen As String = TextBox1.Text
    Dim Value As Integer = TextBox2.Text

    Der erste schritt sollte stimmen.
    Wie geht es weiter?

    Wäre dankbar für die Hilfe.
    o/

    was für einen zusammenhang hat wald=1684824407? ich würd Dir gern helfen, aber ich kapier Dein problem nicht so ganz. sag mal ein bisschen mehr dazu und poste mal etwas code...
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o
    Auf welche Art möchtest du denn deinen Text codieren?
    Von einzelnen Zeichen kannst du den Ascii-Code ermitteln -> Asc-Funktion.
    Das sind Zahlen im Byte-Bereich (0..255)
    Mit diesen Zahlen kannst du jonglieren.

    Strings lassen sich nicht als Integer darstellen.
    Schon allein, weil ein Integer nur 4 Byte (entspricht 4 Zeichen) gross ist und ein String wesentlich länger sein kann.

    Aber vor allem, weil es zwei völlig unterschiedliche Typen sind.
    Wie viele Äpfel kann ich aus 5 Birnen machen?
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Wenn ich zb den Buchstaben A eingebe kommt der Wert 65 raus als Beispiel.
    Das könnte man auch mit ein einfachen code umsetzen.
    Das problem würde aber sein, wenn ich ein beliebigen Namen haben will funktioniert das nicht.
    Ja es ist Dezimal der angezeigt werden soll.
    Ich habe leider keine Ahnung mit welchem Code das am einfachsten geht.

    Ich habe es jetzt so probiert:

    VB.NET-Quellcode

    1. Dim Zeichen As String = TextBox1.Text
    2. TextBox2.Text = (Asc(Zeichen))


    Oder mit

    VB.NET-Quellcode

    1. Dim Zeichen As String = TextBox1.Text
    2. TextBox2.Text = (AscW(Zeichen))


    Es klappt zwar aber nur mit ein Zeichen....

    Ich will aber ein ganzes Wort haben.... zb "Apfel" oder "Birne"

    Dieser Beitrag wurde bereits 12 mal editiert, zuletzt von „Xiantrius“ ()

    Xiantrius schrieb:

    VB.NET-Quellcode

    1. Dim Value As Integer = TextBox2.Text
    Du machst aus Äpfeln Glühbirnen.
    Gib Deinem Programm Option Strict On.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ich weis leider nicht wie ich es machen soll. Mit Integer geht das nicht hab es schon probiert.
    Wie lautet der Beispielcode damit ich das in zukunft weis?
    Ich will wie gesagt aus ganzen Namen in die Zahlen umwandeln nicht wegen jedes Wort coden, dann bin ich in 10 Jahren noch nicht fertig xD.
    Ich hab leider kein erfolg mit dem Code Asc und AscW da es nur ein Zeichen übersetzt und nicht ein ganzes Wort... Leider löst auch der Code Option Strict On nicht das problem.

    Wäre echt dankbar und würde es sehr schätzen ein oder 2 Beispielcodes mir hier gezeigt werden.

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Xiantrius“ ()

    Sieh Dir mal dies an:

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    2. Dim ii As Integer
    3. Dim txt As String = "abs"
    4. If Not Integer.TryParse(txt, ii) Then
    5. MessageBox.Show(txt & " ist kein Integer")
    6. End If
    7. txt = "123"
    8. If Integer.TryParse(txt, ii) Then
    9. MessageBox.Show(ii.ToString)
    10. End If
    11. End Sub
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ich bin ja echt dankbar wenn ich hier hilfe bekomme jedoch:
    Das ist wieder der falsche code.... ich hab den eindruck das ich falsch verstanden wurde.

    In der TextBox2 soll ein Namen oder zeichen rein diese sollten in der TextBox1 übersetzt werden.
    Wie zb A = Wert 65 nur das es ein ganzer Namen sein soll.
    Kann mit dem leider nichts anfangen.

    VB.NET-Quellcode

    1. Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged
    2. Dim Zeichen As Char = TextBox2.Text
    3. TextBox1.Text = (AscW(Zeichen))
    4. End Sub


    Wie bereits als beispiel erwähnt A = 65 Wert. Möchte aber das ganze Wörter auch in Dezimal umgewandelt werden können wie ein richtiger Konverter. Tut mir leid RodFromGermany aber dein Code weis ich nicht wie ich den für meine Zwecke nutzen kann, trotzdem vielen dank für deine Bemühungen, vielleicht weis ja jemand jetzt was ich meine.

    VB.NET-Quellcode

    1. Module Module1
    2. Sub Main()
    3. Dim t As String = "DasWort"
    4. Dim z As String, z2 As String = ""
    5. Dim i As Integer
    6. Console.WriteLine(t)
    7. Console.WriteLine()
    8. For i = 0 To t.Length - 1
    9. z = Asc(t.Substring(i)).ToString
    10. Console.WriteLine(z)
    11. z2 &= z
    12. Next
    13. Console.WriteLine()
    14. Console.WriteLine()
    15. Console.WriteLine(z2)
    16. Console.ReadLine()
    17. End Sub
    18. End Module

    Xiantrius schrieb:

    ich hab den eindruck das ich falsch verstanden wurde.
    Wenn Du dieses Gefühl hast, gibt es 2 mögliche Ursachen:
    1. Wir haben Dich falsch verstanden
    2. Du hast Dich verdrückt ausgekehrt.
    In beiden Fällen ist es sinnvoll, dass Du Dein Problem präziser beschreibst. :thumbsup:
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    hi sry das ich gestern nicht geantwortet hab, hatte an mein Projekt weiter gemacht und aber das eine probleme das ich hier beschrieben hab leider nicht lösen können, dafür kann ich euch hoffentlich besser erklären was ich vor habe. Ich möchte ein Wort in der TextBox2 in der TextBox1 als Ascii umwandeln. Hab das mit Dezimal verwechselt. Allerdings soll nicht jeder einzelne buchstabe übersetzt werden wenn darin 2 oder mehr zeichen sind. Sonst funktioniert das nicht wie ich es vor habe.

    Beispiel:

    A = 65 Ascii = 1 Byte lang
    An = 28225 Ascii = 2 Byte lang
    Ann = 7237185 Ascii = 3 Byte lang
    Anna = 1634627137 Ascii = 4 Byte lang

    Wenn ich den Ascii Wert direkt in der textbox eingebe funktioniert es ja.
    Aber ich will es über 2 Textboxen machen die eine wo das Wort steht und das andere wo es in Ascii umgewandelt wird.
    Ihr seht also Der Anfangsbuchstabe hat sobald 2 oder mehr zeichen drin sind nicht mehr den Wert 65.
    Es sollen wie gesagt keine festen Namen bzw. Wörter sein sondern der Benutzer soll frei wählen können wie in einen Chat.
    Ich habe da leider noch keine Lösung gefunden. Vielleicht weis jemand von euch eine Lösung um weiter zu kommen.
    Weil Cheat Engine mir sowas raus spuckt als Wert? Will mir ein Trainer basteln für ein altes Spiel.
    Ich will mit diesem erreichen das man während man zockt den Charakternamen jederzeit ändern kann nicht blos am anfang.
    Keine Sorge ist nur ein Einzelspieler spiel kein Online Spiel.
    hmm dann musste mal schauen mit welchem algorithmus die das umwandeln...
    weil normalerweise werden Ascii buchstabe für buchstabe gewandet
    mit dem aus Post #6
    genauso....
    ich finde auch im netz keinen Übersetzer der mir ein anderes Ergebnis liefert...
    Ja es kann nur Dezimal oder Ascii sein keine ahnung wie das sonst gemeint ist. Jedenfalls funktioniert es wenn ich es direkt zum Spiel durch eine adresse übertrage.
    Falls es allerdings noch was anderes gibt hab ich 0 Ahnung.

    EDIT:
    6511011097 wenn ich das direkt zb über die textbox übertragen will sagt er mir das der Wert ungültig ist.
    Also muss da was irgendwie anders sein.
    Sieht fast so aus als müsste ich ein komplizierten code erstellen den ich viel zu schreiben hab, aber der ist dann wirklich kacke weil ich jeden Namen angeben müsste den es gibt damit es funktioniert.
    Hier ist der Source Code von Cheat Engine soviel ich weis muss er auf irgend einer Weise mit einer anderen Sprache geschrieben worden sein, kenne mich aber da leider nicht aus, vielleicht würde einer von euch das mal anschauen damit vielleicht die Lösung gefunden wird. Ich benutze die v6.2.
    cheatengine.org/downloads.php

    Ich hab eine andere Frage:
    Würden auch Hexwerte gehen?
    Die bleiben gleich auch wenn es Ein Wort oder Satz geben würde bei jedem einzelnen Zeichen.

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „Xiantrius“ ()