www.boolean.name

www.boolean.name (http://forum.boolean.name/index.php)
-   Прочие вопросы (http://forum.boolean.name/forumdisplay.php?f=50)
-   -   Что ж тут не то? Занимался HTML и забыл паскаль =( (http://forum.boolean.name/showthread.php?t=14299)

Rock2roll 24.02.2011 19:17

Что ж тут не то? Занимался HTML и забыл паскаль =(
 
С картинками всё норм...виснет после цикла

program Mp11;
var bgmx:integer;
bgm,pgb,prg:image;
begin
bgmx:=-240;
setColor(0,0,0);
fillRect(0,0,240,400);
setcolor(255,255,255);
drawText('Загрузка библиотеки...',10,10);
repaint;
{загрузка первого файла музыки}
delay(1000);
drawText('Загрузка среды...',10,30);
repaint;
bgm:=loadImage('/bgm.png');
pgb:=loadImage('/progback.png');
prg:=loadImage('/progress.png');
{загрузка всей графики}
delay(1000);
repeat
begin
bgmx:=bgmx+5;
drawImage(bgm,bgmx,0);
repaint;
end;
until true;

repaint;



drawImage(pgb,0,300);
repaint;
delay(100000);
end.

GRAY_WOLF 24.02.2011 19:50

Ответ: Что ж тут не то? Занимался HTML и забыл паскаль =(
 
PHP код:

delay(100000); 

Пауза 100 сек - это зачем?

YellowAfterlife 24.02.2011 19:51

Ответ: Что ж тут не то? Занимался HTML и забыл паскаль =(
 
Все же можно предположить, что мидлет вылетает изза ресурсов. Посмотрите в консоль - там будет написана ошибка, вызывающая зависание.
Так же можно использовать процедуру debug(string) для пошаговой проверки - можно узнать, что и когда случается, и почему программа перестает работать.
Тестировал с следующим кодом, работает, возращает информацию о стадиях в консоль (Log).
PHP код:

program Mp11;
var 
bgmx:integer;
bgm,pgb,prg:image;
begin
bgmx
:=-240;
setColor(0,0,0);
fillRect(0,0,240,400);
setcolor(255,255,255);
drawText('Загрузка библиотеки...',10,10);
repaint;
{
загрузка первого файла музыки}
delay(1000);
drawText('Загрузка среды...',10,30);
repaint;
debug('Loading images...');
bgm:=loadImage('/icon.png');
pgb:=loadImage('/icon.png');
prg:=loadImage('/icon.png');
debug('Images loaded.');
{
загрузка всей графики}
delay(1000);
repeat
bgmx
:=bgmx+5;
drawImage(bgm,bgmx,0);
repaint;
until bgmx GetWidth;
debug('Loop done.');
repaint;
debug('Drawing pgb...');
drawImage(pgb,0,300);
repaint;
debug('Done.');
delay(100000);
end


Rock2roll 24.02.2011 19:59

Ответ: Что ж тут не то? Занимался HTML и забыл паскаль =(
 
bgm должна выехать на экран! слева. А она не двигается..и в эмуле пишет в логе только 2 картинки загрузилось

Progress(null)!! вот в чём прикол. Что ж делать?

надо было не PNG а png писать)) нашел


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

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