Модератор: Модераторы
hinst писал(а):надо в README.TEXT написать большими буквами "Юзверь! Если не хочешь, чтобы твои данные заспойлерились... после чего ты потеряешь возможность их восстановить без помощи админа. Не завершай процесс Ctrl+C, Ctrl+Break, Ctrl+Alt+Delete, не нажимай Reset, не делай Kill, не выдёргивай шнур питания компа из розетки электросети.
hinst писал(а):Ну а так вообще, вы видели, чтобы хоть одна программа перехватывала Ctrl+C ???
program demo2;
uses
SDL, crt;
const
width = 320{1024};
height = 240{768};
colordepth = {16}32;
var
Q8,W8: word;
screen: PSDL_Surface;
event: PSDL_Event;
done: Boolean;
Type
TpixelBuf = Array [0..height-1, 0..width-1] of longword;
PROCEDURE FGYIU;
var
Q2,W2: longint;
CVET: longword;
begin
CVET:=SDL_MapRGB(screen^.format,255,255,255);
for Q2:=0 to height-1 do for W2:=0 to width-1 do Tpixelbuf(screen^.pixels^)[Q2,W2]:=CVET;
SDL_UpdateRect(screen,0,0,0,0);
delay(500);
CVET:=SDL_MapRGB(screen^.format,0,0,0);
for Q2:=0 to height-1 do for W2:=0 to width-1 do Tpixelbuf(screen^.pixels^)[Q2,W2]:=CVET;
SDL_UpdateRect(screen,0,0,0,0);
delay(100);
end;
begin
SDL_Init(SDL_INIT_VIDEO);
event := new(PSDL_Event);
screen := SDL_SetVideoMode(width, height, colordepth,{SDL_FULLSCREEN +} SDL_SWSURFACE + SDL_ANYFORMAT + SDL_DOUBLEBUF);
if screen = nil then begin
writeLn ('Couldn''t initialize video mode at ', width, 'x', height, 'x', colordepth, 'bpp');
halt(1);
end;
done:= FALSE;
delay(1000);
Q8:=0;
while (done = FALSE) do
begin
SDL_PumpEvents;
if (SDL_PollEvent(event) > 0) then
CASE event^.type_ OF
SDL_QUITEV: done:= TRUE;
SDL_KEYDOWN: CASE EVENT^.KEY.keysym.SYM OF
SDLK_LCTRL,SDLK_RCTRL: CASE Q8 of
0: Q8:=1;
1: Q8:=2;
10: Q8:=14;
end;
SDLK_C: CASE Q8 OF
1,2: Q8:=14;
0: Q8:=10;
end;
end;
SDL_KEYUP: CASE EVENT^.KEY.keysym.SYM OF
SDLK_LCTRL,SDLK_RCTRL: CASE Q8 of
1,2: Q8:=Q8-1;
end;
SDLK_C: if Q8>2 then Q8:=0;
end;
end;
if Q8>13 then begin
FGYIU;
Q8:=1;
SDL_PumpEvents;
end;
DELAY(1);
end;
SDL_Quit ;
end.
Вернуться в Free Pascal Compiler
Сейчас этот форум просматривают: Google [Bot] и гости: 6