forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   MidletPascal (http://forum.boolean.name/forumdisplay.php?f=46)
-   -   Прошу помощи в некоторых вопросах... (http://forum.boolean.name/showthread.php?t=11883)

cherepets 03.03.2010 13:19

Ответ: Прошу помощи в некоторых вопросах...
 
я обычно не так делаю...
PHP код:

key:=getkeypressed;
   if 
key=KE_KEY2 then...
   if 
key=KE_KEY8 then...
key:=keytoaction(key);
   if 
key=GA_UP then...
   if 
key=GA_DOWN then... 

хотя наверно разницы особой нет... просто переменных меньше)

odd 03.03.2010 13:33

Ответ: Прошу помощи в некоторых вопросах...
 
Я лично всегда непосредственно через коды опрашиваю и не пользуюсь константами типа GA_UP или KE_KEY2. Но этот скорее вопрос личных предпочтений.

Ksanatos 09.03.2010 17:26

Ответ: Прошу помощи в некоторых вопросах...
 
PHP код:

function rts (chislo real) : string;
var
    
integer;
    
real;
    
st string;
begin
    
if frac(chislo)=0 then
        begin
            
if chislo<0 then
                st
:=' '+trunc(chislo)
            else
                
st:=''+trunc(chislo);
        
end;
    if 
frac(chislo)<>0 then
        begin
            l
:=trunc(chislo);
            
r:=frac(chislo)*pow(10,length(''+frac(chislo))-1);
            if 
l<0 then st:=' '+l+'.'+r
            
else st:=''+l+'.'+r;
        
end;
    
rts:=st;
end

компилится, но на вызове этой функции останавливается. В чём проблема?:dontknow:

Ksanatos 24.03.2010 19:22

Ответ: Прошу помощи в некоторых вопросах...
 
Помогите найти ошибку:
PHP код:

for i:=1 to mapy-do
                
begin
                    st
:=readline(map);
                    if 
getchar(st,0)<>'.' then
                        begin
                            j
:=0;
                            
a:=getchar(st,j);
                            while 
a<>'_' do
                                
begin
                                    buf
:=buf+a;
                                    
j:=j+1;
                                
end;
                            
l:=trunc(stringtointeger(buf));
                            
j:=j+1;
                            
a:=getchar(st,j);
                            while (
a<>';') or (a<>'.') do
                                
begin
                                    buf
:=buf+a;
                                    
j:=j+1;
                                
end;
                            
r:=trunc(stringtointeger(buf));
                            for 
j:=1 to r-l+do
                                
drawimage(wallstyle,l+j*20-3,i*20-3);
                            if 
a=';' then
                                begin
                                    st
:=copy(st,length(''+l+'_'+r+';')+1,length(st)+1);
                                    
i:=i-1;
                                
end;
                        
end;
                
end


odd 25.03.2010 19:04

Ответ: Прошу помощи в некоторых вопросах...
 
Ошибка в цикле:
PHP код:

while a<>'_' do
begin
buf
:=buf+a;
j:=j+1;
end

Переменная "a" не меняется, что приводит к зависанию.

Ksanatos 01.04.2010 13:52

Ответ: Прошу помощи в некоторых вопросах...
 
Kak, spravitsya s problemoy perepolneniya pamyati?

cherepets 01.04.2010 21:49

Ответ: Прошу помощи в некоторых вопросах...
 
покупкой другого телефона :)
и еще из очевидных ответов: уменшить кол-во используемых переменных

odd 02.04.2010 13:23

Ответ: Прошу помощи в некоторых вопросах...
 
Можно делать очистку памяти с помощью специальных библиотек, например Lib_memclean, после операций, которые отжирают много памяти.
А это такие операции:
- Работа с файлами (в том числе и ресурсами)
- Склейка длинных строк
- Распаковка/запаковка информации из/в архив
- Операции с графикой типа генерации картинок, переделке их и проч.
- Другие операции с большими объемами данных

cherepets 02.04.2010 20:37

Ответ: Прошу помощи в некоторых вопросах...
 
у меня почему то память всегда позже чистится и лагает прога в итоге от lib_memclean. хотя некоторые пишут, что у них норм

Ksanatos 19.04.2010 15:35

Ответ: Прошу помощи в некоторых вопросах...
 
Я щас делаю игру типа настольной(не знаю зачем мне это?), и с помощью lib_beta(за каторую odd огромное спасибо) делаю карту, повидимому это "жрёт всю память и рубит кайф"(сказал кто-то из друзей:)), и мне надо понять при стирании с помощью lib_memclean переменные в которые я запихнул картинки будут стираться или нет?

DIMMON4IK 19.04.2010 20:38

Ответ: Прошу помощи в некоторых вопросах...
 
Да, только создай переменную nil типа image, и ненужную картинку im:=nil; а потом вызывай clean
Впринципе пример к либе есть


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

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