Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge

In Binärdatei schreiben unter VB.NET

Pupille / 2 Antworten / Flachansicht Nickles

Hallo bin Anfängerprogrammierer in VB.NET. Ich möchte gerne Inhalte von Textfeldern über das Steuerelement "SaveFileDialog" in eine Datei schreiben (am Besten in eine Binärdatei oder eine Textdatei). Diese gespeicherten Inhalte der Textfelder möchte ich mir dann wieder in Textfeldern anzeigen lassen können. Wer kann mir helfen? Wäre nett, wenn jemand mir vielleicht den (Teil-)Code eines bereits geschriebenen Programms zeigen könnte.


Vielen Dank!

bei Antwort benachrichtigen
Pupille philipps „Hi Pupille! Zunächst einmal ist eine Binärdatei ja nix anderes als eine Datei...“
Optionen

Vielen Dank für die schnelle Antwort!

Mein Problem ist aber noch nicht gelöst (ich hätte vielleicht päzieser formulieren sollen). Das mit dem Stream-Objekt klappt ganz gut: Es wird eine Datei erzeugt, die ich mir im Editor auch mit ihren Inhalten anschauen kann. Ich möchte jedoch die Inhalte dieser Datei wieder jeweils in meinen Textfelder einlesen und anschauen können.


In meinem VB 6.0 Programm (dies ist funktionsfähig im Gegensatz zu meinen "Gehversuchen" mit VB.NET) sieht der Code folgendermaßen aus:

Private Sub mnuSpeichernunter_Click()
ccDialogControll.ShowSave
Dim DateiNr As Integer
DateiNr = FreeFile
Open ccDialogControll.FileName For Binary As DateiNr
Put DateiNr, , mKlassenstärke
Put DateiNr, , mSchülernummer
Put DateiNr, , mVorname
Put DateiNr, , mNachname
Put DateiNr, , mPostleitzahl
Put DateiNr, , mWohnort
Close DateiNr
End Sub

Private Sub mnuÖffnen_Click()
ccDialogControll.ShowOpen
Dim DateiNr As Integer
DateiNr = FreeFile
If ccDialogControll.FileName = "" Then Exit Sub
Open ccDialogControll.FileName For Binary As DateiNr
Get DateiNr, , mKlassenstärke
Get DateiNr, , mSchülernummer
Get DateiNr, , mVorname
Get DateiNr, , mNachname
Get DateiNr, , mPostleitzahl
Get DateiNr, , mWohnort
Close DateiNr

Dim mAktuellerSchüler As Integer
mAktuellerSchüler = mSchülernummer
lbSchülerNr.Caption = mAktuellerSchüler
txtVorname.Text = mVorname(mAktuellerSchüler)
txtNachname.Text = mNachname(mAktuellerSchüler)
txtPostleitzahl.Text = mPostleitzahl(mAktuellerSchüler)
txtWohnort.Text = mWohnort(mAktuellerSchüler)
txtKlassenstärke.Text = mKlassenstärke
End Sub


Wie kann ich in VB.NET nun den Stream wieder so einlesen, dass ich nicht nur einen Alphanumerischen Strom mit Zeichen habe, sondern dass ich diese Zeichen auch dem Array und dann anschließend den Ausgabetextfeldern korrekt zuordnen kann? Was in VB 6.0 geht muss doch auch in VB.NET gehen, oder? Für Hilfe wäre ich sehr dankbar!


Mein Code bisher (für den Write-Stream):

Private Sub mnSpeichernUnter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnSpeichernUnter.Click
SaveFileDialog1.ShowDialog() 'Das Speichern-Fenster wird angezeigt.
'FileStreamobjekt
Dim obFi As FileStream = New FileStream(SaveFileDialog1.FileName, FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite)


Grüße

'Streamwriterobjekt
Dim obStw As StreamWriter = New StreamWriter(obFi)

'Schreiben in das Stream-Objekt
obStw.WriteLine(byKlassenstärke)
For byNr = 1 To byKlassenstärke Step 1
obStw.WriteLine(byNr & astVorname(byNr) & vbTab & astNachname(byNr) & vbTab & astStraße(byNr) & vbTab & astPLZ(byNr) & vbTab & astWohnort(byNr))
Next byNr
obStw.Close()
End Sub

bei Antwort benachrichtigen