editor

  • VB.NET

Es gibt 18 Antworten in diesem Thema. Der letzte Beitrag () ist von Mad Andy.

    also ich weiss nicht ob das klappt darum frage ich erstmal euch :P

    undzwar will ich das so haben das man etwas in eine textbox eingibt und danach auf speichern drückt und das tool die geschrieben sachen in einem editor speichert und das das programm dann mit der datei arbeiten kann
    so ich habe jeztt mal die suchfunktion benutzt und sie hat mir einige arbeit abgenommen..
    aber das problem ist das ich ein programm erstellen wollte das mit wörtern arbeiten kann, ein vokabeltrainner um genau zu sein.
    man gibt die wörter mit denen man üben will ein, das programm speichert sie als textdatei und wenn mann dann auf übung klickt dann soll sich (weiss nict ob das so geht)eine messagebox öffnen mit eines der wörter,man gibt die übersetzung ein klickt auf ok und weiter gehts

    ich beschäftige mich mit dieser funktion schon wochen aber ich komme kein stück vorwärts es bricht mir irendwann noch das genick

    so genug auf die tränendrüse gedrückt...hat jemand ein paar tipps bzw ideen oder ein paar codeschnippsel?wäre echt lieb =)
    Hi!

    Ist dein Problem eine Datei zu generieren / lesen, wo die deutschen und die englischen wörter drin stehen oder ist dein Problem die "Messagebox" + Eingabe?

    Fürs erste würd ich einfach eine Text-Datei nehmen, bei der abwechselnd das englische und das deutsche wort (mit Zeilenumbruch) drin steht und dann mit einer Zufallszahl eine Zufällige Zeile wählen.

    Fürs zweite würd ich einfach eine Form nehmen, die ein Label, eine Textbox und 2 Buttons (OK, Abbrechen) drauf hat.
    Du kannst dir die Wörter in einem Array zwischenspeichern, wenn dir das hilft und dann mit If die Strings vergleichen. Andernfalls durchläufst du halt die Textdatei un vergleichst stück für stück.
    Gruß, Agent Smith 8-)

    activeFlags = (lazy OR weary)

    Lemgo-Verschwörung | Mathematics | VB-Paradise in blau
    Hi!

    Wenn du die Datei über den My-Namespace (My.Computer.FileSystem.ReadAllText()) in einen String ladest, ist es das einfachste das Ganze via Split in einen Array zu werfen und dann dort raus zu lesen.

    VB.NET-Quellcode

    1. 'In den allgemeinen Bereich:
    2. Private Vokabeln() as String
    3. 'Form_Load:
    4. Private Sub Form_Load (...) Handles Form.Load
    5. dim sFile as String
    6. sFile = My.Computer.FileSystem.ReadAllText("C:\datei.txt")
    7. Vokabeln = sFile.Split(Environment.NewLine)
    8. End Sub


    Jetzt ist im array abwechselnd ein deutsches und ein englisches Wort.
    Wenn du jetzt eine Zufallszahl zwischen 0 und Vokabeln.GetUpperbound(0) / 2 nimmst und das mit 2 Multiplizierst, hast du ein zufälliges Englisches Wort, wenn du noch 1 dazu addierst, hast du die übersetzung dazu.

    VB.NET-Quellcode

    1. Private Sub btnVokabelFragen_Click(...) Handles btnVokabelFragen.Click
    2. dim r as new Random()
    3. dim i as long
    4. i = r.next(0, Math.Round(Vokabeln.GetUpperbound(0)/2)) * 2
    5. dim EN as String = Vokabeln(i)
    6. dim DE as String = Vokabeln(i+1)
    7. End Sub

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

    so ich habe es jetzt mal so geschafft ich glaube nur noch einen fehler beseitigen dann habe ich es fast geschafft beim debuggen kommt diese fehlermeldung:

    Die Handles-Klausel erfordert eine WithEvents-Variable, die im enthaltenden Typ oder einem seiner Basistypen definiert wird.

    ich habe noch nicht soviel erfahrung das ich sagen kann was das bedeutet und wie man diesen fehler behebt

    (er hat diesen code teil unterstrichen:
    Private Sub Form_Load (...) Handles Form.Load)
    Vllt liegts daran: Bei "Handles Form.Load" muss dein Formular auch "Form" heißen. Ansonsten den eigentlichen Namen eingeben wie z.B. "Handles Form1.Load"
    Gruß, Agent Smith 8-)

    activeFlags = (lazy OR weary)

    Lemgo-Verschwörung | Mathematics | VB-Paradise in blau
    was kann denn das noch sein?
    ich hab alles ausprobiert umbenen hat auch nichts gebracht

    vieleicht stört da ja auch nur ein anderes teil im code?

    hier mal der bisherige code:

    Quellcode

    1. Public Class Form1
    2. 'In den allgemeinen Bereich:
    3. Private Vokabeln() As String
    4. 'Form_Load:
    5. Private Sub Form_Load(ByVal E) Handles Form.Load
    6. Dim sFile As String
    7. sFile = My.Computer.FileSystem.ReadAllText("C:\Dokumente und Einstellungen\User\Desktop\test2.txt")
    8. Vokabeln = sFile.Split(Environment.NewLine)
    9. End Sub
    10. Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
    11. 'die anwendung starten
    12. Dim r As New Random("C:\Dokumente und Einstellungen\User\Eigene Dateien\Visual Studio 2005\Projects\WindowsApplication1\WindowsApplication1\form1.vb")
    13. Dim i As Long
    14. i = r.next(0, Math.Round(Vokabeln.GetUpperbound(0) / 2)) * 2
    15. Dim EN As String = Vokabeln(i)
    16. Dim DE As String = Vokabeln(i + 1)
    17. End Sub
    18. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    19. MessageBox.Show("Vielen Dank für die Benutzung")
    20. Application.Exit()
    21. End Sub
    22. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    23. MessageBox.Show("muss ich noch ändern")
    24. Application.Exit()
    25. End Sub
    26. End Class
    Versuchs mal mit:

    VB.NET-Quellcode

    1. Public Class Form1
    2. Inherits System.Windows.Forms.Form
    3. '...
    4. Private Sub Form_Load(ByVal E) Handles Form1.Load
    5. '...
    Gruß, Agent Smith 8-)

    activeFlags = (lazy OR weary)

    Lemgo-Verschwörung | Mathematics | VB-Paradise in blau
    Hi!

    Lösch mal diesen Teil ganz raus:

    VB.NET-Quellcode

    1. Private Sub Form_Load(ByVal E) Handles Form.Load
    2. Dim sFile As String
    3. sFile = My.Computer.FileSystem.ReadAllText("C:\Dokumente und Einstellungen\User\Desktop\test2.txt")
    4. Vokabeln = sFile.Split(Environment.NewLine)
    5. End Sub


    doppelklick auf die form und kopier dann

    VB.NET-Quellcode

    1. Dim sFile As String
    2. sFile = My.Computer.FileSystem.ReadAllText("C:\Dokumente und Einstellungen\User\Desktop\test2.txt")
    3. Vokabeln = sFile.Split(Environment.NewLine)
    zwischen das vom VB erzeugte Sub und End Sub rein.
    Dann müsste es eigentlich gehen ...