forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   FAQ (http://forum.boolean.name/forumdisplay.php?f=15)
-   -   чтение из файла прямо в f (http://forum.boolean.name/showthread.php?t=3428)

HolyDel 22.05.2007 01:35

чтение из файла прямо в f
 
Код:

Graphics 640,480,16,2

e=WriteFile("test.dat")
WriteInt e,1
WriteInt e,2
WriteInt e,3
CloseFile E

e=ReadFile("test.dat")
func(ReadInt(e),ReadInt(e),ReadInt(e))
CloseFile e

WaitKey

Function FUNC(a1,a2,a3)
        Print a1
        Print a2
        Print a3
End Function

попробуйте запустить.
выведет 3,1,2 (у меня по крайней мере), хотя должен (особо не вдумываться если) вывести 1,2,3.

дык вот, ОСТОРОЖНО!!!, стек может сыграть злую шутку с вами, если вы вдруг вздумаете считывать из файла прямов параметры функции, например, positionentity .

impersonalis 22.05.2007 02:26

Re: чтение из файла прямо в f
 
http://www.boolean.name/showthread.php?t=1060
аха
Цитата:

ВАЖНО: всегда контролируйте себя - если вы для объектов сохраняли сначал х а затем y, то и грузить их надо в том же

порядке. И ещё: чтобы не запутаться в порядке загрузки и передачи загруженного в функции, лучше конструкции типа:...

HolyDel 22.05.2007 02:35

Re: чтение из файла прямо в f
 
кстати, меня до сих пор гложет вопрос, почему именно 3,1,2.
если должно быть 3,2,1 ?
читается из файла блок - три значения (1,2,3) запихиваются в параметры блоком, в функцию читаются задом-наперед, должно получиться 3,2,1 , так?
ЧТВ (чисто технический вопрос)

ЛысыЙ_Чук-Иванчук 22.05.2007 11:59

Re: чтение из файла прямо в f
 
используй:
WriteLine
И непарься!

HolyDel 22.05.2007 14:18

Re: чтение из файла прямо в f
 
ЩАЗ.
тогда кждай байт вылезет в 3-5 байт.
и вообще уже есть решение - просто читать в переменные, а потом их юзать в качестве параметров.
думаю typecast мужде string и float довольно роскошная штука (в качестве рессурсов пк), и считать таким образом пару миллионов floatov будет непростительно долго.

SBJoker 22.05.2007 18:59

Re: чтение из файла прямо в f
 
Дело в том что "порядок следования параметров функции необязательно определяет их порядок получения функций." т.е. если порядок имеет значение нужно предварительно всё считать их файла в переменные...

З.Ы. цитата из книги "Совершенный код" автор Стив Макконел

jimon 22.05.2007 20:04

Re: чтение из файла прямо в f
 
тут блиц местами меняет только последние две
ну тоесть 12345 превращается в 54312
интересно вообще как ето делается ... у меня такое ощущение что в стек заносится при чтении двойки .. тоесть когда читается одиница то еще проверяется что-то ... а потом сразу двойка и в стек заносится ета двойка а потом одиница

хотя в общем SBJoker правильно сказал
к примеру может компилятору взбредет ложить в стек четко последовательность intы,floatы и тд .. или еще какую нибудь сервисную инфу


Часовой пояс GMT +4, время: 16:13.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot