Тема: фотки
Показать сообщение отдельно
Старый 16.04.2010, 14:49   #38
cherepets
Бывалый
 
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений
(для 215 пользователей)
Ответ: фотки

ну, в смысл кода вдаваться не буду, но думаю как-то так:
program bred;
Var    
ikeyinteger;

procedure hren;
Var     
x,yxiyi,xsysxs1ys1stateinteger;
risimage;
Begin
    ris
:=LoadImage('/image.png');
    
xi:=GetImageWidth(ris);
    
yi:=GetImageHeight(ris);
    
xs:=GetWidth;
    
ys:=GetHeight;
    
    
xs1:=GetStringWidth('Вверх');
    
ys1:=GetStringHeight('Вверх');
    
    
DrawImage(ris,x,y);Repaint;
    
    
repeat
        state
:=GetKeyClicked;
        
                                
                if 
state=KE_KEY4  then begin x:=x-20; if (x<xs-xithen x:=xs-xiend;
                if 
state=KE_KEY6  then begin x:=x+20; if (x>0then x:=0end;
                if (
state=KE_KEY2)  or (state=-6then begin y:=y-20; if (y<ys-yithen y:=ys-yiend;
                if (
state=KE_KEY8)  or (state=-7then begin y:=y+20; if (y>0then y:=0end;
                
                
DrawImage(ris,x,y); 
                
                
SetColor(00255); 
                
FillRect(xs-xs1,ys-ys1,xs1,ys1); FillRect(0,ys-ys1,xs1,ys1); 
                
                
SetColor(02550); 
                
DrawText('Вниз',xs-xs1+5,ys-ys1);
                
DrawText('Вверх',0,ys-ys1);
        
         
Repaint;
         
Delay(20);
    
until false;
End;

Begin
repeat
 key
:=GetKeyClicked
 if 
key=ke_key5 then 
 begin 
  
if i=4 then hren;
  
i:=i+1
 
end
 if 
key=ke_key1 then 
  i
:=0;
 
until key=ke_pound;
  
end
(Offline)
 
Ответить с цитированием