Subversion Repositories Kolibri OS

Rev

Rev 623 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 623 Rev 643
Line -... Line 1...
-
 
1
{ ‚ FreePascal 2.2.0 ª®¤¨à®¢ª  cp866 ­¥ ॠ«¨§®¢ ­ . }
-
 
2
{-$codepage cp866}
1
{$codepage cp866}
3
 
-
 
4
{$mode objfpc}
2
{$mode objfpc}
5
{$smartlink on}
3
{$smartlink on}
6
{$apptype console}
4
{$apptype console}
7
 
Line 5... Line 8...
5
 
8
{   ¤ ­­ë© ¬®¬¥­â à áᬠâਢ ¥âáï ¢ë¯®«­¥­¨¥ ¯à¨«®¤¥­¨ï ⮫쪮 ª ª ª®­á®«ì­®¥,
6
{   ¤ ­­ë© ¬®¬¥­â à áᬠâਢ ¥âáï ¢ë¯®«­¥­¨¥ ¯à¨«®¤¥­¨ï ⮫쪮 ª ª ª®­á®«ì­®¥,
9
  â.¥. ¤¨à¥ªâ¨¢  console ®¡ï§ â¥«ì­ , ¯®¢¥¤¥­¨¥ ¯à®£à ¬¬ë ¯à¨ ®âáãâá⢨¨ í⮩
7
  â.¥. ¤¨à¥ªâ¨¢  concole ®¡ï§ â¥«ì­ , ¯®¢¥¤¥­¨¥ ¯à®£à ¬¬ë ¯à¨ ®âáãâá⢨¨ í⮩
10
  ¤¨à¥ªâ¨¢ë ¯à¥¤®¯à¥¤¥«¨âì ­¥«ì§ï. ƒ à ­â¨à®¢ ­­® ­¥«ì§ï ¨á¯®«ì§®¢ âì ä㭪樨
8
  ¤¨à¥ªâ¨¢ë ¯à¥¤®¯à¥¤¥«¨âì ­¥«ì§ï. ƒ à ­â¨à®¢ ­­® ­¥«ì§ï ¨á¯®«ì§®¢ âì ä㭪樨
11
  Write, WriteLn, Read, ReadLn ®â­®á¨â¥«ì­® áâ ­¤ àâ­®© ª®­á®«¨ ¢¢®¤ /¢ë¢®¤ .
9
  Write, WriteLn, Read, ReadLn ®â­®á¨â¥«ì­® áâ ­¤ àâ­®© ª®­á®«¨ ¢¢®¤ /¢ë¢®¤ .
12
}
Line 10... Line 13...
10
}
13
 
Line 19... Line 22...
19
 
22
procedure DoPaint;
20
procedure DoPaint;
23
{ ‚뢮¤ ᮤ¥à¦¨¬®£® ®ª­  ¯à¨«®¦¥­¨ï }
21
{ ‚뢮¤ ᮤ¥à¦¨¬®£® ®ª­  ¯à¨«®¦¥­¨ï }
24
begin
22
begin
25
  kos_begindraw();
23
  kos_begindraw();
26
  {®¯à¥¤¥«¥­¨¥ ¯ à ¬¥â஢ ®ª­ }
24
  {®¯à¥¤¥«¥­¨¥ ¯ à ¬¥â஢ ®ª­  (0)}
27
  kos_definewindow(200, 200, 200, 50, $23AABBCC);
25
  kos_definewindow(200, 200, 200, 50, $23AABBCC);
28
  {kos_definewindow ­¥ ¨¬¥¥â ¯ à ¬¥âà  ¤«ï ¢ë¢®¤  § £®«®¢ª ,
26
  {kos_definewindow ­¥ ¨¬¥¥â ¯ à ¬¥âà  ¤«ï ¢ë¢®¤  § £®«®¢ª ,
29
   ¤¥« ¥¬ íâ® ®â¤¥«ì­®© ä㭪樥© kos_setcaption}
27
   ¤¥« ¥¬ íâ® ®â¤¥«ì­®© ä㭪樥©}
30
  {®â®¡à ¦¥­¨¥ § £®«®¢ª  ®ª­ }
28
  {kos_setcaption, ®â®¡à ¦¥­¨¥ § £®«®¢ª  ®ª­  (71.1)}
31
  kos_setcaption('ˆŒ… Žƒ€ŒŒ›');
29
  kos_setcaption('ˆŒ… Žƒ€ŒŒ›');
32
  {¢ë¢®¤ á®®¡é¥­¨ï}
30
  {¢ë¢®¤ á®®¡é¥­¨ï (4)}
33
  kos_drawtext(3, 8, ' ¦¬¨â¥ «î¡ãî ª« ¢¨èã...');
31
  kos_drawtext(3, 8, ' ¦¬¨â¥ «î¡ãî ª« ¢¨èã...');
34
  kos_enddraw();
32
  kos_enddraw();
35
end;
Line 33... Line 36...
33
end;
36
 
Line 42... Line 45...
42
  {­ áâà ¨¢ ¥¬ ¡ãä¥à ¤«ï ­®â}
45
  Notes[0] := $90;
43
  Notes[0] := $90;
46
  Notes[1] := Key shr 8;
44
  Notes[1] := Key shr 8;
47
  Notes[2] := $00;
45
  Notes[2] := $00;
48
  {¢®á¯à®¨§¢®¤¨¬}
46
  {¢®á¯à®¨§¢®¤¨¬}
49
  kos_speaker(@Notes);
47
  kos_speak(@Notes);
50
end;
48
end;
51
 
Line 49... Line 52...
49
 
52
 
50
 
53
function DoButton: Boolean;
51
function DoButton: Boolean;
54
{ Ž¡à ¡®âª  ᮡëâ¨ï ­ ¦ â¨ï ª­®¯ª¨ GUI }
52
{ Ž¡à ¡®âª  ᮡëâ¨ï ­ ¦ â¨ï ª­®¯ª¨ GUI }
55
var
53
var
56
 Button: DWord;
54
 Button: DWord;
57
begin
55
begin
58
  {¯®«ãç¨âì ª®¤ ­ ¦ â®© ª«¨¢¨è¨}
56
  {¯®«ãç¨âì ª®¤ ­ ¦ â®© ª«¨ë¨è¨}
59
  Button := kos_getbutton();
57
  Button := kos_getbutton();
60
  {¥á«¨ [x], â® ¢¥à­ãâì «®¦ì,   §­ ç¨â á¯à®¢®æ¨à®¢ âì § ªàë⨥ ¯à¨«®¦¥­¨ï}
58
  {¥á«¨ X, â® § ¢¥à襭¨¥ ¯à¨«®¦¥­¨ï}
61
  Result := Button <> 1;
Line 59... Line 62...
59
  Result := Button = 1;
62
end;
-
 
63
 
-
 
64
 
60
end;
65
function ProcessMessage: Boolean;
61
 
66
{ Ž¦¨¤ ­¨¥ ¨ ®¡à ¡®âª  ᮡë⨩.
62
 
67
 
63
function ProcessMessage: Boolean;
68
  @return: ‚®§¢à é ¥â False, ¥á«¨ ¡ë«® ᮡë⨥ ª § ¢¥à襭¨î ¯à¨«®¦¥­¨ï.
64
{ @return: ‚®§¢à é ¥â False, ¥á«¨ ¡ë«® ᮡë⨥ ª § ¢¥à襭¨î ¯à¨«®¦¥­¨ï.
69
  @rtype: True ¨«¨ False }
65
  @rtype: True ¨«¨ False }
70
var
66
var
71
  Event: DWord;
67
  Event: DWord;
72
begin
68
begin
73
  Result := True;
69
  Result := False;
74
  {®¦¨¤ ¥¬ ᮡëâ¨ï ®â á¨á⥬ë}
70
  {®¦¨¤ ¥¬ ᮡëâ¨ï ®â á¨á⥬ë}
75
  Event := kos_getevent();
71
  Event := kos_getevent();
76
  case Event of
72
  case Event of
77
    SE_PAINT   : DoPaint;  {¯¥à¥à¨á®¢ª  ®ª­ }
73
    SE_PAINT   : DoPaint;  {¯¥à¥à¨á®¢ª  ®ª­ }
78
    SE_KEYBOARD: DoKey;    {ᮡë⨥ ®â ª« ¢¨ âãàë}
74
    SE_KEYBOARD: DoKey;    {ᮡë⨥ ®â ª« ¢¨ âãàë}
79
    SE_BUTTON  : Result := DoButton; {ᮡ먥 ®â ª­®¯ª¨, ¬®¦¥â ®¯à¥¤¥«¨âì
Line 75... Line 80...
75
    SE_BUTTON  : Result := DoButton; {ᮡ먥 ®â ª­®¯ª¨, ¬®¦¥â ®¯à¥¤¥«¨âì
80
                                      § ¢¥à襭¨¥ ¯à¨«®¦¥­¨ï, ¥á«¨ ¢¥à­¥â False}
76
                                      § ¢¥à襭¨¥ ¯à¨«®¦¥­¨ï, ¥á«¨ ¢¥à­¥â True}
81
  end;
77
  end;
82
end;
78
end;
83
 
79
 
84
 
80
 
-
 
81
procedure MainLoop;
-
 
82
{ ƒ« ¢­ë© 横« ¯à¨«®¦¥­¨ï }
-
 
83
var
85
procedure MainLoop;
84
  ThreadSlot: TThreadSlot;
86
{ ƒ« ¢­ë© 横« ¯à¨«®¦¥­¨ï }
85
begin
87
var
86
  {ᤥ« âì íâ® ®ª­®  ªâ¨¢­ë¬}
88
  ThreadSlot: TThreadSlot;
87
  ThreadSlot := kos_getthreadslot(ThreadID);
89
begin
Line 88... Line 90...
88
  kos_setactivewindow(ThreadSlot);
90
  {­ áâà ¨¢ ¥¬ ᮡëâ¨ï, ª®â®àë¥ ¬ë £®â®¢ë ®¡à ¡ â뢠âì}
89
  {­ áâà ¨¢ ¥¬ ᮡëâ¨ï, ª®â®àë¥ ¬ë £®â®¢ë ®¡à ¡ â뢠âì}
91
  kos_maskevents(ME_PAINT or ME_KEYBOARD or ME_BUTTON);
90
  kos_maskevents(ME_PAINT or ME_KEYBOARD or ME_BUTTON);
92
  {®¡à ¡®âª  ᮡë⨩}
91
  {£« ¢­ë© 横«}
93
  while ProcessMessage do;