Benutzer mit den meisten Antworten
Speicherung einer .txt Datei mit Datum und Uhrzeit als Name

Frage
-
Hi Leute,
ich möchte den Inhalt einer LstBox in eine .txt Datei speichern und als Namen für die Datei das Datum und die Uhrzeit verwenden. Das klappt bisher schon ganz gut. Einziges Problem, ich bekomme kein .txt an den Dateinamen. Die dafür verantwortliche Zeile in meinem Code sieht folgendermasen aus:
Dim oFi As FileStream = New FileStream("C:\Daten\Dokumentationen\S7-Projekt\" & Datum, FileMode.Create)
Hat jemand eine Idee, wie ich jetzt hinter ...& Datum... die Endung .txt ranbekomme? Weiter würde ich diese Speicherung gerne zyklisch ausführen, also ab Programmstart unendlich lange. Kann mir dabei vielleicht jemand einen Tip geben? Danke für eure Hilfe!
VBDave
- Bearbeitet Robert BreitenhoferModerator Donnerstag, 22. Juli 2010 14:55 Formatierung
Antworten
-
Die aneinanderreihung von Strings mit dem "&" konnte ich noch nie leiden.
Deswegen diese Variante.
Dim Ziel As String = "C:\Daten\Dokumentationen\S7-Projekt\"
Dim Pfad As String = String.Format("{0}{1:ddMMyyyy}.txt", Ziel, DateTime.Now)
Dim oFi As FileStream = New FileStream(Pfad, FileMode.Create)oder damit man im Explorer nachher besser die Dateien sortieren kann diese Variante des Datums
Dim Pfad As String = String.Format("{0}{1:yyyyMMdd}.txt", Ziel, DateTime.Now)
- Als Antwort markiert Thorsten DörflerModerator Samstag, 31. Juli 2010 15:57
-
Hallo,
ich möchte den Inhalt einer LstBox in eine .txt Datei speichern und als Namen für die Datei das Datum und die Uhrzeit verwenden. Das klappt bisher schon ganz gut. Einziges Problem, ich bekomme kein .txt an den Dateinamen. Die dafür verantwortliche Zeile in meinem Code sieht folgendermasen aus:
Dim oFi As FileStream = New FileStream("C:\Daten\Dokumentationen\S7-Projekt\" & Datum, FileMode.Create)
Hat jemand eine Idee, wie ich jetzt hinter ...& Datum... die Endung .txt ranbekomme?
Im einfachsten Fall:
Dim oFi As FileStream = New FileStream("C:\Daten\Dokumentationen\S7-Projekt\" & Datum & ".txt", FileMode.Create)Weiter würde ich diese Speicherung gerne zyklisch ausführen, also ab Programmstart unendlich lange.
Zyklisch meint sicher in bestimmten Zeitintervallen? Dafür kannst Du einen Timer verwenden und im Tick Ereignis dieses Timers, die Speicherung durchführen.
Thorsten Dörfler
Microsoft MVP Visual Basic
vb-faq.de- Bearbeitet Robert BreitenhoferModerator Donnerstag, 22. Juli 2010 14:59 Formatierung
- Als Antwort vorgeschlagen Robert BreitenhoferModerator Donnerstag, 22. Juli 2010 15:01
- Als Antwort markiert Thorsten DörflerModerator Samstag, 31. Juli 2010 15:57
-
Hallo VBDave,
ganz konkret in etwa so
Imports System.IO
Public Class Form1
Dim mtimTimer As Timer
Private Sub Write_File(ByVal pstrFile_Content As String)
Dim oFi As FileStream = New FileStream _
("C:\Daten\Dokumentationen\S7-Projekt\" & Now.ToString.Replace(CChar(":"), CChar(" ")) & ".txt", FileMode.Create)
oFi.Write(System.Text.Encoding.Unicode.GetBytes(pstrFile_Content), _
0, _
System.Text.Encoding.Unicode.GetBytes(pstrFile_Content).Count)
oFi.Close()
End Sub
Private Sub timTimerer_Tick(ByVal myObject As Object, _
ByVal myEventArgs As EventArgs)' Oder was auch immer...
Write_File(Now.ToString)
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
mtimTimer = New Timer
With mtimTimer
.Start()
' 5 Sekunden
.Interval = 5000
End With
AddHandler mtimTimer.Tick, AddressOf timTimerer_Tick
End Sub
Private Sub Form1_Disposed(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Disposed
RemoveHandler mtimTimer.Tick, AddressOf timTimerer_Tick
mtimTimer.Stop()
mtimTimer.Dispose()
mtimTimer = Nothing
End Sub
End Class
- Als Antwort vorgeschlagen Robert BreitenhoferModerator Donnerstag, 22. Juli 2010 15:01
- Als Antwort markiert Thorsten DörflerModerator Samstag, 31. Juli 2010 15:57
Alle Antworten
-
Hallo,
ich möchte den Inhalt einer LstBox in eine .txt Datei speichern und als Namen für die Datei das Datum und die Uhrzeit verwenden. Das klappt bisher schon ganz gut. Einziges Problem, ich bekomme kein .txt an den Dateinamen. Die dafür verantwortliche Zeile in meinem Code sieht folgendermasen aus:
Dim oFi As FileStream = New FileStream("C:\Daten\Dokumentationen\S7-Projekt\" & Datum, FileMode.Create)
Hat jemand eine Idee, wie ich jetzt hinter ...& Datum... die Endung .txt ranbekomme?
Im einfachsten Fall:
Dim oFi As FileStream = New FileStream("C:\Daten\Dokumentationen\S7-Projekt\" & Datum & ".txt", FileMode.Create)Weiter würde ich diese Speicherung gerne zyklisch ausführen, also ab Programmstart unendlich lange.
Zyklisch meint sicher in bestimmten Zeitintervallen? Dafür kannst Du einen Timer verwenden und im Tick Ereignis dieses Timers, die Speicherung durchführen.
Thorsten Dörfler
Microsoft MVP Visual Basic
vb-faq.de- Bearbeitet Robert BreitenhoferModerator Donnerstag, 22. Juli 2010 14:59 Formatierung
- Als Antwort vorgeschlagen Robert BreitenhoferModerator Donnerstag, 22. Juli 2010 15:01
- Als Antwort markiert Thorsten DörflerModerator Samstag, 31. Juli 2010 15:57
-
Hallo VBDave,
ganz konkret in etwa so
Imports System.IO
Public Class Form1
Dim mtimTimer As Timer
Private Sub Write_File(ByVal pstrFile_Content As String)
Dim oFi As FileStream = New FileStream _
("C:\Daten\Dokumentationen\S7-Projekt\" & Now.ToString.Replace(CChar(":"), CChar(" ")) & ".txt", FileMode.Create)
oFi.Write(System.Text.Encoding.Unicode.GetBytes(pstrFile_Content), _
0, _
System.Text.Encoding.Unicode.GetBytes(pstrFile_Content).Count)
oFi.Close()
End Sub
Private Sub timTimerer_Tick(ByVal myObject As Object, _
ByVal myEventArgs As EventArgs)' Oder was auch immer...
Write_File(Now.ToString)
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
mtimTimer = New Timer
With mtimTimer
.Start()
' 5 Sekunden
.Interval = 5000
End With
AddHandler mtimTimer.Tick, AddressOf timTimerer_Tick
End Sub
Private Sub Form1_Disposed(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Disposed
RemoveHandler mtimTimer.Tick, AddressOf timTimerer_Tick
mtimTimer.Stop()
mtimTimer.Dispose()
mtimTimer = Nothing
End Sub
End Class
- Als Antwort vorgeschlagen Robert BreitenhoferModerator Donnerstag, 22. Juli 2010 15:01
- Als Antwort markiert Thorsten DörflerModerator Samstag, 31. Juli 2010 15:57
-
Die aneinanderreihung von Strings mit dem "&" konnte ich noch nie leiden.
Deswegen diese Variante.
Dim Ziel As String = "C:\Daten\Dokumentationen\S7-Projekt\"
Dim Pfad As String = String.Format("{0}{1:ddMMyyyy}.txt", Ziel, DateTime.Now)
Dim oFi As FileStream = New FileStream(Pfad, FileMode.Create)oder damit man im Explorer nachher besser die Dateien sortieren kann diese Variante des Datums
Dim Pfad As String = String.Format("{0}{1:yyyyMMdd}.txt", Ziel, DateTime.Now)
- Als Antwort markiert Thorsten DörflerModerator Samstag, 31. Juli 2010 15:57