SDL & Object Pascal (Delphi) [3] ÖÆ×÷Ò»¸öÑ¡µ¥
Ò»¸öÑ¡µ¥´óÖÂÊÇÕâÑù£º
1.¿ÉÒÔ±»ÒÔijÖÖÐÎʽºô½Ð³öÀ´£¬Èç°´ÏÂesc£»
2.ÔÚÕâ¸öÑ¡µ¥Öй¦ÄܼüÓв»Í¬µÄ¶¨Ò壬ÈçÔ±¾·½Ïò¼ü¿ØÖÆ×ß·£¬µ«ÏÖÔÚ¸ÄΪ¿ØÖƹâ±êµÄλÖã»
3.°´ÏÂÈ·¶¨¼üºóÓжÔÓ¦¹¦Äܱ»Ö´ÐУ»
4.¿ÉÒÔ±»¹Ø±Õ¡£
ÄÇôÎҵİ취ÊDZàдÁ½¸ö×ӳ̣¬ÆäÖÐÒ»¸ö´¦ÀíÑ¡µ¥ÖеÄʼþ£¬ÁíÍâÒ»¸öרߺÔð»Ñ¡µ¥¡£
ÔÚ´Ó²½ÐÐÇл»µ½Ñ¡µ¥µÄʱºò£¬¿ÉÄÜÐèÒªÇå³ýµ±Ç°µÄ¼üÖµ¡£Èç¹û²½ÐÐÖÐʹÓÃÁËSDL_EnableKeyRepeat·½·¨°Ñ¼üÅÌµÄÆµÂʱä¸ß£¬¶ÔÓÚÑ¡µ¥À´Ëµ¾ÍÌ«¿ìÁË¡£ËùÒÔ¿ÉÄÜÒªÔÚµ÷ÓÃÑ¡µ¥Ö®Ç°Ð´ÉÏ£º
SDL_EnableKeyRepeat(0, 0);
event.key.keysym.sym := 0;
ÕâÑù½µµÍÁ˼üÅ̵ķ´Ó¦£¬Í¬Ê±Çå³ýµ±Ç°µÄ¼üÖµ£¬Òª²»È»ºô³öÑ¡µ¥Ö®ºóËü¿ÉÄÜ»¹»á×Ô¼º×ªÒ»»á£¨Èç¹û֮ǰÓÃÁËPollEvent·½Ê½£¬ÎÒ»¹Ã»¸ãÇå³þÔÒò£©¡£²»¹ýÈç¹ûÔÚÐÐ×ßÖÐʹÓõÄÊÇWaitEvent·½Ê½£¬ÊÂÇé¾Í»á¼òµ¥ºÜ¶à¡£PollEvent·½Ê½¿´À´ÊÇÌ«¿ìÁË£¬ÔÚÑ¡µ¥Öв»ºÏÊÊ¡£
´¦ÀíÑ¡µ¥Ê¼þµÄ×ӳ̣º
procedure MenuSystem;
var
menu: integer;
begin
while (SDL_WaitEvent(@event) >= 0) do
begin
case event.type_ of
SDL_QUITEV: //ÕâÀï´¦Àí´°¿ÚÍ˳öʼþ
if messagebox(0, 'Are you sure to quit?', 'KYS Windows', MB_OKCANCEL) = IDOK then Quit;
SDL_KEYUP:
begin
if (event.key.keysym.sym = sdlk_down) then
begin
menu := menu+1;
if menu > 3 then menu := 0; //°´ÏÂϼüµÄÒç³ö
showMenusystem(menu); //ÿ´Îµ±Ç°Ñ¡Öз¢Éú±ä»¯Ê±, ¾ùÖØ»Ñ¡µ¥
end;
if (event.key.keysym.sym = sdlk_up) then
begin
Ïà¹ØÎĵµ£º
Delphi 2010ֻʣÏÂÁùÌìµÄÊÔÓÃÆÚÁË,15ÌìµÄÊÔÓÃÆÚ¹ýµÃÕæ¿ì.°Ù¶ÈÁ˺ܾÃÒ²ÒÀ¾ÉδËÑË÷µ½ÆÆ½â²¹¶¡,¿´À´Õâ°æ±¾µÄ·ÀµÁ°æ¹¤×÷×öµÃȷʵ²»´í.ÎÞÄÎÖ®ÏÂÖ»ºÃ×Ô¼º¶ÔËü×ö×öÊÖ½ÅÁË.
²âÊÔÁËÒ»ÏÂ,delphiÖ»ÓÐÔÚÆô¶¯³ÌÐòµÄʱºò°Ñʱ¼ä¼Ç¼¸ø¸üе½µ±Ç°ÈÕÆÚ,ϵͳÄÚ²¢²»×¤ÁôÏàÓ¦µÄ ......
ÏûÏ¢µÄ´¦ÀíÁ÷³Ì£¬Á÷³ÌÈçÏ£º
ÆäÅÉ·¢´¦Àí¹ý³ÌÏêϸÈçÏ£º
×¢Ò⣺TWinControlÀïÃæWndProcÓе÷ÓÃϵͳAPI DefWindowProc,¸Ãº¯Êýµ÷ÓÃȱʡµÄ´°¿Ú¹ý³ÌÀ´ÎªÓ¦ÓóÌÐòûÓд¦ÀíµÄÈκδ°¿ÚÏûÏ¢ÌṩȱʡµÄ´¦Àí¡£¶øTWinControlÀïÃæDefaultHandlerÓÖµ÷ÓÃÁËϵͳAPI CallWindowProc£¬¸Ãº¯ÊýCallWindowProc½«ÏûÏ¢ÐÅÏ¢´«Ë͸øÖ¸¶¨µÄ´°¿ ......
¼¼Êõ½»Á÷,DH½²½â. ֮ǰÕÕ×ÅÌìÊéÒ¹¶Á,ÓÃDelphiÀ´ÅªÁËÏÂÑ»·Ìå,ÏÖÔÚ¾ÍÀ´ÅªÒ»ÏÂÌõ¼þÅжϰÉ.
Ê×Ïȿ϶¨ÊÇÎÒÃǾ³£¿´¼ûµÄIFÓï¾ä¿©. Var
I: Integer;
Begin
I:= 99;
If (I> 0)And (I< 0) Then
Writeln('I>0')
Else
If (I> 10)And (I< 100) Then
Writeln('I>10 and I100');
End.
·´»ã±à³öÀ´»áÊÇ ......
ÔÚ±àÒëdelphi³ÌÐòʱ»á³öÏÖÔÚЩÌáʾ£¬È«ÊÇEÎĵģ¬ÏÖÔÚ¸ø´ó¼ÒÒ»¸ö¶ÔÕÕ±í£¬¿ÉÒÔ¸üºÃµÄÀí½â´íÎóÌáʾÐÅÏ¢£¡
';' not allowed before 'ELSE' ElSEǰ²»ÔÊÐíÓГ;”
'' clause not allowed in OLE automation section ÔÚOLE×Ô¶¯Çø¶Î²»ÔÊÐí“”×Ó¾ä
'' is not a type identifier ²»ÊÇÀàÐͱêʶ·û
'' not prev ......
ʵ¼ÊÉÏÕâ¸öÃû×Ö½Ð[SDL & Delphi]Ò²²»³ÉÎÊÌ⣬ ÒòΪ³ýÁËDelphiËÆºõҲûÓÐÄĸöÁ÷ÐеĿª·¢¹¤¾ßÓõÄÊÇPascalÓïÑÔ¡£
SDLÆäʵÎÒҲֻѧÁ˲»µ½Á½ÐÇÆÚ¶øÒÑ¡£¸Õ¿ªÊ¼ÎÒÏëÊÔͼÓÃVC£¬ÒòΪÕâÑù×ÊÁÏ×îÈ«£¬Ò²ºÜºÃÕÒ£¬µ«Ì«¾ÃûÓÃVCÏÖÔÚ¿´CµÄ´úÂëÓеãÀ§ÄÑ£¨->Õâ¸öËã·ûÊǸÉÂðµÄÀ´×Å……£©¡£Æäʵ×÷Ϊһ¸öרҵ²»ÊǼÆËã»úµÄÈË ......