Abspeichern von Eingaben als Textdatei oder ähnliches

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von QiSystem.

    Abspeichern von Eingaben als Textdatei oder ähnliches

    Hallo zusammen,

    ich habe mir ein kleines Tool geschrieben, damit ich nicht jeden Tag eine Email über Outlook schreiben muss.
    Ich muss dazu sagen, dass ich leider nicht sehr viel Erfahrung in VB habe, es aber mutig waage, evtl. ist jemand
    so nett und hilft mir, ich würde mich wirklich wirklich sehr freuen.

    Es geht um Folgendes Problem:



    Ich sende jeden Tag kurz vor Feierabend eine E-Mail an den Transportdienstleister GLS mit einer Plombennummer
    und der Anzahl der jeweiligen Paletten. Ich würde gerne eine Art Palettenkonto entweder als Text oder sogar
    mit kleiner Gui haben. Es müssten immer wenn eine E-Mail gesendet wird die Dateien paralell als txt Datei
    gespeichert (angehängt werden in neuer Zeile) mit dem dazu gehörigen Datum gespeichert werden.
    Ich kriege es leider nicht so wirklich hin. Richtig gut wäre, wenn man das ganze statt mit Excel oder dem Editor
    auch noch auslesen lassen könnte in dem Mini Programm.

    Hier mein Quellcode:

    VB.NET-Quellcode

    1. Imports System.Net.Mail
    2. Public Class Form1
    3. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles senden.Click
    4. Dim Msg As New MailMessage
    5. Dim myCredentials As New System.Net.NetworkCredential
    6. myCredentials.UserName = "*********"
    7. myCredentials.Password = "*********"
    8. Msg.IsBodyHtml = False
    9. Dim mySmtpsvr As New SmtpClient()
    10. mySmtpsvr.EnableSsl = True 'SSL aktivieren
    11. mySmtpsvr.Host = "smtp.strato.de"
    12. mySmtpsvr.Port = 587
    13. mySmtpsvr.UseDefaultCredentials = False
    14. mySmtpsvr.Credentials = myCredentials
    15. Try
    16. Msg.From = New MailAddress("*********")
    17. ProgressBar1.Value = 10
    18. Msg.To.Add("*********")
    19. Msg.CC.Add(ccempfaender.Text)
    20. ProgressBar1.Value = 20
    21. Msg.Subject = "Plombennummer für Wechselbrücke Kundennummer: *********"
    22. ProgressBar1.Value = 30
    23. Msg.Body = "Hallo, wir möchten Ihnen die heutige Plombennummer mitteilen, diese lautet: " & (Plombennummer.Text) & ". Außerdem haben wir auf der Wechselbrücke folgende Anzahl an Paletten: " & "Europaletten: " & (Euro.Text) & ", Einwegpaletten: " & (Einweg.Text) & " verladen. Über eine schnelle Abwicklung würden wir uns sehr freuen und verbleiben mit den besten Grüßen! Panorama24 Lagerteam. Für dringliche Fragen, stehen wir Ihnen gerne unter folgender Rufnummer zur Verfügung: *********"
    24. ProgressBar1.Value = 80
    25. mySmtpsvr.Send(Msg)
    26. ProgressBar1.Value = 100
    27. MsgBox("Erfolgreich - schönen Feierabend", MsgBoxStyle.Information, Title:="Information")
    28. Catch ex As Exception
    29. MsgBox(Err.Number & ex.Message & ex.StackTrace.ToString) 'Falls ein Fehler auftritt wird eine MsgBox angezeigt
    30. End Try
    31. End Sub
    32. End Class




    Danke im Voraus
    Bilder
    • programm.jpg

      124,76 kB, 648×303, 60 mal angesehen
    Erstmal Herzlich Willkommen im Forum!
    Nun zum Problem: Falls es an der Mail liegt oder nur so: Tutorial: youtube.com/watch?v=lzo7HTtEhgg
    Schreiben in eine Datei: my.computer.filesystem.writealltext(datei, text & vbnewline, true(append)) besser noch mit io.file
    Lesen aus einer Datei dim Roh() as String = io.file.readalllines(datei)
    Computer sind nur so schlau, wie der, der vor sitzt.
    ~ 1 schlauer Mensch
    @panorama24 Willkommen im Forum. :thumbup:

    QiSystem schrieb:

    Schreiben in eine Datei
    Jou. Gleich anhängen:

    VB.NET-Quellcode

    1. IO.File.AppendAllText(DEIN_PFAD, DEIN_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).
    VB-Fragen über PN / Konversation werden ignoriert!
    Hi,
    zusätzlich zur Lösung von @RodFromGermany und als Tip für die "Archivierung" deiner versendeten Plombennummern, würde ich das Tut von @ErfinderDesRades empfehlen Daten laden, speichern einfache Variante Daten laden, speichern, verarbeiten - einfachste Variante
    "Hier könnte Ihre Werbung stehen..."
    Tolles Projekt zum üben und lernen. Wiederkehrende arbeiten, automatisieren und zeit sparen :)

    Ich mach sowas gerne mit dem StreamWriter bzw. StreamReader.

    Gibts entscheidende Vorteile/Nachteile zwischen my.computer.filesystem.writealltext()/io.file.readalllines und dem StreamWriter/StreamReader ?

    Edit: Hab gerade selbst nachgeschaut, Quelle MSDN
    Die WriteAllText Methode öffnet eine Datei geschrieben und anschließend geschlossen. Code, der die WriteAllText ist einfacher als Code, der ein StreamWriter Objekt. Jedoch, wenn Sie Zeichenfolgen in eine Datei Hinzufügen einer Schleife mit einer StreamWriter Objekt kann eine bessere Leistung bieten, da Sie nur zum Öffnen und schließen die Datei nur einmal.
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen

    mrMo schrieb:

    Gibts entscheidende Vorteile/Nachteile zwischen my.computer.filesystem.writealltext()/io.file.readalllines und dem StreamWriter/StreamReader ?

    Ja! Streamreder /writer schreiben bzw. lesen ohne sich ablenken zu lassen. Das heißt mit io.file.writelalltext z.B. kannst du während der reader / writer offen ist die datei nicht anderweitig benutzen (z.B. im Notepad öffnen).

    Ach so:
    @panorama24 Du kannst das Topic als erledigt markieren. (V)
    Computer sind nur so schlau, wie der, der vor sitzt.
    ~ 1 schlauer Mensch