[Monkey] Textdatei unter mojo2 auslesen
Übersicht Andere Programmiersprachen Allgemein
nX^Betreff: Textdatei unter mojo2 auslesen |
Mi, Dez 16, 2015 14:31 Antworten mit Zitat |
|
---|---|---|
Wie kann ich einfach eine Textdatei auslesen bzw erstellen unter mojo2? So einfach wie mit mojo1 funktioniert das nicht mehr... | ||
Farbfinsternis |
Mi, Dez 16, 2015 20:15 Antworten mit Zitat |
|
---|---|---|
Mein Monkey-File heißt "loadfile.monkey", demzufolge heißt mein Data-Verzeichnis "loadfile.data". Dort drin habe ich eine Datei namens "data.txt" angelegt mit dem Inhalt: "Hello World". Folgender Code lädt diese Datei und zeigt den Inhalt mittels Mojo2 an:
Code: [AUSKLAPPEN] Strict Import mojo2 Class MyApp Extends App Field data:String Field canvas:Canvas Method OnCreate:Int() canvas = New Canvas() data = LoadString("data.txt") Print data Return 0 End Method OnUpdate:Int() Return 0 End Method OnRender:Int() canvas.Clear() canvas.DrawText(data, 10, 10) canvas.Flush() Return 0 End End Function Main:Int() New MyApp() Return 0 End Eine Textdatei laden funktioniert immer noch genauso wie früher. Nur die Verwaltung des Canvas ist anders. |
||
Farbfinsternis.tv |
nX^ |
Mi, Dez 16, 2015 21:03 Antworten mit Zitat |
|
---|---|---|
Die Variante hatte ich schon in der Monkey Hilfe gesehen... Ist dass die einzigste Möglichkeit? Ich kann ja nur einen String auslesen und keinen int oder mehrere Zeilen? | ||
Farbfinsternis |
Mi, Dez 16, 2015 21:15 Antworten mit Zitat |
|
---|---|---|
Wenn Du verschiedene Daten aus einem File lesen willst empfehle ich XML. Aber das ist ein anderes, wesentlich größeres Thema. Sollte Dich das interessieren kann ich das gern weiter ausführen.
Du kannst natürlich Deine Textdatei selbst ordnen. Wenn Du weißt wann wo ein Integer, Float oder was auch immer kommt, steht es Dir frei diesen Teil dorthin zu casten. Dafür lädst Du halt Deine Textdatei und untersuchst sie selbst. |
||
Farbfinsternis.tv |
nX^ |
Mi, Dez 16, 2015 21:36 Antworten mit Zitat |
|
---|---|---|
Das ich die Datei selbst untersuchen muss ist klar, aber kann ich nur strings Auslesen oder auch andere Datentypen?
Wenn ich alles selber aus dem String klamüsern muss, wäre wahrscheinlich Xml die richtige Wahl.... |
||
Farbfinsternis |
Mi, Dez 16, 2015 21:42 Antworten mit Zitat |
|
---|---|---|
Da LoadString Dir nur einen String zurück gibt kannst Du auch nur mit diesem String arbeiten. Es gibt noch andere Möglichkeiten Dateien zu lesen, aber die sperren einige Targets aus und sind recht komplex. Ich empfehle XML oder JSON um die Möglichkeit zu behalten alle Ziele abzudecken. | ||
Farbfinsternis.tv |
nX^ |
Mi, Dez 16, 2015 22:06 Antworten mit Zitat |
|
---|---|---|
Ist das Gegenstück zum auslesen writestring oder ist das ohne weiteres nicht möglich?
Ich möchte im Prinzip ein paar Werte auslesen, diese verändern und dann in der Datei überschreiben... |
||
kog |
Do, Dez 17, 2015 12:45 Antworten mit Zitat |
|
---|---|---|
Als möglichkeit gäbe es da auch noch Databuffer.Load | ||
Windows 7 Home Premium 64bit
CPU: Intel Core i5 3450 Ivy Bridge GPU: HIS HD 4870 1GB GDDR5 RAM: 4x 4GB DDR3-SDRAM Dual Channel |
Farbfinsternis |
Do, Dez 17, 2015 18:04 Antworten mit Zitat |
|
---|---|---|
Es gibt noch die Klasse "FileStream". Diese steht natürlich nicht auf allen Targets zur Verfügung. Alle Targets welche nach C++, C# oder Java kompilieren werden aber unterstützt.
Mit "FileStream.Open()" kannst Du eine Datei zum lesen oder schreiben öffnen und dann mit den Methoden des Objekts lesen oder schreiben: Code: [AUSKLAPPEN] Local myFile:FileStream = FileStream.Open("myFile.txt", "r") myFile.ReadByte() myFile.ReadInt() myFile.ReadString() ' und so weiter und so fort |
||
Farbfinsternis.tv |
nX^ |
Do, Dez 17, 2015 19:39 Antworten mit Zitat |
|
---|---|---|
Wie läuft dass denn unter html5 bzw Flash ab? | ||
Farbfinsternis |
Do, Dez 17, 2015 20:06 Antworten mit Zitat |
|
---|---|---|
Bei HTML5 oder Flash kannst Du keine Daten schreiben (außer mittels SaveState). Wenn Du hier Daten schreiben willst musst Du etwas völlig eigenes bauen und Deine Sachen an ein Serverscript (bspw. PHP) schicken, welches es dann auf dem Server sichert. | ||
Farbfinsternis.tv |
nX^ |
Sa, Dez 19, 2015 19:07 Antworten mit Zitat |
|
---|---|---|
Das Problem wenn ich den Filestream benutze, bekomme ich jedesmal die Meldung "FileStream" not found unter Glfw oder iOs Target...
Edit: Kann das damit zusammenhängen, dass ich mojo2 importiere statt mojo? |
||
Farbfinsternis |
Di, Dez 22, 2015 23:10 Antworten mit Zitat |
|
---|---|---|
Das hat mit mojo2 nichts zu tun, importiere anstelle von FileStream einfach "brl" und es funktioniert da FileStream Abhängigkeiten besitzt. | ||
Farbfinsternis.tv |
Übersicht Andere Programmiersprachen Allgemein
Powered by phpBB © 2001 - 2006, phpBB Group