home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1990 / 11 / tricks / cursampl.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1990-08-06  |  1.8 KB  |  60 lines

  1. (* ------------------------------------------------------ *)
  2. (*                   CURSAMPL.PAS                         *)
  3. (*  Beipielprogramm zur Unit CurMouse.                    *)
  4. (*  Stellt einen durch die Maus gesteuerten Graphikcursor *)
  5. (*  zur Verfügung. Mit dem linken Mousebutton Programm-   *)
  6. (*  ende, beim Drücken des rechten Mousebutton wird ein   *)
  7. (*  Punkt gezeichnet.                                     *)
  8. (* ------------------------------------------------------ *)
  9. PROGRAM Cursor_Example;
  10.  
  11. USES Graph, CurMouse, Crt;
  12.  
  13. VAR
  14.  x, y, xbak, ybak     : INTEGER;
  15.  button, ButtonAnzahl : INTEGER;
  16.  driver, mode         : INTEGER;
  17.  ende                 : BOOLEAN;
  18.  
  19. BEGIN
  20.   ende   := FALSE;
  21.   driver := Detect;
  22.   InitGraph(driver, mode, '');
  23.   IF GraphResult < 0 THEN BEGIN
  24.     WriteLn('Grafikfehler');
  25.     Halt(1);
  26.   END;
  27.   ButtonAnzahl := MouseInit;
  28.   IF ButtonAnzahl = 0 THEN BEGIN
  29.     CloseGraph;
  30.     WriteLn('kein Maustreiber geladen');
  31.     Halt(2);
  32.   END ELSE BEGIN
  33.     OutTextXY(50, 5, 'Mousetreiber OK');
  34.     CASE ButtonAnzahl OF
  35.       1 : OuttextXY(50, 20,'Anzahl der Buttons: 1');
  36.       2 : OuttextXY(50, 20,'Anzahl der Buttons: 2');
  37.       3 : OuttextXY(50, 20,'Anzahl der Buttons: 3');
  38.     END;
  39.   END;
  40.   OuttextXY(50, 30, 'using driver ' + GetDriverName);
  41.   CreateCursor(1);
  42.   MousePos(button, x, y);
  43.   CursorOn(x, y);
  44.   xbak := x;   ybak := y;
  45.   REPEAT
  46.     MousePos(button, x, y);
  47.     IF button = 1 THEN ende := TRUE;
  48.     IF (x <> xbak) OR (y <> ybak) THEN
  49.       PutCursor(xbak, ybak, x, y);
  50.     IF button = 2 THEN BEGIN
  51.       CursorOff(xbak, ybak);
  52.       PutPixel(x+10, y, GetMaxColor);
  53.       CursorOn(xbak, ybak);
  54.     END;
  55.   UNTIL ende;
  56.   CursorOff(xbak, ybak);
  57.   CloseGraph;
  58. END.
  59. (* ------------------------------------------------------ *)
  60. (*               Ende von CURSAMPL.PAS                    *)