mein problem

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Vortex1991.

    mein problem

    also ich habe hier einen Code, das den Inhalt der angehängten Text Datei in drei verschiedene text Dateien speichern soll. und was mir noch fehlt ist das der Ordner
    mit dem Titel "Bestanden" nach der Größe sortiert werden muss und alle umlaute müssen sichtbar gemacht werden. ich bin echt miserabel beim programmieren und muss es bis
    Freitag Abend abschicken könnt ihr mir damit helfen ?

    ich habe für den Code den ich Hochgeladen hab schon mehrere Tage gebraucht.
    Dateien
    • physikws2018.txt

      (935 Byte, 31 mal heruntergeladen, zuletzt: )
    • projekt.pdf

      (42,94 kB, 41 mal heruntergeladen, zuletzt: )

    perry309 schrieb:


    ich habe für den Code den ich Hochgeladen hab schon mehrere Tage gebraucht.


    Schau Dir mal msdn.microsoft.com/de-de/libra….arraylist(v=vs.110).aspx an. Da ist auch eine Sort-Methode enthalten.

    Und bitte Deine Sourcen formatiert ins Forum schreiben.
    Bilder
    • Unbenannt.png

      24,77 kB, 886×270, 21 mal angesehen
    Aktuelles Projekt: Z80 Disassembler für Schneider/Amstrad CPC :love:
    wo und wie soll der text denn aufgeteilt werden? Deine Frage ist ziemlich ungenau^^
    Dein Ordner Problem lässt sich so lösen:

    VB.NET-Quellcode

    1. [b][/b]IO.Directory.CreateDirectory(C:\users\mein zimmer\Desktop\Bestanden\)


    Einfacher ist es dies als Variable in stringform zu deklarieren:

    VB.NET-Quellcode

    1. [b][/b]Imports System.IO
    2. Module Module1
    3. Public Bestanden as String ="C:\Users\mein zimmer\Desktop\Bestanden\", Nicht_Bestanden as String = "C:\Users\mein zimmer\Desktop\Nicht Bestanden\"
    4. Sub Main()
    5. USW
    6. .
    7. .
    8. .
    9. If IO.Directory.Exist(Bestanden) = False
    10. Try
    11. IO.Directory.Create(Bestanden)
    12. Catch e as Exception
    13. MsgBox(e.Message)
    14. End Try
    15. End If
    16. If IO.Directory.Exist(Nicht_Bestanden) = False
    17. Try
    18. IO.Directory.CreateDirectory(Nicht_Bestanden)
    19. Catch e as Exception
    20. MsgBox(e.Message)
    21. End Try
    22. End If


    Was die Umlaute betrifft, hatte ich nur eigenartige Ergebnisse in Konsolenanwendungen. Das liegt daran, dass Konsolen standartmäsig einen Amerikanischen Zeichensatz verwenden, in dem keine Umlaute vorkommen. Gibt es sicher Workarounds, würde mich da als Laie aber lieber nicht dran kaputt machen.

    Lösungsansatz:

    VB.NET-Quellcode

    1. Public Class Form1
    2. Public Liste As String, Ordner As String ' Liste.TXT | Ordnerpfad (z.B.: Desktop)
    3. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles ListeSuchen.Click
    4. Dim Liste_Öffnen As OpenFileDialog = New OpenFileDialog()
    5. Dim Liste_Pfad As String
    6. Liste_Öffnen.Title = "Liste Öffnen!"
    7. Liste_Öffnen.InitialDirectory = "C:\"
    8. Liste_Öffnen.FilterIndex = 2
    9. Liste_Öffnen.RestoreDirectory = True
    10. If Liste_Öffnen.ShowDialog() = DialogResult.OK Then
    11. ListenPfad.Text = Liste_Öffnen.FileName
    12. Liste = Liste_Öffnen.FileName
    13. End If
    14. End Sub
    15. Private Sub Button3_Click(sender As Object, e As EventArgs) Handles OrdnerSuchen.Click
    16. Dim Ordner_Pfad As New FolderBrowserDialog
    17. If Ordner_Pfad.ShowDialog() = DialogResult.OK Then
    18. OrdnerPfad.Text = Ordner_Pfad.SelectedPath
    19. Ordner = Ordner_Pfad.SelectedPath
    20. End If
    21. End Sub
    22. Private Sub Starten_Click(sender As Object, e As EventArgs) Handles Starten.Click
    23. If OrdnerSuchen.Text.Length > 0 And ListeSuchen.Text.Length > 0 Then
    24. Aufteilen() 'Startet das Aufteilen!
    25. Else
    26. MsgBox("Liste und Speicherpfad wählen!")
    27. End If
    28. End Sub
    29. Sub Aufteilen() 'Funktion Split
    30. For Each line As String In System.IO.File.ReadAllLines(Liste)
    31. Dim Arrayofstring() As String = line.Split(",")
    32. Dim firstname As String = Arrayofstring(0)
    33. Dim lastname As String = Arrayofstring(1)
    34. Dim value As String = Arrayofstring(2)
    35. Dim filename_NE As String = Ordner & "\Nicht Erschienen.txt", filename_NB As String = Ordner & "\Nicht Bestanden.txt", filename_BE = Ordner & "\Bestanden.txt"
    36. 'Dim writestring As String = line & vbNewLine
    37. If value = "NE" Then
    38. Dim S As String = line & vbNewLine
    39. If IO.Directory.Exists(Ordner) = False Then
    40. Try
    41. IO.Directory.CreateDirectory(Ordner)
    42. My.Computer.FileSystem.WriteAllText(filename_NE, S, True)
    43. Catch ex As Exception
    44. MsgBox(ex.Message)
    45. End Try
    46. End If
    47. ElseIf value < 40 Then
    48. Dim S As String = firstname & ", " & lastname & ", " & "5.0" & vbNewLine
    49. If IO.Directory.Exists(Ordner) = False Then
    50. Try
    51. IO.Directory.CreateDirectory(Ordner)
    52. My.Computer.FileSystem.WriteAllText(S, filename_NB, True)
    53. Catch ex As Exception
    54. MsgBox(ex.Message)
    55. End Try
    56. End If
    57. Else
    58. Dim note As Double
    59. note = -6 / 80 * value + 7
    60. Dim S As String = firstname & ", " & lastname & ", " & note & vbNewLine
    61. If IO.Directory.Exists(Ordner) = False Then
    62. Try
    63. IO.Directory.CreateDirectory(Ordner)
    64. My.Computer.FileSystem.WriteAllText(S, filename_BE, True)
    65. Catch ex As Exception
    66. MsgBox(ex.Message)
    67. End Try
    68. End If
    69. End If
    70. Next
    71. End Sub
    72. End Class


    Werde morgen danach sehen.

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