Texte speichern + Drucken

  • VB.NET

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

    Texte speichern + Drucken

    Soooo....erstmal möchte ich mich bei euch bedanken. Mein Programm läuft soweit ich es getestet habe :D

    Im Prinzip ist es auch komplett. Nur mir ist gerade die Idee gekommen das es ganz nett wäre wenn ich den Inhalt der Textboxen in einer externen Datei (da es eine Tabelle darstellt würde ich Excel bevorzugen) speichern kann (inklusive Variablen wäre nicht schlecht, sodass ich die Daten auch wieder mit den Variablen einlesen und das Programm fortsetzen könnte) und wenn ich diese "Tabelle" drucken kann.

    ich habe schon viel rumgeguckt, aber iwie nix wirkliches gefunden und ich hab keine Ahnung davon :D Hoffe ihr könnt mir mal wieder helfen :D

    greetz
    der Blackz

    VB.NET-Quellcode

    1. Dim sFilePathe As String = Application.StartupPath & "\test.rtf"
    2. Dim streami As FileStream = New FileStream(sFilePathe, FileMode.Append)
    3. Dim cfile As StreamWriter = New StreamWriter(streami, System.Text.Encoding.Default)
    4. cfile.Write(vorschau_RichTextBox.Text)
    5. cfile.Close()
    6. Dim Drucken As New System.Diagnostics.Process()
    7. 'Drucken.StartInfo.FileName = "C:\Test.txt"
    8. Drucken.StartInfo.FileName = sFilePathe
    9. Drucken.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
    10. Drucken.StartInfo.Verb = "print"
    11. Drucken.Start()
    12. Drucken.WaitForExit()


    lg
    Okay das ging schnell :D Danke!
    Nur sagt er mir leider folgendes:
    Der Typ Filestream und Streamwriter sind nicht definiert und vorschau_richtextbox wurde nicht deklariert.
    Bei dem erkundigen habe ich was von system.io gelesen ohne das das alles nicht geht. Ich hab aber leider keine Ahnung was das ist und was ich damit machen muss :D

    greetz
    "Streamwriter" durch "System.IO.StreamWriter" ersetzen und "Filestream" wird zu "system.IO.FileStream".
    Zu deinem "vorschau_richtextbox"-Problem: Lies dir erstmal den Code, einfach nur Copy&Paste ist keine gute Idee. "vorschau_richtextbox" ist (SEHR offensichtlich) die RichTextBox mit deinem Text drin. Wodurch du das ersetzen sollst, müsste klar sein ;)
    zu erklärung

    Schreib in der ersten Zeile deiner Klasse

    VB.NET-Quellcode

    1. Import System.IO


    Damit wird die System.IO Klasse importiert.
    Das wiederum bedeutet, du brauchst nicht immer alles zu schreiben.

    Aus

    VB.NET-Quellcode

    1. System.IO.StreamWriter...


    Wird dann

    VB.NET-Quellcode

    1. StreamWriter......

    vereinfacht die schreibweise.
    Okay. Danke! Gut zu wissen :D

    Edit:
    So. Das mit dem speichern und mit dem druken funktioniert super!
    Nur wie verändere ich den Pfad? Also ich möchte das "Speichern unter" - Fenster angezeigt bekommen. Dies soll mit dem Befehl

    Quellcode

    1. sFilename = Application.GetSaveAsFilename _
    2. (sOrdner & sblattname, "Micrsoft Excel-Dateien (*.xls),*.xls")


    gehen. Bei mir zeigt er aber dann den Fehler: "GetSaveAsFilename" ist kein Member von "System.Windows.Forms.Application".

    Wieso geht das nicht, wo ist der Fehler?

    greetz
    Blackz

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

    sry das ich nich vollständig geschrieben habe war aber kurz bevor ich feierabend hatte vom büro hab einfach nur copypaste von einem meiner projekte dir den code gegeben

    hoffe ich konnte trotzdem helfen

    lg datsspeed :thumbsup:


    PS: wegen deinem aktuellen problem versuchs mal damit :)

    VB.NET-Quellcode

    1. SaveFileDialog1.Title = "Kopf der box "
    2. SaveFileDialog1.Filter = "Micrsoft Excel-Dateien(*.xls)|*.xls|Alle Dateien (*.*)|*.*"
    3. SaveFileDialog1.ShowDialog()


    sobald der dialog beantwortet wurde kannste den namen folgender masen abfragen

    VB.NET-Quellcode

    1. messagebox.show(SaveFileDialog1.FileName)


    hoffe ich konnte weiterhelfen

    lg datsspeed :thumbsup:

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

    Ist doch kein Ding :D Hast ja trotzdem geholfen :D

    Deine Methode mit dem SaveFileDialog habe ich auch gefunden und ausprobiert. Nur das Problem mit dem ist es das ich den Pfad den ich ausgewählt habeja brauche. Und in dem .FileName ist sowohl der Pfad als auch der Name der Datei. Wie trenne ich das?
    Ich kann ja .FileName von hinten anfangend nach einem Backslash oder wie das auch immer geschrieben wird (gemeint ist das hier \ ) durchsuchen und den ersten Teil in der Variablen a und den zweiten in der Variablen b speichern. Aber das muss doch auch einfacher gehen oder??


    greetz
    Blackz :D
    Dafür habe ich ne 0815 lieblings funktion von mir :D

    versuch mal diese hier ^^

    VB.NET-Quellcode

    1. Dim Ausgabename As String
    2. Dim Ausgabenpfad As String
    3. Dim filePath As String = SaveFileDialog1.FileName 'Die Datei mit pfad
    4. Dim slashPosition As Integer = filePath.LastIndexOf("\")
    5. Dim filenameOnly As String = filePath.Substring(slashPosition + 1)
    6. Ausgabename = filenameOnly
    7. Ausgabenpfad = Microsoft.VisualBasic.Left(filee, filee.Length() - Ausgabename.Length())

    datsspeed schrieb:

    Dafür habe ich ne 0815 lieblings funktion von mir

    Tolle Funktion. VIEL besser als einfach was vorgefertigtes aus dem Framework zu nehmen ...

    VB.NET-Quellcode

    1. Dim p As String = "c:\temp\foo.bar"
    2. Debug.Print(System.IO.Path.GetFileNameWithoutExtension(p))
    3. Debug.Print(System.IO.Path.GetFileName(p))
    4. Debug.Print(System.IO.Path.GetDirectoryName(p))


    Quellcode

    1. foo
    2. foo.bar
    3. c:\temp