Problem bei Dateiausgabe!

  • VB.NET

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von domi1991.

    Problem bei Dateiausgabe!

    Mahlzeit!

    Ich habe ein Problem:

    Ich lese Daten eines Bluetooth-Modems ein und möchte diese verarbeiten. Funktioniert soweit ganz gut. Die Daten sollen auf einer .txt-Datei gespeichert werden. Auch das funktioniert mit nachfolgendem Code ganz gut. Will ich aber wie auskommentiert die Ausgabedatei variabel machen, so verzögert sich das ganze Programm, die Daten werden nur teilweise und sporadisch ausgegeben und ich verstehe nicht ganz warum. Auch wenn ich exakt das gleiche File auswähle funktioniert es nicht!?!?!

    Zum Code-Aufruf:

    VB.NET-Quellcode

    1. Call String2TXT("C:\Users\wld\Desktop\new.txt", Me.StatusTextbox.Text)
    2. 'Call String2TXT(Me.Path.Text, Me.StatusTextbox.Text)


    der führt zum Code:

    VB.NET-Quellcode

    1. PrivateSub String2TXT(ByVal FullPath AsString, ByVal text AsString)
    2. Dim f AsNew IO.FileInfo(FullPath)
    3. If f.Directory.Exists = TrueThen
    4. IO.File.WriteAllText(FullPath, text)
    5. EndIf
    6. EndSub

    Wo liegt der Fehler? Ich verwende Visual Basic 2010 Express und bin ein ziemlicher Neueinsteiger.
    Danke im Vorraus
    Domi

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

    Willkommen im Forum. :thumbup:
    Kannst Du bitte Deinen 1. Beitrag noch mal editieren, den Farb- und Font-Schnickschnack rausnehmen und den [ VB ]-Tag benutzen, dass der Code als solcher lesbar ist?
    So etwa:

    VB.NET-Quellcode

    1. For i As Integer = 1 To 10
    2. MessageBox.Show(i.ToString)
    3. Next
    Nutze den Vorschau-Button.
    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!

    domi1991 schrieb:

    Besser so?
    Klar. Und lass die Font-Spielereien.
    Hole den Desktop-Pfad vom System:

    VB.NET-Quellcode

    1. Dim path As String = Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
    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!


    Den Pfad hol ich mir über nachfolgenden Code:



    VB.NET-Quellcode

    1. PrivateSub Search_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Search.Click
    2. Dim myStream AsStreamDim OpenFileDialog1 AsNewOpenFileDialog()
    3. With OpenFileDialog1
    4. .InitialDirectory = "c:\"
    5. .Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"
    6. .FilterIndex = 1
    7. .RestoreDirectory = True
    8. If .ShowDialog() = DialogResult.OK Then
    9. myStream = .OpenFile()
    10. IfNot (myStream IsNothing) Then
    11. Me.Path.Text = .FileName
    12. 'Versuch den Fehler zu beheben, ebenfalls erfolglos
    13. 'Me.Path.Text = (Chr(34) & Me.Path.Text & Chr(34))
    14. myStream.Close()
    15. EndIf
    16. EndIf
    17. EndWith
    18. EndSub


    PS:Welche Font Spielereien?? Geschieht alles automatisch!

    Sieh Dir mal dies an:

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. Using dlg As New OpenFileDialog
    3. dlg.InitialDirectory = "c:\"
    4. dlg.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"
    5. If dlg.ShowDialog = Windows.Forms.DialogResult.OK Then
    6. System.IO.File.WriteAllText(StatusTextbox.Text)
    7. End If
    8. End Using
    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!
    Das schaffen wir auch noch. :D

    VB.NET-Quellcode

    1. System.IO.File.WriteAllText(dlg.FileName, StatusTextbox.Text)
    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!
    Klar:

    VB.NET-Quellcode

    1. Private MyFileName As String
    2. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    3. Using dlg As New OpenFileDialog
    4. dlg.InitialDirectory = "c:\"
    5. dlg.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"
    6. If dlg.ShowDialog = Windows.Forms.DialogResult.OK Then
    7. MyFileName = dlg.FileName
    8. End If
    9. End Using
    10. 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!
    Wir haben eine klasseninterne Variable

    VB.NET-Quellcode

    1. Private MyFileName As String
    angelegt, die mit dem Output vom File-Dialog belegt wird.
    Du kannst sie dann verwenden, wo immer Du willst.
    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!