forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Основной форум (http://forum.boolean.name/forumdisplay.php?f=49)
-   -   Проблема с readbyte (http://forum.boolean.name/showthread.php?t=12064)

PVD 27.02.2010 17:10

Проблема с readbyte
 
PHP код:

function makemenu(f:String):String;
var
res:resource;
typ,filepath,hint:string;
IDS,byte,ExitID:Integer;
Begin
res
:=openresource('/'+f+'.txt');
_clearform;
While 
chr(byte)<>'&' Do
    
Begin
    byte
:=readbyte(res);
    If 
chr(byte)='$' Then
        Begin
        typ
:='';
        
filepath:='';
        
hint:='';
        While 
chr(byte)<>'(' Do
            
Begin
            byte
:=readbyte(res);
            If 
chr(byte)<>'(' Then typ:=typ+chr(byte);
            
End;
        While 
chr(byte)<>',' Do
            
Begin
            byte
:=readbyte(res);
            If 
chr(byte)<>',' Then filepath:=filepath+chr(byte);
            
End;
        While 
chr(byte)<>')' Do
            
Begin
            byte
:=readbyte(res);
            If 
chr(byte)<>')' Then hint:=hint+chr(byte);
            
End;
        
IDS:=_addselectedlabel(typ,0);
        
End;
    
End;
... 

что тут неправильно? :4to:

ViNT 27.02.2010 19:01

Ответ: Проблема с readbyte
 
В чем именно заключается проблема?

PVD 27.02.2010 19:11

Программа просто останавливается и не работает "зависает" падение мидлета не наблюдается может где то есть бесконечный цикл?

Есть идеи?

ViNT 27.02.2010 19:58

Ответ: Проблема с readbyte
 
Явных ошибок в логике не видно, сорее всего, ошибка в структуре файла, т.е. на определенном шаге программа не находит нужный символ и зацикливается.

PVD 27.02.2010 20:55

вот там такая структура
Код:

$itself(crottooo,byme) &
у кого нить есть какие идеи? :(

ViNT 28.02.2010 00:51

Ответ: Проблема с readbyte
 
Первое - не стоит читать данные побайтно из ресурса, лучше сразу прочитать строку данных в строковую переменную, а потом уже ее обрабатывать.
Второе - добавить после строки данных еще какую-нибудь строку, бывают глюки, связанные с этим.
А дальше - еще и еще раз проверять работу алгоритма, правильно ли он обрабатывает данные.

PVD 28.02.2010 00:56

Ответ: Проблема с readbyte
 
Цитата:

Второе - добавить после строки данных еще какую-нибудь строку, бывают глюки, связанные с этим.
да пробывал не помагает...

odd 01.03.2010 14:03

Ответ: Проблема с readbyte
 
При чтении строк и байтов MP часто не может определить грамотно конец файла и возникает зависание. Мой совет - читать построчно с помощью либы Lib_resloader там зависать точно не будет.


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

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