txt datei erstellen

  • VB.NET

Es gibt 14 Antworten in diesem Thema. Der letzte Beitrag () ist von cpu_johnny.

    txt datei erstellen

    Moin,

    vorweg: suche genutzt, paar sachen gefundne, aber half mir nicht weiter.

    Ich bräuchte für mein programm etwas, wenn ich auf ein button drück oder wat weiß ich,
    dass dann eine txt datei erstellt. diese txt datei soll wie das jetzige datum heißen, also ich hoffe das geht iwie mit der now funktion^^
    aber in der txt datei soll dann von label1.text der inhalt drin sein von label2.text usw.
    so soll das dann in der txt datei aussehen: (wenn label1.text=5 label2.text=3 label3.text=4 das zb is)

    534
    aber nicht
    5
    3
    4
    oder 5 3 4, sondern halt 534. ;)
    Ich hoffe ihr könnt mir da weiterhelfen.

    MfG
    ich habe glaube ich 5 labels, ich nenn sie einfach mal label1, label2, label3, label4, und label5.
    es soll dann halt wirdklcih 653 da stehen, und nicht iwie anders ;)
    c) ist eigentlich egal, aber wenn es sich realisieren lässt wäre mir nur datum lieber
    d) eigentlich hinfällig, da das bei form_closing passieren soll. bei einem button sollte es das gleiche halt nochmal machen.
    mir geht es halt nur dadrum, dass die txt datei erstellt wird mit dem text von den labels.
    so hab ma was geschrieben..

    VB.NET-Quellcode

    1. Imports System.IO
    2. Public Class Form1
    3. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    4. If File.Exists(Application.StartupPath & "\Text.txt") = True Then
    5. Dim fs As New FileStream("Text.txt", FileMode.Open)
    6. Dim sw As New StreamWriter(fs)
    7. sw.WriteLine(Label1.Text & Label2.Text & Label3.Text)
    8. sw.Close()
    9. Else
    10. End
    11. End If
    12. End Sub
    13. End Class


    das mit dem datum schaffst du schon alleine ;)

    lg
    sry war kurz wech
    getestet und geht ( gibt bestimmt noch 10000 wege )


    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    3. Dim Pfad As String = Application.ExecutablePath'ermittelt den pfad zur exe
    4. Dim Dateiname As String = TimeOfDay.Hour() & "_" & TimeOfDay.Minute & ".txt"'erstellt den namen der datei
    5. Dim streami As System.IO.FileStream'deklariert den stream
    6. streami = System.IO.File.Create(Dateiname)'erstellt die datei
    7. Dim cfile As System.IO.StreamWriter = New System.IO.StreamWriter(streami, System.Text.Encoding.Default)'öffnet die datei zum schreiben
    8. cfile.WriteLine(Label1.Text & Label2.Text & Label3.Text & Label4.Text & Label5.Text)'schreibt die daten
    9. cfile.Close()'schließt die datei
    10. End Sub
    11. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    12. Label1.Text = "1"
    13. Label2.Text = "2"
    14. Label3.Text = "3"
    15. Label4.Text = "4"
    16. Label5.Text = "5"
    17. End Sub
    18. End Class
    cool vielen dank euch beiden:) hat jetzt aufjedenfall geklappt. :)
    bzw eins hat ncoh nich so gut geklappt :( hab jetz mal variante zwei genommen.
    wenn ich diese nehme heißt meine datei 2_52
    wenn ich

    VB.NET-Quellcode

    1. Dim Dateiname As String = TimeOfDay.Hour() & "_" & TimeOfDay.Minute & ".txt"'erstellt den namen der datei

    in

    VB.NET-Quellcode

    1. Dim Dateiname As String = now & ".txt"'erstellt den namen der datei

    ändere,
    bekomme ich immer diese fehlermeldung: (mit dem orginalen klappt es)
    Das angegebene Pfadformat wird nicht unterstützt.

    mit verweis auf dateiname aus zeile 7.
    das wäre das einzige was nciht klappt, ansonsten alles super ;)

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

    Weil das "now" bei dir Vermutlich Doppelpunkte drinnen hat und diese nicht in einem Dateinamen verwendet werden dürfen.
    Wenn dir die Stunde und Minute reicht dann lass den "_" einfach weg.

    VB.NET-Quellcode

    1. Dim Dateiname As String = TimeOfDay.Hour() & TimeOfDay.Minute & ".txt"'erstellt den namen der datei


    lg
    ScheduleLib 0.0.1.0
    Kleine Lib zum Anlaufen von Code zu bestimmten Zeiten
    stimmt, wie doof von mir :O
    aber gibt es mit mit timeofXX nicht eine möglichkeit das datum anzugeben?
    weil das wäre schon sehr wichtig. die uhrzeit ansich ist egal, ich brauch nur das datum.

    lg

    edit:
    hatgeklappt mit bisl rumprobieren :D

    Date.Today.Date

    vielen dank euch allen

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

    sowas ?

    VB.NET-Quellcode

    1. Dim neuerdateiname As String = Now
    2. neuerdateiname = neuerdateiname.Replace(".", "-")
    3. neuerdateiname = neuerdateiname.Replace(":", "-")
    4. neuerdateiname = neuerdateiname.Replace(" ", "_")
    5. MsgBox(neuerdateiname)


    edit : so nun ;)
    Bilder
    • label.png

      14,87 kB, 221×154, 18.560 mal angesehen

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Triple-Axe“ ()

    also das mit dem datum hat jetz schon sehr gut geklappt, vll ersetzte ich es noch mit dem vom poster zwei über mir. also mit replace.
    ein kleines problem habe ich noch: ich möchte gerne das das beim pc runterfahren ausgeführt wird. also wenn es gestartet wurde und ich den pc ausmache soll die txt datei erstellt werden. es funktioniert mit form.closing und form.closed wenn ich den dateipfad in Application.ExecutablePath lasse, aber wenn ich meinen eigenen dateipfad angeben zb so:

    VB.NET-Quellcode

    1. Dim Pfad As String = ("C:\log")


    dann wird dort keine datei erstellt. mit dem orginalen aber schon.
    das hier schließt die form nach abfrage

    VB.NET-Quellcode

    1. Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
    2. If beendenabfrage = True Then
    3. Select Case MsgBox("Wollen Sie das Programm wirklich beenden?", vbQuestion Or vbYesNo Or vbDefaultButton2, "beenden ?")
    4. Case vbYes
    5. Application.Exit()
    6. End
    7. Case vbNo
    8. e.Cancel = True 'Fenster wird nicht geschlossen
    9. End Select
    10. Else
    11. End If
    12. End Sub
    Was macht ihr denn immer so komplizierte Ansätze?
    StreamWriter sind zwar toll, aber doch etwas oversized, oder?

    Einfacher ist das:

    VB.NET-Quellcode

    1. 'Variabeln:
    2. Dim inhalt As String
    3. Dim dateiname As String
    4. 'Werte zuweisen
    5. inhalt = Label1.Text & Label2.Text & Label3.Text
    6. dateiname = "C:\" & TimeOfDay & ".txt"
    7. 'Dokument schreiben
    8. My.Computer.FileSystem.WriteAllText(dateiname, inhalt, False) 'Dateinamen, Inhalt, Überschreiben - Ja/Nein?



    LG, Johnny