File Reading Problem
BlitzMax Forums/BlitzMax Beginners Area/File Reading Problem
| ||
I have a file full of map data stored as bytes. I am trying to read it into a pre-defined array using this code:
file=OpenStream("level1.dat")
If Not file RuntimeError "failed to open level1.dat file"
databyte=0
For x=0 To 170
For y=0 To 12
MapData[databyte]=ReadByte file
databyte:+1
Next
Next
CloseStream file
but get the following error: "Compile Error Unable to convert from 'Int(Tstream)' to 'Int' Please help before I chuck the computer into the river.. |
| ||
| That'll be ReadByte(file) Unable to convert from 'Int(Tstream)' to 'Int' This almost always means you've forgotten a set of () somewhere. |
| ||
You missedMapData[databyte]=ReadByte(file) of course before mapdata:int[170*13] byez |
| ||
| It would suggest your array is set-up as int. Your readbyte command is also wrong...
Local mapdata:Byte[]
file:TStream=OpenStream("level1.dat")
If Not file RuntimeError "failed to open level1.dat file"
databyte=0
For x=0 To 170
For y=0 To 12
MapData[databyte]=ReadByte(file)
databyte:+1
Next
Next
CloseStream file
I also changed file=openstream so file was TStream |
| ||
| . I forgot I had this page open for a while. :) |
| ||
| Thanks all........... |
| ||
| On a further subject, if I use this in a function, can I re-declare the size of the array based on the filesize of the particular file I want to load? Basically, I want to call the function usingthe pathname of the level data, and then set up my array based on the file size. |
| ||
| You can either redeclare or dynmiacally increase/decrease the size of the array (slices). |
| ||
| You better declare the stream as file:TStream instead of int handle, thats faster (this holds for all objects where you can choose to use it) |