procedure delay(millis: integer);  


      . 


    ,  2 ,    ,   : 


  begin 
    drawText('Hello world', 0, 0); 
    repaint; 
    delay(2000); 
  end. 





function getCurrentTime: integer;  


  ,   1  1970    .          ,  getMonth, getHour  . 


  var 
    time: integer; 
    text: string; 
  begin 
    time := getCurrentTime; 
    text := 'Current time is ' + getHour(time); 
    text := text + ':'+ getMinute(time); 
    text := text + ':' + getSecond(time); 
    drawText(text, 0, 0); 
    repaint; 
    delay(1000); {  1     } 
  end. 





function getDay(time: integer): integer;  


        time (   ,   1  1970 .      getCurrentTime).      1  31. 





function getHour(time: integer): integer;  


        time (   ,   1  1970 .      getCurrentTime).      0  23. 


  var 
    time: integer; 
    text: string; 
  begin 
    time := getCurrentTime; 
    text := 'Current time is ' + getHour(time); 
    text := text + ':' + getMinute(time); 
    text := text + ':' + getSecond(time); 
    drawText(text, 0, 0); 
    repaint; 
    delay(1000); { wait 1 second before MIDlet terminates } 
  end. 






function getMinute(time: integer): integer;  


        time (   ,   1  1970 .      getCurrentTime).      0  59. 


  var 
    time: integer; 
    text: string; 
  begin 
    time := getCurrentTime; 
    text := 'Current time is ' + getHour(time); 
    text := text + ':' + getMinute(time); 
    text := text + ':' + getSecond(time); 
    drawText(text, 0, 0); 
    repaint; 
    delay(1000); { wait 1 second before MIDlet terminates } 
  end. 






function getMonth(time: integer): integer;  


        time (   ,   1  1970 .      getCurrentTime).      1  12. 






function getRelativeTimeMs: integer;  


    .     integer 32-bit     2^32 ,    48 .  ,  48         .         ,          . 


    (, , ),       .        ,     ""  ""  .        : 


  ... 
  lastSavedTime := getRelativeTimeMs; { initialize the timer } 
  repeat 
    { read and process the keypad input } 
    key := getKeyClicked; 
    if keyToAction(key) = GA_LEFT then moveLeft; 
    if keyToAction(key) = GA_RIGHT then moveRight; 

    { check if 1 second has passed } 
    if ((getRelativeTimeMs - lastSavedTime) > 1000) 
    or (getRelativeTimeMs < lastSavedTime)  { check if the timer is reset after 48 days } 
      then 
      begin 
        lastSavedTime := getRelativeTimeMs; 
        moveDown; 
      end; 
  until gameOver; 
  ... 






function getSecond(time: integer): integer;  


        time (   ,   1  1970 .      getCurrentTime).      0  59. 


  var time: integer; 
      text: string; 
  begin 
    time := getCurrentTime; 
    text := 'Current time is ' + getHour(time); 
    text := text + ':' + getMinute(time); 
    text := text + ':' + getSecond(time); 
    drawText(text, 0, 0); 
    repaint; 
    delay(1000); { wait 1 second before MIDlet terminates } 
  end. 






function getWeekDay(time: integer): integer;  


        time (   ,   1  1970 .      getCurrentTime).    1  , 2      (7 - ). 





function getYear(time: integer): integer;  


     time (   ,   1  1970 .      getCurrentTime). 





function getYearDay(time: integer): integer;  


        time (   ,   1  1970 .      getCurrentTime).      1  366. 