Lesen von .txt Datei und trennen

  • VB.NET
  • .NET (FX) 4.0

Es gibt 181 Antworten in diesem Thema. Der letzte Beitrag () ist von Lightsource.

    Zeile#26 ist doch schon mal Mumpitz inzwischen. Genauso #37 und #48. Da wird doch nur Bezug auf EQAAdventurer genommen. Wenn dann eben bei Swordsman Item 20 ausgewählt wird, dann ist klar, dass dann kein CommandText entsteht.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Komplett entfernen. Das war ja nur, damit in CreateNewCommandText nicht auf ein ungültiges Item in EQAAdventurer zugegriffen wird. Aber das hat sich ja erledigt, da dort jetzt nur noch dank des Select-Case-Blocks in der spielrollenabhängigen Liste (EQAAdventurer, EQASwordsman, …) geschaut wird. Dementsprechend musst Du den jetzt nur noch um die anderen Rollen/RadioButtons/Listen erweitern.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Hallo ich bins mal wieder.

    VB.NET-Quellcode

    1. If TextBox_BAmount.Text = "0" Or "1" Then
    2. CommandTextB &= " "
    3. If TextBox_BAmount.Text > "1" Then
    4. CommandTextB &= TextBox_BAmount.Text
    5. End If
    6. End If


    Wie kann ich den Abstand statt oben " " rausnehmen und diesen hier zwischen rein machen?

    VB.NET-Quellcode

    1. ​CommandTextB &= TextBox_BAmount.Text


    Brauche den Abstand vor der TextBox_BAmount.Text nur wenn ich oben den Abstand rausnehme fehlt mir der Abstand beim BAmount
    @MrSKY Was genau soll dieser Code tun?
    Fang an mit Option Strict On :!:
    Visual Studio - Empfohlene Einstellungen
    Und dann noch diese absolut ernst gemeinte Frage:
    Ist "1" größer oder kleiner als "Roulade mit Klößen"?
    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!
    Und außerdem:

    MrSKY schrieb:

    If TextBox_BAmount.Text = "0" Or "1" Then
    dieser Code macht nicht was, was Du denkst, denn die Aussagelogik ist eine andere, als Du vermutest.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Aber genau das macht es eben nicht.
    Der Compiler versteht in der Zeile If TextBox_BAmount.Text = "0" Or "1" Then nicht: "Wenn in der TextBox "1" oder "2" drinsteht, dann …", der versteht was ganz anderes!
    Das wird erst klar, sobald Du den Hinweis von RfG befolgst und z.B. ganz oben in der ersten Zeile Deiner Datei Option Strict On schreibst.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    mmmmmm bitweise Disjunktion, lecker
    docs.microsoft.com/de-de/dotne…nce/operators/or-operator

    @MrSKY Was genau passiert denn, wenn in deiner Textbox als beispiel "7" drinnen steht?

    Also wenn überhaupt, dann müste der erste Vergleich so aussehen

    VB.NET-Quellcode

    1. If TextBox_BAmount.Text = "0" OrElse TextBox_BAmount.Text = "1" Then


    Hilft dir aber immer noch nicht, weil du dein 2. Vergleich ist ein Stringvergleich, du vergleichst jedenfalls keinen Wert (Zahl), sondern den Wert des Zeichens in einer Zeichentabelle.
    Wenn du Zahlen (Werte) vergleichen willst, dann musst du deinen String erst in eine Zahl wandeln. Und auch dann hast du noch immer das Problem, auf das dich
    @RodFromGermany hinweist Ist "1" größer oder kleiner als "Roulade mit Klößen"? nicht gelößt.

    MrSKY schrieb:

    Naja funktionieren tut es ...
    Bevor Du nicht Option Strict On machst, sollte Dir hier niemand mehr posten :!:
    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 denke, der anderen Poster Anliegen ist nicht, das Tool in Funktion zu setzen, sondern dein Verständnis von Programmieren zu verbessern.
    Gemäss dem Grundsatz von "Hilfe zur SelbstHilfe".
    Wenn es nicht dein Anliegen ist, besser programmieren zu lernen, sondern es dir nur drauf ankommt, dass dein Tool momentan macht was es soll, dann ist ja gut, und der Thread kann geschlossen werden.

    Allerdings sind weitere Programmierfehler ja vorprogrammiert, wenn du nichts dazulernst.

    ErfinderDesRades schrieb:

    wenn du nichts dazulernst.

    Ich will natürlich was dazu lernen nur das Verständnis hierbei ist bei dir und mir um Welten entfernt.
    Ich habe das so reingeschrieben was das so für mich "logisch" war.
    Und warum das so nicht "logisch" ist verstehe ich nach wie vor nicht ganz.

    Habe jedoch auch ein weiteres "Problem".
    Ich habe 10 TextBoxen jeder dieser TextBoxen soll ausgelesen werden was eingegeben wird und mir bei der 11 TextBox den jeweiligen Command ausgeben.

    VB.NET-Quellcode

    1. '######################################################## SP PERFECTION ########################################################
    2. If TextBox_SPPSlot.Text = "" Or "0" Then
    3. TextBox_SPPCommand.Text = "$Perfection " + "0 " + "0 " + TextBox_SPP.Text
    4. Else
    5. TextBox_SPPCommand.Text = "$Perfection " + TextBox_SPPSlot.Text + " 0 " + TextBox_SPP.Text
    6. End If
    7. '######################################################## SP PERFECTION ATK ########################################################
    8. If TextBox_SPPSlot.Text = "" Or "0" Then
    9. TextBox_SPPCommand.Text = "$Perfection " + "0 " + "1 " + TextBox_SPPAtk.Text
    10. Else
    11. TextBox_SPPCommand.Text = "$Perfection " + TextBox_SPPSlot.Text + " 1 " + TextBox_SPPAtk.Text
    12. End If
    13. '######################################################## SP PERFECTION DEF ########################################################
    14. If TextBox_SPPSlot.Text = "" Or "0" Then
    15. TextBox_SPPCommand.Text = "$Perfection " + "0 " + "2 " + TextBox_SPPDef.Text
    16. Else
    17. TextBox_SPPCommand.Text = "$Perfection " + TextBox_SPPSlot.Text + " 2 " + TextBox_SPPDef.Text
    18. End If
    19. '######################################################## SP PERFECTION PROP ########################################################
    20. If TextBox_SPPSlot.Text = "" Or "0" Then
    21. TextBox_SPPCommand.Text = "$Perfection " + "0 " + "3 " + TextBox_SPPProp.Text
    22. Else
    23. TextBox_SPPCommand.Text = "$Perfection " + TextBox_SPPSlot.Text + " 3 " + TextBox_SPPProp.Text
    24. End If


    So funktioniert das zwar nur das ist nicht das gelbe vom Ei.
    Den Code hab ich nun 20x drinne mit jeweils angepasster TextBox ...

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

    Stell dir vor, wir treffen uns beide. Ich gehe auf dich zu und frage dich "Grün oder Blau ? "
    Was wirst du mir dann antworten?
    Du wirst mir nicht antworten können, weil ich dir ja keine richtige Frage gestellt hatte.

    So ähnlich ist es, wenn du in deinem Programm schreibst: "" OR "0"
    @MrSKY Beratungsresistent? Lernbefreit?
    Option Strict On :!:
    Visual Studio - Empfohlene Einstellungen
    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!

    MrSKY schrieb:

    Wäre hier dann ein And angebrachter?
    Beratungsresistent und lernbefreit.
    Sieh Dir Post #170 von @Dksksm an.
    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!