text aus datei laden
lima-city → Forum → Programmiersprachen → Basic
code
computer
datei
einlesen
erstellen
erstes beschreiben
file
http
import
laden
level
programm
rechenleistung
rest
schlag
sicherheitskontrolle
spielstand
string
system
url
-
Hallo,
ich habe ein spiel programmiert und da soll der spielstand gespeichert werden
ich das dafür folgendermaßen gemacht:
Dim file As System.IO.StreamWriter file = My.Computer.FileSystem.OpenTextFileWriter(".\dnatsleips.moao", True) file.WriteLine("Level 1") file.Close()
Das programm soll dann lesen was in der datei steht und dann das entsprechende level öffnen
ich möchte also den text in der datei lesen
vllt. kann mir ja jmd weiterhelfen
schonmal danke im voraus -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
also für deinen Fall wäre das:
Import System.IO Dim fileStr as FileStream Dim streamRd as StreamReader Dim fileName as String Dim level as String fileName = "dnatsleips.moao" fileStr = New FileStream(fileName, FileMode.Open) streamRd = New StreamReader(fileStr) level = streamRd.ReadLine() streamRd.close()
Den Rest, wie Sicherheitskontrollen usw. musst du selbst hinzufügen.
Da gibts auch den Rest des Codes:
http://openbook.galileocomputing.de/einstieg_vb_2010/einstieg_vb_2010_kap_06_003.htm
-
ich bekomme jetzt beim lesen eine Fehlermeldung in der steht, dass der prozess schon geöffnet ist.
und hierhttp://openbook.galileocomputing.de/einstieg_vb_2010/einstieg_vb_2010_kap_06_003.htm
habe ich dazu nix gefunden
Edit:
Ich hatte was vergessen zu löschen. Hat sich erledigt
Beitrag zuletzt geändert: 23.8.2011 14:33:21 von ricel -
ich würde die datei au einlesen
Dim lv AS String 'laden If My.Computer.FileSystem.FileExists(".\dnatsleips.moao") = True Then 'überprüfen ob die datei existiert lv = My.Computer.FileSystem.ReadAllText(".\dnatsleips.moao") 'einlesen der datei Else 'wenn die daitei noch nicht existiert My.Computer.FileSystem.CreateDirectory(".\dnatsleips.moao") 'erstellen der datei My.Computer.FileSystem.WriteAllText(".\dnatsleips.moao", "Level1", False) 'erstes beschreiben der datei End If
Beitrag zuletzt geändert: 26.11.2011 10:22:01 von mathehefter -
He,
ich bin zwar nicht mehr mit der .Net-Klassenhierarchie bewander (ist schon 1,5 - 2 Jahre her) aber die Klasse My.Computer.FileSystem ist deine eigene von Streamwriter abgeleitete Klasse?
Du würdest aber jedem Leser deines Programmes einen großen Gefallen tun, wenn du ein- oder zwei Leerzeilen in deinen Code einbaust.
In dem von mir schon geschriebenen Buch steht ganz genau drin, was du machen musst, um eine Datei zu schreiben bzw. lesen.
dort: http://www.galileocomputing.de/openbook findest du auch ein komplettes Buch zu Visual Basic 2008
und da die alternative Erklärung zum Lesen und Schreiben von Dateien:
http://openbook.galileocomputing.de/visualbasic_2008/vb2008_07_eingabe_und_ausgabe_005.htm
So nun müsstest du, wenn du deine Klasse nicht mehr benutzten möchtest, nur noch den Inhalt (den du schreiben möchtest) und die Pfade austauschen.
viel Erfolg
-
@mathehefter:
Ich stimme deinem Quellcode soweit zu, schlage aber vor, auch im Else-Fall der Variable lv einen Wert zuzuweisen:
Dim lv AS String = String.Empty 'laden If My.Computer.FileSystem.FileExists(".\dnatsleips.moao") = True Then 'überprüfen ob die datei existiert lv = My.Computer.FileSystem.ReadAllText(".\dnatsleips.moao") 'einlesen der datei Else 'wenn die daitei noch nicht existiert 'Ich vermute, dass beim Beenden sowieso gepseichert wird, daher sind die beiden folgenden Zeilen hinfaellig... ' My.Computer.FileSystem.CreateDirectory(".\dnatsleips.moao") 'erstellen der datei ' My.Computer.FileSystem.WriteAllText(".\dnatsleips.moao", "Level1", False) 'erstes beschreiben der datei '...ich empfehle einfach Folgendes: lv = "Level 1" End If
Dadurch sparen wir ein wenig Rechenleistung ein^^ -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage