kostenloser Webspace werbefrei: lima-city


text aus datei laden

lima-cityForumProgrammiersprachenBasic

  1. Autor dieses Themas

    ricel

    ricel hat kostenlosen Webspace.

    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. 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
  4. Autor dieses Themas

    ricel

    ricel hat kostenlosen Webspace.

    ich bekomme jetzt beim lesen eine Fehlermeldung in der steht, dass der prozess schon geöffnet ist.
    und hier
    http://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
  5. 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
  6. 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
  7. @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^^
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!