Ausgelesene Zahlen zu Text

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von estrichbeton.

    Ausgelesene Zahlen zu Text

    Hallo Forenuser, bitte um Hilfe bei folgendem Problem.

    Ich lese aus einem Stream eine Zahl mit :

    VB.NET-Quellcode

    1. Dim Daten1 = StreamGetEvent(stream,1, EVENT_HinterlegteZahl)
    2. Label26.Text = Daten1


    Jetzt möchte ich dieser Zahl einen Text zuweissen.

    Es gibt aber 100 verschiedene Zahlen die ich mit einem bestimten Text versehen muss.

    1 = Auto
    2 = Hund
    3 = Feuerzeug


    Kann mir bitte jemand ein Beispiel zeigen wie ich diese Liste anlegen muss und wie ich die Zahl dann als Text ausgeben kann.

    Vielen Dank für Eure Hilfe

    estrichbeton schrieb:

    1 = Auto
    2 = Hund
    3 = Feuerzeug
    So was:

    VB.NET-Quellcode

    1. Public Enum SonZeuch
    2. Auto = 1
    3. Hund = 2
    4. Feuerzeug = 3
    5. End Enum
    6. Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
    7. Dim x As SonZeuch = SonZeuch.Feuerzeug
    8. MessageBox.Show(x.ToString & Environment.NewLine & CInt(x).ToString)
    9. 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!

    estrichbeton schrieb:

    Label26.Text = Daten1
    Da ist Daten1 wohl ein String oder ein Char?

    estrichbeton schrieb:

    Es gibt aber 100 verschiedene Zahlen die ich mit einem bestimten Text versehen muss.
    Da würde ich die ganzen Begriffe zuvor in ein Dictionary(Of String,String) einlesen. Wobei sich sogar eine externe Begriffsdatei anbieten würde...

    VB.NET-Quellcode

    1. Option Strict On
    2. Public Class Form1
    3. Private myDictionary As New Dictionary(Of String, String)
    4. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    5. myDictionary.Add("0", "Auto")
    6. myDictionary.Add("1", "Hund")
    7. myDictionary.Add("5", "Feuerzeug")
    8. myDictionary.Add("11", "Dingsbums")
    9. myDictionary.Add("28", "Küche")
    10. myDictionary.Add("47", "Katze")
    11. myDictionary.Add("68", "Stall")
    12. myDictionary.Add("99", "Haus")
    13. 'u.v.m.
    14. '
    15. Dim key = "28"
    16. Dim myTerm = myDictionary(key)
    17. '
    18. Stop
    19. End Sub
    20. End Class

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VB1963“ ()

    So, jetzt hab ich mal eine enum Liste angelegt und herumprobiert.
    Funktioniert.

    VB.NET-Quellcode

    1. Public Enum Midiliste
    2. AcousticGrandPiano = 1
    3. BrightAcousticPiano = 2
    4. ElectricGrandPiano = 3
    5. HonkyTonkPiano = 4
    6. ElectricPiano1 = 5
    7. ElectricPiano2 = 6
    8. Harpsichord = 7
    9. .
    10. .
    11. .
    12. .

    VB.NET-Quellcode

    1. Dim NUMMER = BassMidi.BASS_MIDI_StreamGetEvent(stream, 6, MIDI_EVENT_PROGRAM)
    2. Dim Intext As String
    3. Intext = [Enum].GetName(GetType(Midiliste),NUMMER + 1) ' PLus 1 weil falsch nummeriert.....
    4. Label27.Text = Intext


    Danke für Eure Hilfe