ReadInt - Nur komische Zahlen...
Übersicht

SchoaschBetreff: ReadInt - Nur komische Zahlen... |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi, also ich hab neulichst einen Map Editor erstellt (noch in der Beta phase)
mit dem ich maps speichern kann. Ich hab es zuerst in einer txt Datei versucht, damit ich vorerst die Werte selber verändern kann. Ich speichere die Karte in zahlen, hier ein Beispiel: Code: [AUSKLAPPEN] 0000000000000000000000000000000000000000 0000100000000000000000000000000000000000 0000000000000000000000000000000000000000 0000000000000000000100000000000000000000 0000000000000000000000000000010000000000 0000010000000000000000000000000000000000 0000000000001000000000000000000000000000 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 0000010000000000000000000000000000000000 0000000000000000000000001000000000000000 0000000000000001000000000000000000000000 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 0000000001000000000000100000000000000000 0000000000000001000000000000000000000000 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 0000000000000000000000001000000000000000 0000000001000000000000000000000000000000 0000000000000000000000000000000000000000 0000000000000000000000000010000000000000 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 0000000000000000001000000000000010000000 0000001000000000000000000000000000000000 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 Jetzt will ich aber in einer Function diese Datei lesen, hab das mal so probiert: Code: [AUSKLAPPEN] Mapladen = OpenFile("Maps\Map1.txt") Wert = ReadInt(mapladen) CloseFile Mapladen Print Wert aber alles was da raus kommt = 808464432 Keine Ahnung warum das so ist, kann mir da wer weiter helfen? Danke schon mal im vorraus: Schoasch |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Eine .txt ist genau das: Text. Eine Integer hingegen besteht aus 4 byte die zu einer Zahl aufaddiert werden.
Wenn Du nun mit Readint eine Textzeile einzulesen versuchst schnappt sich Blitz die vier ersten Byte (Zeichen) und versucht daraus ne Zahl zu machen- das kann nicht funktionieren. Zudem wird in deinem Beispiel eine einzige Zahl ausgelesen- deine Karte aber besteht ja aus viel mehr. Wenn Du weiter Textdateien verwenden willst, damit du sie (bequem?) per Notepad erstellen kannst, benutze ql:readline in einer For-Schleife um jede einzelne Zeile einzulesen. Die einzelnen Zeilen musst du dann noch mittels der Stringbefehle (ql:mid etc.) Zerlegen und mit ql:int wieder in Zahlen umwandeln. Du siehst also, der Ladecode wird etwas Komplexer als ein Dreizeiler werden. Etwas einfacher wird es wenn Du die Zahlen direkt als solche Speicherst und wieder einlädst, allerdings musst Du dir dann einen einfachen Editor selbstschreiben, denn Notepad wird damit nichts mehr anfangen können. |
||
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 |
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
du musst sie als 1 Zeichen lesen --> readbyte
char um das zeichen zu bekommen! Code: [AUSKLAPPEN] char(readbyte(file))
achtung, der Zeilen umbruch kommt dann auch mit! |
||
between angels and insects |
- Zuletzt bearbeitet von Jan_ am Do, Aug 30, 2007 11:00, insgesamt einmal bearbeitet
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
char.... fast es heißt Chr(byte) | ||
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
meine fresse, das kommt davon wenn mann soviel Sprachen benutzt | ||
between angels and insects |
Schoasch |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich werds versuchen, Danke | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group