vb . net datei schreiben und auslesen

defc0n1

Erfahrenes Mitglied
WriteLine funktioniert nicht

Hallo habe mein Programm jetzt fast fertig allerdings funktioniert was mit WriteLine nicht in der Datei Logfiles wird nicht in die nächste Zeile gesprungen kann ir bitte mal jemand sagen was da falsch ist.



Code:
Dim FStreami As New FileStream("C:\logfiles\logs.txt", FileMode.OpenOrCreate, FileAccess.Write, FileShare.Write)
	
FStreami.Close()


	Dim sFilePathe As String = "C:\logfiles\logs.txt"
Dim streami As FileStream = New FileStream(sFilePathe, FileMode.Open)
Dim SWriter As StreamWriter = New StreamWriter(streami, System.Text.Encoding.Default)

SWriter.WriteLine(textBox1.Text)
SWriter.Close()




Ich hoffe es findet jemand einen Fehler....
 
Zuletzt bearbeitet:

Norbert Eder

Erfahrenes Mitglied
Vermutlich hast keine Zeilenschaltungen im Text deiner TextBox drinnen - daher werden diese auch nicht in die Logdatei übernommen.

Aber gerade für solche Dinge (Logfiles etc.) würde ich fertige Lösungen verwenden. Erstens sparst du dir Zeit und kannst dich auf wichtige Dinge konzentrieren und zweitens haben diese ohnehin mehr Funktionalität. Nur ein Tipp.
 

defc0n1

Erfahrenes Mitglied
Hi,


danke für deine Hilfe hab meinen Fehler gerade gefunden....

Code:
	Dim sFilePathe As String = "C:\logfiles\logs.txt"
Dim streami As FileStream = New FileStream(sFilePathe, FileMode.Append)
Dim cfile As StreamWriter = New StreamWriter(streami, System.Text.Encoding.Default)

es musste in der 2. Zeile der FileModeAppend sein jetzt fnktioniert es.


Zu den fertigen Lösungen es macht mir Spaß das selber zu machen aber wenn du ir was fertiges geben kannst zum rein gucken, wär ich dir dankbar.


Ahso aber was mich noch interessieren würde
Code:
SWriter.WriteLine(textBox1.Text)


ich würde hier gerne noch das momentane Datum und die momentane Uhrzeit mit in der Textdate speichern das klappt aber auch nicht.....
 
Zuletzt bearbeitet:

defc0n1

Erfahrenes Mitglied
Also irgendwie hilft mir das nicht so wirklich.....
Code:
Dim datum as Date
Dim time as Integer( ka was das bei einer zeit fürn datentyp sein muss)

datum = Date ' also datum in der Variablen speichern....wieder ka
time = Time.Now 'wieder ka wie ich die zeit da rein krieg

cfile.WriteLine (TextBox1.Text & datum & time) ' hier bin ich mir nicht sicher ob & der richtige operator ist aber um das rauszukriegen üsste ich ja erst mal die beiden oberen sachen wissen

So soll es sein also jetzt mal als Pseudo-Code
 

defc0n1

Erfahrenes Mitglied
Hab zu kompliziert gedacht ein freund hat mir geholfen es muss so sein:

Code:
SWriter.WriteLine ( TextBox1.text & ";" &datetime.now )

mfg

fabian
 

defc0n1

Erfahrenes Mitglied
So

jetzt habe ich allerdings noch eine Frage ist aber hoffentlich die letzte zu diesem Porjekt.

Wie kann ich in einer Datei nach einer bestimmten Uhrzeit suchen oder muss ich erst die Datei auslesen und in ein Array packen und splitten um dann da nach den Uhrzeiten zu suchen....und wenn ja wie geht das in etwa?

Die Datei sieht momentan so aus:

User;Datum Uhrzeit;


Kann man das nicht auch mit dieser Hashfile Klasse/Methode von .net machen....bin mir nich sicher?

Vielen Dank
 
Zuletzt bearbeitet:

defc0n1

Erfahrenes Mitglied
Hi,


also ich hab jetzt eine Idee wie ich das umsetzen kann....wenn es funktioniert poste ich es hier damit auch andere etwas davon haben.

mfg

fabian
 

Christian Kusmanow

Erfahrenes Mitglied
In Bezugnahme auf diesen [thread=251890]Dateiname mit Variable festlegen? - Thread[/thread],
buddel ich mal diesen alten Thread aus, in der Hoffnung ihn vollenden zu können.

Um Dir alle Dateien zu holen instanzierst zuerst eine DirectoryInfo Klasse auf dem Zielverzeichnis.
Danach holst Dir die Files so:
C#:
FileInfo[] myFileInfos = myDirectoryInfo.GetFiles( userName + "*.txt" );
Durch das Array myFileInfos iterierst solange durch, bis Du die gewünschte Datei gefunden hast.

Die Datei kannst so zu lesen öffnen:
C#:
using ( TextReader textReader = new StreamReader( _FileInfo.FullName, Encoding.Default ) ){
	// TODO: Zeile für Zeile durch gehen...
}
Wie Du Datumsangaben formatieren kannst siehst in diesem [post=1295751]AW: Nächster Geburstag aussrechnen - Post[/post]
Um nach bestimmten Strings in Dateien zu suchen, verwendest anschließend die Regex Klasse.
The 30 Minute Regex Tutorial -TheCodeProject

Sag Bescheid wenn Du noch Hilfe brauchst...