Zwischen String und Int unterscheiden

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Der Eisvogel

Betreff: Zwischen String und Int unterscheiden

BeitragFr, März 07, 2008 14:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo
Also ich schreibe in eine Datei einmal "Hallo" mit "WriteString" und "10" mit "WriteInt". So, angenommen ich wüsste nicht, dass die 1. Zeile mit "Writestring" geschrieben worden ist und die 2. mit "WriteInt", ich weiß auch nicht was in der Datei steht. Wie kann ich nun beim auslesen feststellen ob ich "ReadString" oder "ReadInt" benutzten muss?
Gibt es da eine Möglichkeit? Wenn ja, welche?

mfg
Marc-Peter
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

Smily

BeitragFr, März 07, 2008 15:02
Antworten mit Zitat
Benutzer-Profile anzeigen
nein, das ist nicht möglich.
Da das, was bei writestring geschrieben wird auch per ReadInt ausgelesen werden kann.
 

ChristianK

BeitragFr, März 07, 2008 15:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Du musst vorher einen weiteren Wert speichern, der den Typ der folgenden Daten angibt. Zum Beispiel 1 Byte. In etwa so:

ReadByte -> 1 ( steht für Text )
ReadString ...

ReadByte -> 2 ( steht für Integer )
ReadInt ...

und so weiter ...
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT

Der Eisvogel

BeitragFr, März 07, 2008 15:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Das wäre eine Möglichkeit. Doch leider kann ich diese nicht anwenden. Ich habe nämlich einen Kompriemierungsversuch gestartet und da lese ich jede Datei aus und schreibe sie anders ich die neue Datei. Deswegen muss ich wissen ob in der Datei ein String oder ein Integer notiert ist. Aber wenn das nicht geht muss ich mir wohl was anderes überlegen.
Und Danke für die schnellen Antworten.

mfg
Marc-Peter
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

peacemaker

BeitragFr, März 07, 2008 18:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Vlt immer zuerst ein WriteByte. Dort steht 1= String, 2= Integer, 3= Float oder so.
Dann kannste je nachdem was du willst auslesen. Ist aber halt so, das es die Datei vergrössert.

mfG
~Tehadon~
www.tehadon.de
http://www.blitzforum.de/worklogs/14/

Der Eisvogel

BeitragFr, März 07, 2008 18:44
Antworten mit Zitat
Benutzer-Profile anzeigen
ChristianK hat genau das Gleiche geschrieben und wie schon gesagt, ich kann diese Methode nicht anwenden.
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

BladeRunner

Moderator

BeitragFr, März 07, 2008 18:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Um komprimieren zu können muss man nicht wissen was da komprimiert wird. Dem Kompressionsalgo ist es wurst was er da einstampft.
Wichtig ist nur dass der Vorgang umkehrbar ist. dann hast du ja nach dem Entpacken wieder die Ursprungsdatei und kannst die wieder locker flockig einlesen.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

ShadowJumper

BeitragFr, März 07, 2008 20:18
Antworten mit Zitat
Benutzer-Profile anzeigen
wie ChristianK schon vorgeschöagen hat (woran ich als erstes gedacht habe) is schon die eigentlich beste möglichkeit

was das komprimieren angeht: das ist eher schlecht möglich...
wenn eine von dir gespeicherte Variable den kleinstmöglichen Datentyp hat, dann kann man es eigentlich nicht noch weiter verkleinern (ich kenn mich damit aber nicht so gut aus, z.B. weiß ich net, wie das mit *.zip/*.rar dateien is...)
versuch einfach, das, was du speichern möchtest nach möglichkeit zu "Standartisieren", damit die Datei nicht unnötig groß wird (und ein komprimieren net unbedingt nötig ist)
dann weißt du aber auch immer, was als nächstes kommen muss Wink
Bilder kostenlos hosten
lest und weint:
RAM - 512 MB; GrafikRAM - 32 MB; CPU - 800 MHz
Ps: ... und weint (vor lachen)

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group