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
Ïà¹ØÎĵµ£º
¼¼Êõ½»Á÷,DH½²½â. ¹þ¹þ,ÎÒ³ÐÈÏÎÒÊDZêÌâµ³.
×î½ü¿´ÌìÊéÒ¹¶ÁÀïÃæÊǶÔCÓïÑԵĴúÂë·´»ã±à,²»´í,¿ÉϧDelphiûÓÐÕâÑùµÄÊé,ÄÇÎÒÃÇ×Ô¼º¶¯ÊÖ°É.
Ê×ÏȽøÈëForÑ»·ÁË. Function TestFor( a, b: Integer ): Integer ;
Var
I: Integer ;
Begin
Result := a + b ;
For I := 0 To 49 Do
Result := Result + I ......
ÏûÏ¢µÄ´¦ÀíÁ÷³Ì£¬Á÷³ÌÈçÏ£º
ÆäÅÉ·¢´¦Àí¹ý³ÌÏêϸÈçÏ£º
×¢Ò⣺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.
·´»ã±à³öÀ´»áÊÇ ......
ÍøÉÏDownµÄÒ»¸öµ¥Ôª.×Ô¼º¸ÄÁËÏÂ. unit utCRC32;
interface
uses
Windows,SysUtils,Classes;
const //Crc32±í
Crc32Tab: Array[0..$FF] of LongInt =
($00000000, $77073096, $ee0e612c, $990951ba, $076dc419, $706af48f,
$e963a535, $9e6495a3, $0edb8832, $79dcb8a4, $e0d5e91e, $97d2d988,
$0 ......