Morsezeichen

  • Sonstige

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von alchimist.

    Hallo liebe Leute!

    Ich hab da ein Problem.
    Ich muss in Excel Vba ein Programm schreiben, dass Morsezeichen anhand eines Textes zb. anhand einer visuell dargestellten Lampe ausgibt und Morsezeichen als Text. hat evtl. jemand soetwas oder kann mir helfen!

    Bedanke mich ganz herzlich im Voraus.

    Mfg Voter
    An welcher Stelle tritt denn ein Problem auf? Du musst den Text doch nur durchlaufen und dann pro Buchstabe (Mid-Befehl) das Morsezeichen raussuchen.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    Mein derzeitiger Code sieht so aus:

    Private Sub click_Click()
    Dim eingabe As String

    e1 = eingabe
    LG = Len(Text)
    For I = 1 To LG
    ausgabe = Mid(eingabe, I, 1)

    Next

    If e1 = "a" Then ausgabe = ausgabe & Chr(149) & " " & Chr(150) & " " & Chr(160) & " ":
    If e1 = "b" Then ausgabe = ausgabe & Chr(150) & " " & Chr(149) & " " & Chr(149) & " " & Chr(149) & " " & " ":
    If e1 = "c" Then ausgabe = ausgabe & Chr(150) & " " & Chr(149) & " " & Chr(150) & " " & Chr(149) & " ":
    If e1 = "d" Then ausgabe = ausgabe & Chr(150) & " " & Chr(149) & " " & Chr(149) & " ":
    If e1 = "e" Then ausgabe = ausgabe & Chr(149) & " ":
    If e1 = "f" Then ausgabe = ausgabe & Chr(149) & " " & Chr(149) & " " & Chr(150) & " " & Chr(149) & " ":
    If e1 = "g" Then ausgabe = ausgabe & Chr(150) & " " & Chr(150) & " " & Chr(149) & " ":
    If e1 = "h" Then ausgabe = ausgabe & Chr(149) & " " & Chr(149) & " " & Chr(149) & " " & Chr(149) & " ":
    If e1 = "i" Then ausgabe = ausgabe & Chr(149) & " " & Chr(149) & " ":
    If e1 = "j" Then ausgabe = ausgabe & Chr(149) & " " & Chr(150) & " " & Chr(150) & " " & Chr(150) & " " & Chr(160) & " " & Chr(160) & " ":
    If e1 = "k" Then ausgabe = ausgabe & Chr(150) & " " & Chr(149) & " " & Chr(150) & " ":
    If e1 = "l" Then ausgabe = ausgabe & Chr(149) & " " & Chr(150) & " " & Chr(149) & " " & Chr(149) & " ":
    If e1 = "m" Then ausgabe = ausgabe & Chr(150) & " " & Chr(150) & " ":
    If e1 = "n" Then ausgabe = ausgabe & Chr(150) & " " & Chr(149) & " ":
    If e1 = "o" Then ausgabe = ausgabe & Chr(150) & " " & Chr(150) & " " & Chr(150) & " ":
    If e1 = "p" Then ausgabe = ausgabe & Chr(149) & " " & Chr(150) & " " & Chr(150) & " " & Chr(149) & " ":
    If e1 = "q" Then ausgabe = ausgabe & Chr(150) & " " & Chr(150) & " " & Chr(149) & " " & Chr(150) & " ":
    If e1 = "r" Then ausgabe = ausgabe & Chr(149) & " " & Chr(150) & " " & Chr(149) & " ":
    If e1 = "s" Then ausgabe = ausgabe & Chr(149) & " " & Chr(149) & " " & Chr(149) & " ":
    If e1 = "t" Then ausgabe = ausgabe & Chr(150) & " ":
    If e1 = "u" Then ausgabe = ausgabe & Chr(149) & " " & Chr(149) & " " & Chr(150) & " ":
    If e1 = "v" Then ausgabe = ausgabe & Chr(149) & " " & Chr(149) & " " & Chr(149) & " " & Chr(150) & " ":
    If e1 = "w" Then ausgabe = ausgabe & Chr(149) & " " & Chr(150) & " " & Chr(150) & " ":
    If e1 = "x" Then ausgabe = ausgabe & Chr(150) & " " & Chr(149) & " " & Chr(149) & " " & Chr(150) & " ":
    If e1 = "y" Then ausgabe = ausgabe & Chr(150) & " " & Chr(149) & " " & Chr(150) & " " & Chr(150) & " ":
    If e1 = "z" Then ausgabe = ausgabe & Chr(150) & " " & Chr(150) & " " & Chr(149) & " " & Chr(149) & " ":
    '----------- Ziffern -------------------------------------------------------------------------
    If e1 = "1" Then ausgabe = ausgabe & Chr(149) & " " & Chr(150) & " " & Chr(150) & " " & Chr(150) & " " & Chr(150) & " ":
    If e1 = "2" Then ausgabe = ausgabe & Chr(149) & " " & Chr(149) & " " & Chr(150) & " " & Chr(150) & " " & Chr(150) & " ":
    If e1 = "3" Then ausgabe = ausgabe & Chr(149) & " " & Chr(149) & " " & Chr(149) & " " & Chr(150) & " " & Chr(150) & " ":
    If e1 = "4" Then ausgabe = ausgabe & Chr(149) & " " & Chr(149) & " " & Chr(149) & " " & Chr(149) & " " & Chr(150) & " ":
    If e1 = "5" Then ausgabe = ausgabe & Chr(149) & " " & Chr(149) & " " & Chr(149) & " " & Chr(149) & " " & Chr(149) & " ":
    If e1 = "6" Then ausgabe = ausgabe & Chr(150) & " " & Chr(149) & " " & Chr(149) & " " & Chr(149) & " " & Chr(149) & " ":
    If TZ = "7" Then ausgabe = ausgabe & Chr(150) & " " & Chr(150) & " " & Chr(149) & " " & Chr(149) & " " & Chr(149) & " ":
    If e1 = "8" Then ausgabe = ausgabe & Chr(150) & " " & Chr(150) & " " & Chr(150) & " " & Chr(149) & " " & Chr(149) & " ":
    If e1 = "9" Then ausgabe = ausgabe & Chr(150) & " " & Chr(150) & " " & Chr(150) & " " & Chr(150) & " " & Chr(149) & " ":
    If e1 = "0" Then ausgabe = ausgabe & Chr(150) & " " & Chr(150) & " " & Chr(150) & " " & Chr(150) & " " & Chr(150) & " ":
    '----------- Satzzeichen ---------------------------------------------------------------------
    If e1 = "." Then ausgabe = ausgabe & Chr(149) & " " & Chr(150) & " " & Chr(149) & " " & Chr(150) & " " & Chr(149) & " " & Chr(150) & " ":
    If e1 = "," Then ausgabe = ausgabe & Chr(150) & " " & Chr(150) & " " & Chr(149) & " " & Chr(149) & " " & Chr(150) & " " & Chr(150) & " ":
    If e1 = "?" Then ausgabe = ausgabe & Chr(149) & " " & Chr(149) & " " & Chr(150) & " " & Chr(150) & " " & Chr(149) & " " & Chr(149) & " ":
    If e1 = "-" Then ausgabe = ausgabe & Chr(150) & " " & Chr(149) & " " & Chr(149) & " " & Chr(149) & " " & Chr(149) & " " & Chr(150) & " ":
    If e1 = ":" Then ausgabe = ausgabe & Chr(150) & " " & Chr(150) & " " & Chr(150) & " " & Chr(149) & " " & Chr(149) & " " & Chr(149) & " ":
    If e1 = "_" Then ausgabe = ausgabe & Chr(149) & " " & Chr(149) & " " & Chr(150) & " " & Chr(150) & " " & Chr(149) & " " & Chr(150) & " ":
    If e1 = "'" Then ausgabe = ausgabe & Chr(149) & " " & Chr(150) & " " & Chr(150) & " " & Chr(150) & " " & Chr(150) & " " & Chr(149) & " ":
    'If e1 = " " " Then ausgabe = ausgabe &(149) & " " & Chr(150) & " " & Chr(150)& Chr(150) & " " & Chr(150)& " " & Chr(160) & Chr(160): ' Anführungszeichen
    If e1 = "(" Then ausgabe = ausgabe & Chr(150) & " " & Chr(149) & " " & Chr(150) & " " & Chr(150) & " " & Chr(149) & " ":
    If e1 = ")" Then ausgabe = ausgabe & Chr(150) & " " & Chr(149) & " " & Chr(150) & " " & Chr(150) & " " & Chr(149) & " " & Chr(150) & " ":
    If e1 = "=" Then ausgabe = ausgabe & Chr(150) & " " & Chr(149) & " " & Chr(149) & " " & Chr(149) & " " & Chr(150) & " ":
    If e1 = "+" Then ausgabe = ausgabe & Chr(149) & " " & Chr(150) & " " & Chr(149) & " " & Chr(150) & " " & Chr(149) & " ":
    'If e1 = "." Then ausgabe = ausgabe &(149) & " " & Chr(150) & " " & Chr(150)& Chr(150) & " " & Chr(150)& " " & Chr(160) & Chr(160): ' Wiederholung
    If e1 = "/" Then ausgabe = ausgabe & Chr(150) & " " & Chr(149) & " " & Chr(149) & " " & Chr(150) & " " & Chr(149) & " ":
    'If e1 = "." Then ausgabe = ausgabe &(149) & " " & Chr(150) & " " & Chr(150)& Chr(150) & " " & Chr(150)& " " & Chr(160) & Chr(160): ' Trennung
    '------------------------------------------------



    End Sub



    Private Sub eingabe_Change()

    End Sub


    Funktioniert leider nicht.
    Hallo Voter,

    mir ist auch nicht klar, was dein Quelltext das soll, eine konkrete Beschreibung, was da hätte passieren soll, wäre toll gewesen.

    Probier mal dies aus:

    Visual Basic-Quellcode

    1. Option Explicit
    2. Private Sub Command1_Click()
    3. MsgBox getMorseCode("Das ist ein Test")
    4. End Sub
    5. Public Function getMorseCode(strText As String) As String
    6. Dim i As Long
    7. Dim arr(0 To 255) As String
    8. arr(32) = " " 'Abstand bei Worttrennung
    9. 'Hier müssen natürlich alle "wichtigen" Zeichen definiert werden
    10. arr(65) = ".-"
    11. arr(68) = "-.."
    12. arr(69) = "."
    13. arr(73) = ".."
    14. arr(78) = "-."
    15. arr(83) = "..."
    16. arr(84) = "-"
    17. For i = 1 To Len(strText)
    18. getMorseCode = getMorseCode & arr(Asc(UCase(Mid(strText, i, 1)))) & " "
    19. Next i
    20. End Function


    Gruß Markus

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „alchimist“ ()