Info+ Rechnung in Text-Datei ausgeben

  • VB.NET

Es gibt 21 Antworten in diesem Thema. Der letzte Beitrag () ist von link_275.

    Info+ Rechnung in Text-Datei ausgeben

    Hallo,

    Mein Programm gibt eine Rechnung einfach in einer Textbox aus. Jetzt möchte ich durch einen MenuStrip die Option "Speichern unter..." haben und die komplette Rechnung mit variablen Infos in einer Datei ausgeben. (Txt. oder word) habt ihr ne idee wie das gehen soll? Jemand ein Beispielcode?
    Ganz oben in der ersten Zeile fügst du ein

    VB.NET-Quellcode

    1. Imports System.IO

    ein

    Und dann kannst du speichern mittels

    VB.NET-Quellcode

    1. Dim sw as StreamWriter = New StreamWriter("Pfad\Datei.txt")
    2. sw.WriteLine("Das Ergebnis der Rechnung, oder was auch immer")
    3. sw.WriteLine("Sonstwas")
    4. sw.Flush()
    5. 'Oder über
    6. File.WriteAllText("Pfad\Datei.txt", "Was reingeschrieben werden soll")
    7. 'Oder mit
    8. My.Computer.FileSystem.WriteAllText("Pfad\Datei.txt", "Was zu schreiben ist", True)
    9. 'Wobei der letze Parameter(heir 'True') angibt, ob der Text angefügt werden soll, oder mit dem in der Textdatei evtl. enthaltenen Text ersetzt werden soll


    Am besten du arbeitest mit einem SaveFileDialog auch noch, um den Pfad und die Datei festzulegen:

    VB.NET-Quellcode

    1. Dim sfd As New SaveFileDialog
    2. sfd.CheckPathExist = True
    3. sfd.CheckFileExist = True
    4. '...
    5. sfd.ShowDialog()
    6. If DialogResult.OK Then
    7. 'eben der Code
    8. End If



    link_275 :thumbup:
    Hello World
    super danke für die schnelle Antwort!!!

    also mein ergebnis der rechnung ist k=textbox9.text

    wie bekomm ich das automatisch in die textdatei?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „JamalR3“ ()

    Indem du das durch den Text ersetzt -.-

    VB.NET-Quellcode

    1. 'Wenn k das ergebnis, also der Text aus TextBox9 ist:
    2. Dim sw as StreamWriter = New StreamWriter("Pfad\Datei.txt")
    3. sw.WriteLine(k)
    4. sw.WriteLine("Sonstwas")
    5. sw.Flush()
    6. 'Oder über
    7. File.WriteAllText("Pfad\Datei.txt", k)
    8. 'Oder mit
    9. My.Computer.FileSystem.WriteAllText("Pfad\Datei.txt", k, True)



    link_275
    Hello World
    Steht alles in meinem ersten Posting, wieso liest du es nicht?

    Am besten du arbeitest mit einem SaveFileDialog auch noch, um den Pfad und die Datei festzulegen:

    VB.NET-Quellcode

    1. Dim sfd As New SaveFileDialog
    2. sfd.CheckPathExist = True
    3. sfd.CheckFileExist = True
    4. '...
    5. sfd.ShowDialog()
    6. If DialogResult.OK Then
    7. 'eben der Code
    8. End If


    link_275
    Hello World
    man habs gelesen, bin im programmieren recht neu -.-
    aber er unterstreicht sfd.checkpathexist & sfd.checkfileexist

    bei dialogresult.ok hab ich noch CBool davor geschrieben, un was kommt vor den ersten zwei`?

    ---- geht schon hab den fehler... danke!

    VB.NET-Quellcode

    1. Dim sfd As New SaveFileDialog
    2. sfd.CheckPathExists = True 'S vergessen ^^
    3. sfd.CheckFileExists = True
    4. '...
    5. sfd.ShowDialog()
    6. If DialogResult.OK Then
    7. 'eben der Code
    8. End If
    9. 'und vor die ersten zwei ' kommt gar nichts, das leitet kommentare ein, die als Code nicht berücksichtigt werden. So kannst du dir z.B. immer nebenhin schreiben, was diese Codestelle tut :)
    Hello World
    voll nett von dir, dass du mir hilfst ^^ ja an dem S hings... habs dann auch gemerkt :P

    ist en programm mit vb möglich, welches automatisch die zeit und datum abgleicht un automatisch in die textdatei hinzuschreibt?

    und wie kann ich die textdatei geordneter gestalten, sprich mit absätzen etc.?
    Automatisch Zeit und Datum:

    VB.NET-Quellcode

    1. MsgBox(Now.ToString())


    Geordneter reinschreiben:

    VB.NET-Quellcode

    1. 'mit
    2. VbTab
    3. 'einrücken
    4. 'Also zum Beispiel
    5. MsgBox("Ein Text " & vbnewline & vbtab & "Nummer1" & vbnewline & vbtab & "Nummer2")



    link_275 :thumbup:
    Hello World
    ich lass hier das Forum-Thema noch auf... weil bestimmt noch fragen auftauchen :P

    Okay, aber dann immer Editieren, nicht doppelposten. Zumindest nicht, wenn zuwenig Zeit dazwischen verstrichen ist. Und wenn die Fragen die sonst noch auftauchen nicht annähernd zu diesem Thema passen, kannst du auch einen neuen Thread eröffnen :)


    link_275 :thumbup:
    Hello World
    Ich weiß gar nicht ob das überhaupt geht o_O
    Eventuell in der RTB die Font Eigenschaften anpassen(im rechten Fenster bei den Eigenschaften unter Font) und dann speichern, aber ob das in der Textdatei in die du das schreibst dann übernommen wird, kann Ich dir nicht sagen..


    link_275 :thumbup:
    Hello World
    Nein meines Wissens kannst du es nicht in eine normale Textdatei schreiben, du müsstest es dann in eine Rtf datei Schreiben.. dafür musst du einfach mal im Internet danach suche.. Wie du da Formatierungen reinbringen kannst.

    lg.

    LucaWelker
    lg.

    LucaWelker
    schau mal

    ich verwende z.B.

    My.Computer.FileSystem.WriteAllText("Dateipfad\Projekt.txt", "Übersicht" & vbTab & vbTab & vbTab & (Now.ToString()) & vbNewLine & vbNewLine, True)

    und

    Dim sfd As New SaveFileDialog
    sfd.CheckPathExists = True
    sfd.CheckFileExists = True
    sfd.ShowDialog()
    If CBool(DialogResult.OK) Then

    End If

    bei My.computer.... usw wähle ich bereits einen Pfad aus... wie kann ich das mit dem unteren kombinieren?
    1. verwende für Code bitte VB-Tags [vb ][/vb] (is besser lesbar
    2. WriteAllTextkommt aus der System.IO-Klasse. Dein Code is da falsch. Schreibe: System.IO.File.WriteAllText(HierDerPfad, HierDeinString). Damit wird dein String in die Textdatei geschrieben. Du kannst auch System.IO importieren, spart Schreibarbeit.
    3.

    VB.NET-Quellcode

    1. Dim sfd As New SaveFileDialog 'Dein SaveFileDialog heißt sfd
    2. sfd.CheckPathExists = True
    3. sfd.CheckFileExists = True
    4. sfd.ShowDialog()
    5. If CBool(DialogResult.OK) Then 'Hier soll eigendlich das Result des sfd abgefragt werden. DialogResult.OK ist ein wert der Result-Enumeration, d.h. Der Dialog (sfd) kann ein Result von diesem Wert (oder anders) zurückgeben
    6. End If

    Besser ist:

    VB.NET-Quellcode

    1. Dim sfd As New SaveFileDialog
    2. sfd.CheckPathExists = True
    3. sfd.CheckFileExists = True
    4. If sfd.ShowDialog() = DialogResult.OK Then 'prüft, ob der Pfad im sfd mit OK bestätigt wurde
    5. File.WriteAllText(HierDerPfad, HierDeinString)'Schreibt deine Textdatei
    6. End If

    4. Nein, Formatierungen in einer einachen Textdatei sind nicht möglich. Dafür gibs RTF (Schau mal bei Richtextbox und RTF hier im Forum)
    :thumbsup: Seit 26.Mai 2012 Oppa! :thumbsup:
    irgendwie kommt das ganze nicht richtig bei mir an -.-

    Private Sub NeuToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NeuToolStripMenuItem.Click

    Dim sfd As New SaveFileDialog
    sfd.CheckPathExists = True
    sfd.CheckFileExists = True
    If sfd.ShowDialog() = DialogResult.OK Then
    My.Computer.FileSystem.WriteAllText("sfd", "Übersicht" & vbTab & vbTab & vbTab & (Now.ToString()) & vbNewLine & vbNewLine, True)
    My.Computer.FileSystem.WriteAllText("sfd", "Anschaffungskosten:" & vbNewLine & "KFZ-Versicherung:" & vbNewLine & "KFZ-Steuer:" & vbNewLine & "Inspektionen, Reparaturen,...:" & vbNewLine & "Hauptuntersuchung/Abgasuntersuchung:" & vbNewLine & "Gebühren und Beiträge:" & vbNewLine & "Sonstige:" & vbNewLine, True)
    My.Computer.FileSystem.WriteAllText("sfd", "Gesamtjahreskosten:" & CStr(k), True)
    End If
    End Sub


    da wo ich jetzt hinter writealltext("sfd") gschrieben hab... ich verstehe nich wieso ich da den pfad eingeben muss un oben den pfad auswählen kann... da stimmt doch was nich oder?