home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / pascal / library / dos / mouse / mousetp / mousebox.doc < prev   
Encoding:
Text File  |  1993-07-29  |  27.6 KB  |  775 lines

  1.  
  2.  
  3.  
  4.          ┌──────────────────────────────────────────────────────┐
  5.          │                                                      │
  6.          │                                                      │
  7.          │                                                      │
  8.          │                                                      │
  9.          │                                                      │
  10.          │                                                      │
  11.          │                                                      │
  12.          │                                                      │
  13.          │                                                      │
  14.          │                                                      │
  15.          │                                                      │
  16.          │                                                      │
  17.          │                                                      │
  18.          │                                                      │
  19.          │                                                      │
  20.          │                                                      │
  21.          │                                                      │
  22.          │                  Mousebox-Handbuch                   │
  23.          │                                                      │
  24.          │                                                      │
  25.          │    Routinen zur Unterstützung der Microsoft Mouse    │
  26.          │                                                      │
  27.          │                                                      │
  28.          │                                                      │
  29.          │                                                      │
  30.          │                                                      │
  31.          │                                                      │
  32.          │                                                      │
  33.          │                                                      │
  34.          │                                                      │
  35.          │                                                      │
  36.          │                                                      │
  37.          │                                                      │
  38.          │                                                      │
  39.          │                                                      │
  40.          │                                                      │
  41.          │                                                      │
  42.          │                                                      │
  43.          │                                                      │
  44.          │                                                      │
  45.          │                                                      │
  46.          │                                                      │
  47.          │              Copyright (c) 1988, 89, 90              │
  48.          │                                                      │
  49.          │                          by                          │
  50.          │                                                      │
  51.          │                     Ralf Krause                      │
  52.          │                                                      │
  53.          │                Leuchtenberger Str. 7a                │
  54.          │               D-8480 Weiden i. d. Opf.               │
  55.          │                                                      │
  56.          │                                                      │
  57.          │                                                      │
  58.          │                                                      │
  59.          │                                                      │
  60.          │                                                      │
  61.          │                                                      │
  62.          │                                                      │
  63.          │                                                      │
  64.          │  Kein Teil dieses Handbuches darf ohne schriftliche  │
  65.          │  Genehmigung des Programmautors in irgend einer Form │
  66.          │  vervielfältigt, archiviert oder verbreitet werden!  │
  67.          │  Der Programmautor behält sich Änderungen am Pro-    │
  68.          │  gramm und an dem Handbuch vor!                      │
  69.          └──────────────────────────────────────────────────────┘
  70.  
  71.                            Über die »Mousebox«:
  72.  
  73.          Die  »Mousebox«  ist  eine  Sammlung  von Prozeduren und
  74.          Funktionen  zur  Steuerung  und Überwachung einer Micro-
  75.          soft Mouse, bzw. einer Microsoft-kompatiblen Mouse.
  76.          Mit  den  Routinen  können  Sie Ihre Programme, nach dem
  77.          Sie  sie  geändert haben nun auch mit Ihrer Mouse benut-
  78.          zen.
  79.  
  80.  
  81.                  Einfügen der Routinen in Ihre Programme:
  82.  
  83.          Das  Einfügen  der  Routinen  der  »Mousebox«  geschieht
  84.          durch Einfügen der folgenden Zeile in Ihre Programme:
  85.  
  86.          Turbo Pascal 3:
  87.  
  88.          {$INCLUDE "MOUSEBOX.INC"}
  89.  
  90.          ab Turbo Pascal 4:
  91.  
  92.          USES
  93.             ...,             { weitere Units }
  94.             Mousebox;
  95.  
  96.  
  97.                Nutzung der Routinen in eigenen Programmen:
  98.  
  99.          Sie dürfen Sie die Routinen mit folgenden Beschränkungen
  100.          in Ihren Programmen verwenden:
  101.          Die  Weitergabe des Sourcecodes der Routinen ist jedoch,
  102.          genau wie die veröffentlichung in Zeitschriften, Mailbo-
  103.          xen, etc. verboten.
  104.          Eine  Zuwiederhandlung  gegen  diese Beschränkungen kann
  105.          sowohl  Zivil-,  als  auch  Strafrechtliche Schritte zur
  106.          Folge haben.
  107.          Wenn  Sie noch nicht registrierter Benutzer sind, so be-
  108.          denken   Sie  bitte  das  die  Registrierungsgebühr  nur
  109.          DM 29.-- beträgt.
  110.          Als  registrierter  Anwender  haben Sie einige Vorteile,
  111.          sehen Sie sich hierzu das Registrierungsformular auf der
  112.          nächsten Seite an.
  113.  
  114.  
  115.                           Über dieses Handbuch:
  116.  
  117.  
  118.          Dieses Handbuch erläutert alle Prozeduren und Funktionen
  119.          der  »Mousebox«.  Nehmen  Sie  sich ruhig etwas Zeit das
  120.          Handbuch zu lesen.
  121.          In der Mousebox wird ausgiebig vom Typ WORD gebrauch ge-
  122.          macht, dieser Typ wurde für Turbo Pascal 3.0 wie folgt
  123.          definiert:
  124.  
  125.          TYPE
  126.            WORD : INTEGER;
  127.  
  128.          Dies ermöglichte es die Mousebox ohne große Änderungen für
  129.          Turbo Pascal 3.0 zu übernehmen.
  130.  
  131.          Das Handbuch ist wie folgt aufgebaut:
  132.  
  133.          1. Name der Prozedur oder Funktion
  134.          2. ob es eine Prozedur oder eine Funktion ist
  135.          3. Syntax
  136.          4. Aufgabe der Prozedur oder Funktion
  137.          5. Beispiel wie die Prozedur oder Funktion benutzt wird;
  138.             hier stehen jedoch nur die Schritte, die zeigen wie
  139.             die Prozedur oder Funktion angewandt wird;
  140.             (Sehen Sie sich hierzu auch das Beispielprogramm
  141.              MOUSEDEM.BAS auf der Diskette an)
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.          Herr
  149.          Ralf Krause
  150.  
  151.          Leuchtenberger Str. 7a
  152.          D-8480 Weiden i. d. OPf.
  153.  
  154.  
  155.  
  156.  
  157.                           R e g i s t r i e r u n g
  158.  
  159.  
  160.          Ja, ich möchte mich als Anwender der Mousebox für Turbo-
  161.          Pascal für nur DM 29.-- registrieren lassen.
  162.          Für diesen Betrag werden mir folgende Leistungen geboten:
  163.  
  164.          - Zusendung der neuesten Version
  165.          - Update-Service
  166.          - Handbuch
  167.          - Hilfe bei Fragen und Problemen (bitte schriftlich ein-
  168.            reichen und Rückporto nicht vergessen)
  169.  
  170.  
  171.          Meine Anschrift lautet:
  172.  
  173.          Vorname:____________________ Name:________________________
  174.  
  175.          Straße :___________________________________
  176.  
  177.          PLZ/Ort:____ ______________________________ Land:___
  178.  
  179.          Ich habe die Sharewareversion der Mousebox für Turbo Pascal
  180.          bei:
  181.  
  182.                   PD-Service Lage
  183.                   Bernd Schulz
  184.  
  185.                   Postfach 17 43
  186.                   D-4937 Lage/Lippe
  187.  
  188.          gekauft.
  189.  
  190.          Den Betrag von DM 29.--       │ Ich benötige folgen-
  191.                                        │ des Diskettenformat:
  192.          [ ] habe ich als Verechnungs- │
  193.              scheck beigelegt          │ [ ] 3½"-Disketten
  194.                                        │     (zzgl. DM 3.--)
  195.          [ ] habe ich auf das folgende │
  196.              Konto überwiesen:         │
  197.                                        │ [ ] 5¼"-Disketten
  198.              Deutsche Bank-Weiden      │
  199.              BLZ : 760 700 12          │ Ist nichts angekreutzt,
  200.              Kto.-Nr.: 6657936         │ werden 5¼"-Disketten
  201.                                        │ geliefert
  202.          [ ] erheben Sie bitte per     │
  203.              Nachnahme (zzgl. DM 5.--  │
  204.              Nachnahmegebühr)          │
  205.  
  206.          ______________________________ ___________________________
  207.          Ort, Datum                     Unterschrift (bei Minder-
  208.                                         jährigen eines Erziehungs-
  209.                                         berechtigten)
  210.  
  211.                                 InitMouse
  212.  
  213.          Prozedur/Funktion: Funktion
  214.  
  215.          Syntax           : BooleanVar := InitMouse;
  216.  
  217.          Aufgabe          : überprüft und initialisert den Maus-
  218.                             treiber; das Ergebnis der Funktion
  219.                             ist entweder TRUE oder FALSE;
  220.                             ist das Ergebnis TRUE so ist eine
  221.                             Mouse vorhanden, andernfalls nicht;
  222.                             diese Funktion muß vor der Benutzung
  223.                             anderer Funktionen der »Mousebox«
  224.                             einmal aufgerufen worden sein
  225.  
  226.          Beispiel         : MouseExist := InitMouse;
  227.                             Write('Es ist ');
  228.                             IF NOT iMouseExist THEN Write('k');
  229.                             WriteLn('eine Mouse vorhanden!');
  230.  
  231.  
  232.  
  233.  
  234.                                 ResetMouse
  235.  
  236.          Prozedur/Funktion: Prozedur
  237.  
  238.          Syntax           : ResetMouse
  239.  
  240.          Aufgabe          : setzt den Mouse-Treiber zurück,
  241.                             diese Prozedur sollten Sie bei ver-
  242.                             lassen Ihrer Programme aufrufen;
  243.  
  244.          Beispiel         : BooleanVar := InitMouse;
  245.                                .                 ' hier steht Ihr
  246.                                .                 ' Programm
  247.                             ResetMouse;          ' sollte am Ende
  248.                                                  ' stehen
  249.  
  250.  
  251.  
  252.                                 ShowCursor
  253.  
  254.          Prozedur/Funktion: Prozedur
  255.  
  256.          Syntax           : ShowCursor
  257.  
  258.          Aufgabe          : schaltet den Mousecursor an; macht
  259.                             ihn am Bildschirm sichtbar
  260.  
  261.          Beispiel         : ShowCursor
  262.  
  263.  
  264.  
  265.  
  266.                                 HideCursor
  267.  
  268.          Prozedur/Funktion: Prozedur
  269.  
  270.          Syntax           : HideCursor
  271.  
  272.          Aufgabe          : schaltet den Mousecursor aus; macht
  273.                             ihn am Bildschirm unsichtbar
  274.  
  275.          Beispiel         : HideCursor
  276.  
  277.                                GetXPosition
  278.  
  279.          Prozedur/Funktion: Funktion
  280.  
  281.          Syntax           : WordVar := GetXPosition;
  282.  
  283.          Aufgabe          : ermittelt die horizontale Position des
  284.                             Mousecursors;
  285.  
  286.          Beispiel         : WriteLn('horizontale Position:',
  287.                                     GetXPosition);
  288.  
  289.  
  290.  
  291.  
  292.                                GetYPosition
  293.  
  294.          Prozedur/Funktion: Funktion
  295.  
  296.          Syntax           : WordVar := GetYPosition;
  297.  
  298.          Aufgabe          : ermittelt die vertikale Position des
  299.                             Mousecursors;
  300.  
  301.          Beispiel         : WriteLn('vertikale Position:',
  302.                                     GetYPosition);
  303.  
  304.  
  305.  
  306.  
  307.                              GetXTextPosition
  308.  
  309.          Prozedur/Funktion: Funktion
  310.  
  311.          Syntax           : WordVar := GetXTextPosition;
  312.  
  313.          Aufgabe          : ermittelt die horizontale Position des
  314.                             Mousecursors; das Ergebnis liegt im
  315.                             Bereich der Textkoordinaten (1-80)
  316.  
  317.          Beispiel         : WriteLn('horizontale Position:',
  318.                                     GetXTextPosition);
  319.  
  320.  
  321.  
  322.  
  323.                              GetYTextPosition
  324.  
  325.          Prozedur/Funktion: Funktion
  326.  
  327.          Syntax           : WordVar := GetYTextPosition;
  328.  
  329.          Aufgabe          : ermittelt die vertikale Position des
  330.                             Mousecursors; das Ergebnis liegt im
  331.                             Bereich der Textkoordinaten (1-25)
  332.  
  333.          Beispiel         : WriteLn('vertikale Position:',
  334.                                     GetYTextPosition);
  335.  
  336.                                 LeftButton
  337.  
  338.          Prozedur/Funktion: Funktion
  339.  
  340.          Syntax           : BooleanVar := LeftButton;
  341.  
  342.          Aufgabe          : testet ob die linke Mouse-Taste ge-
  343.                             drückt ist, oder nicht;
  344.                             ist die linke Taste gedrückt, so ist
  345.                             das Ergebnis der Funktion TRUE, ist
  346.                             die linke Taste nicht gedrückt, so
  347.                             ist das Ergebnis FALSE
  348.  
  349.          Beispiel         : Write('Die linke Taste ist ');
  350.                             IF NOT LeftButton THEN Write('nicht ');
  351.                             WriteLn('gedrückt!');
  352.  
  353.  
  354.  
  355.  
  356.                                 RightButton
  357.  
  358.          Prozedur/Funktion: Funktion
  359.  
  360.          Syntax           : BooleanVar := RightButton;
  361.  
  362.          Aufgabe          : testet ob die rechte Mouse-Taste ge-
  363.                             drückt ist, oder nicht;
  364.                             ist die rechte Taste gedrückt, so ist
  365.                             das Ergebnis der Funktion TRUE, ist
  366.                             die rechte Taste nicht gedrückt, so
  367.                             ist das Ergebnis FALSE
  368.  
  369.          Beispiel         : Write('Die rechte Taste ist ');
  370.                             IF NOT RightButton THEN Write('nicht ');
  371.                             WriteLn('gedrückt!');
  372.  
  373.  
  374.  
  375.  
  376.                                MiddleButton
  377.  
  378.          Prozedur/Funktion: Funktion
  379.  
  380.          Syntax           : BooleanVar := MiddleButton;
  381.  
  382.          Aufgabe          : testet ob die mittlere Mouse-Taste ge-
  383.                             drückt ist, oder nicht;
  384.                             ist die mittlere Taste gedrückt, so ist
  385.                             das Ergebnis der Funktion TRUE, ist
  386.                             die mittlere Taste nicht gedrückt, so
  387.                             ist das Ergebnis FALSE
  388.  
  389.          Beispiel         : Write('Die mittlere Taste ist ');
  390.                             IF NOT MiddleButton THEN Write('nicht ');
  391.                             WriteLn('gedrückt!');
  392.  
  393.  
  394.  
  395.  
  396.  
  397.                             LeftButtonPressed
  398.  
  399.          Prozedur/Funktion: Funktion
  400.  
  401.          Syntax           : WordVar := LeftButtonPressed;
  402.  
  403.          Aufgabe          : stellt fest wie oft die linke
  404.                             Mouse-Taste seit der letzten Abfrage
  405.                             gedrückt wurde
  406.  
  407.          Beispiel         : WriteLn('Die linke Mouse-Taste wurde ',
  408.                                     LeftButtonPressed,
  409.                                     ' mal gedrückt!');
  410.  
  411.  
  412.  
  413.  
  414.                             RightButtonPressed
  415.  
  416.          Prozedur/Funktion: Funktion
  417.  
  418.          Syntax           : WordVar := RightButtonPressed;
  419.  
  420.          Aufgabe          : stellt fest wie oft die rechte
  421.                             Mouse-Taste seit der letzten Abfrage
  422.                             gedrückt wurde
  423.  
  424.          Beispiel         : WriteLn('Die rechte Mouse-Taste wurde ',
  425.                                     RightButtonPressed,
  426.                                     ' mal gedrückt!');
  427.  
  428.  
  429.  
  430.  
  431.                            MiddleButtonPressed
  432.  
  433.          Prozedur/Funktion: Funktion
  434.  
  435.          Syntax           : WordVar := MiddleButtonPressed;
  436.  
  437.          Aufgabe          : stellt fest wie oft die mittlere
  438.                             Mouse-Taste seit der letzten Abfrage
  439.                             gedrückt wurde
  440.  
  441.          Beispiel         : WriteLn('Die mittlere Mouse-Taste wurde ',
  442.                                     MiddleButtonPressed,
  443.                                     ' mal gedrückt!');
  444.  
  445.  
  446.  
  447.  
  448.                             LeftButtonReleased
  449.  
  450.          Prozedur/Funktion: Funktion
  451.  
  452.          Syntax           : WordVar := LeftButtonReleased;
  453.  
  454.          Aufgabe          : stellt fest wie oft die linke
  455.                             Mouse-Taste seit der letzten Abfrage
  456.                             losgelassen wurde
  457.  
  458.          Beispiel         : WriteLn('Die linke Mouse-Taste wurde ',
  459.                                     LeftButtonPressed,
  460.                                     ' mal losgelassen!');
  461.  
  462.  
  463.  
  464.  
  465.                             RightButtonReleased
  466.  
  467.          Prozedur/Funktion: Funktion
  468.  
  469.          Syntax           : WordVar := RightButtonReleased;
  470.  
  471.          Aufgabe          : stellt fest wie oft die rechte
  472.                             Mouse-Taste seit der letzten Abfrage
  473.                             losgelassen wurde
  474.  
  475.          Beispiel         : WriteLn('Die rechte Mouse-Taste wurde ',
  476.                                     RightButtonPressed,
  477.                                     ' mal losgelassen!');
  478.  
  479.  
  480.  
  481.  
  482.                            MiddleButtonReleased
  483.  
  484.          Prozedur/Funktion: Funktion
  485.  
  486.          Syntax           : WordVar := MiddleButtonReleased;
  487.  
  488.          Aufgabe          : stellt fest wie oft die mittlere
  489.                             Mouse-Taste seit der letzten Abfrage
  490.                             losgelassen wurde
  491.  
  492.          Beispiel         : WriteLn('Die mittlere Mouse-Taste wurde ',
  493.                                     MiddleButtonPressed,
  494.                                     ' mal losgelassen!');
  495.  
  496.  
  497.  
  498.  
  499.                                 MouseMoved
  500.  
  501.          Prozedur/Funktion: Funktion
  502.  
  503.          Syntax           : BooleanVar := MouseMoved;
  504.  
  505.          Aufgabe          : testet ob die Mouse während der Ab-
  506.                             frage bewegt wird, falls dies der
  507.                             Fall ist so ist das Ergebnis der
  508.                             Funktion TRUE, andernfalls ist es
  509.                             FALSE
  510.  
  511.          Beispiel         : Write('Die Mouse wurde ');
  512.                             IF NOT MouseMoved THEN Write('nicht ');
  513.                             WriteLn('bewegt!');
  514.  
  515.                               MouseLeftMoved
  516.  
  517.          Prozedur/Funktion: Funktion
  518.  
  519.          Syntax           : BooleanVar := MouseLeftMoved;
  520.  
  521.          Aufgabe          : testet ob die Mouse während der Ab-
  522.                             frage nach links bewegt wird, falls dies
  523.                             der Fall ist so ist das Ergebnis der
  524.                             Funktion TRUE, andernfalls ist es
  525.                             FALSE
  526.  
  527.          Beispiel         : Write('Die Mouse wurde ');
  528.                             IF NOT MouseLeftMoved THEN Write('nicht ');
  529.                             WriteLn('nach links bewegt!');
  530.  
  531.  
  532.  
  533.  
  534.                              MouseRightMoved
  535.  
  536.          Prozedur/Funktion: Funktion
  537.  
  538.          Syntax           : BooleanVar := MouseRightMoved;
  539.  
  540.          Aufgabe          : testet ob die Mouse während der Ab-
  541.                             frage nach rechts bewegt wird, falls dies
  542.                             der Fall ist so ist das Ergebnis der
  543.                             Funktion TRUE, andernfalls ist es
  544.                             FALSE
  545.  
  546.          Beispiel         : Write('Die Mouse wurde ');
  547.                             IF NOT MouseRightMoved THEN Write('nicht ');
  548.                             WriteLn('nach rechts bewegt!');
  549.  
  550.  
  551.  
  552.  
  553.                                MouseUpMoved
  554.  
  555.          Prozedur/Funktion: Funktion
  556.  
  557.          Syntax           : BooleanVar := MouseUpMoved;
  558.  
  559.          Aufgabe          : testet ob die Mouse während der Ab-
  560.                             frage nach oben bewegt wird, falls dies
  561.                             der Fall ist so ist das Ergebnis der
  562.                             Funktion TRUE, andernfalls ist es
  563.                             FALSE
  564.  
  565.          Beispiel         : Write('Die Mouse wurde ');
  566.                             IF NOT MouseUpMoved THEN Write('nicht ');
  567.                             WriteLn('nach oben bewegt!');
  568.  
  569.  
  570.  
  571.  
  572.  
  573.                               MouseDownMoved
  574.  
  575.          Prozedur/Funktion: Funktion
  576.  
  577.          Syntax           : BooleanVar := MouseDownMoved;
  578.  
  579.          Aufgabe          : testet ob die Mouse während der Ab-
  580.                             frage nach unten bewegt wird, falls dies
  581.                             der Fall ist so ist das Ergebnis der
  582.                             Funktion TRUE, andernfalls ist es
  583.                             FALSE
  584.  
  585.          Beispiel         : Write('Die Mouse wurde ');
  586.                             IF NOT MouseDownMoved THEN Write('nicht ');
  587.                             WriteLn('nach unten bewegt!');
  588.  
  589.  
  590.  
  591.  
  592.                              SetXYMouse
  593.  
  594.          Prozedur/Funktion: Prozedur
  595.  
  596.          Syntax           : SetXYMouse(X, Y);
  597.                             X und Y sind beide vom Typ WORD
  598.  
  599.          Aufgabe          : setzt den Mousecursor auf die über-
  600.                             gebene horizontale und vertikale Po-
  601.                             sition
  602.  
  603.          Beispiel         : SetXYMouse(319,99);
  604.  
  605.  
  606.  
  607.  
  608.                              SetXRange
  609.  
  610.          Prozedur/Funktion: Prozedur
  611.  
  612.          Syntax           : SetXRange(XMin, XMax);
  613.                             XMin und XMax sind beide vom Typ WORD
  614.  
  615.          Aufgabe          : setzt die minimale und maximale
  616.                             horizontale Mousecursorposition
  617.  
  618.          Beispiel         : SetXRange(0,639);
  619.  
  620.  
  621.  
  622.  
  623.                              SetYRange
  624.  
  625.          Prozedur/Funktion: Prozedur
  626.  
  627.          Syntax           : SetYRange(YMin, YMax);
  628.                             YMin und YMax sind beide vom Typ WORD
  629.  
  630.          Aufgabe          : setzt die minimale und maximale
  631.                             vertikale Mousecursorposition
  632.  
  633.          Beispiel         : SetYRange(0,319);
  634.  
  635.                               SetGraphicCursor
  636.  
  637.          Prozedur/Funktion: Prozedur
  638.  
  639.          Syntax           : SetGraphicCursor(GraphicCursor);
  640.  
  641.          Aufgabe          : definiert den Grafik-Mousecursor;
  642.                             GraphicCursor ist vom Typ MouseCursor, der
  643.                             in der Unit Mousebox (bei Turbo Pascal 3.0
  644.                             in der Datei MOUSEBOX.INC) definiert wird,
  645.                             er enthält die Bildschirm- und die Cursor-
  646.                             Maske, sowie den horizontalen und vertikalen
  647.                             Hotspot;
  648.                             Der Hotspot ist der Punkt im Cursor bei
  649.                             dem eine Funktion ausgeführt werden soll;
  650.                             In der Mousebox sind bereits einige vor-
  651.                             definierte Mousecursor für den Grafikmodus
  652.                             enthalten
  653.  
  654.          Beispiel         : (Bildschirm muß sich im Grafikmodus be-
  655.                             finden)
  656.  
  657.                             IF InitMouse THEN
  658.                             BEGIN
  659.                               SetGraphicCursor(Arrow);
  660.                               ShowCursor;
  661.                               Write('Programm wird durch drücken');
  662.                               Write(' der linken Maustaste beendet!');
  663.                               WHILE NOT LeftButton;
  664.                             END;
  665.  
  666.                                 SetTextCursor
  667.  
  668.          Prozedur/Funktion: Prozedur
  669.  
  670.          Syntax           : SetTextCursor(TextCursor);
  671.  
  672.          Aufgabe          : definiert den Text-Mousecursor;
  673.                             CursorType gibt an, ob es sich um einen
  674.                             Hardware- oder um einen SoftwareCursor
  675.                             handelt;
  676.                             TextCursor ist vom Typ TextCursorType, der
  677.                             in der Mousebox definiert wurde und hat
  678.                             folgenden Aufbau
  679.  
  680.                             TextCursorType = RECORD
  681.                                                HardWareCrusor : BOOLEAN;
  682.                                                ScreenMask,
  683.                                                CursorMask  : INTEGER;
  684.                                              END;
  685.  
  686.                             HardWareCursor = 0 : Softwarecursor
  687.                             HardWareCursor = 1 : Hardwarecursor
  688.  
  689.                             bei HardWareCursor = 1:
  690.                             TextScreenMask : obere Cursor Begrenzung
  691.                             TextCursorMask : untere Cursor Begrenzung
  692.  
  693.                             bei HardWareCursor = 0:
  694.                             Bit  0 -  7 : Zeichencode
  695.                             Bit  8 - 10 : Vordergrundfarbe
  696.                             Bit      11 : Intensität normal/hell
  697.                             Bit 12 - 14 : Hintergrundfarbe
  698.                             Bit      15 : blinken ein/aus
  699.  
  700.          Beispiel         : VAR
  701.                                 TextCursor : TextCursorType;
  702.  
  703.                             BEGIN
  704.                               TextCursor.HardWareCursor := 1;
  705.                               TextCursor.ScreenMask := 5;
  706.                               TextCursor.CursorMask := 7;
  707.                               SetTextCursor(TextCursor);
  708.                             END;
  709.  
  710.                                 GetXMickey
  711.  
  712.          Prozedur/Funktion: Funktion
  713.  
  714.          Syntax           : WordVar := GetXMickey;
  715.  
  716.          Aufgabe          : horizontalen Mouse-Bewegungszähler
  717.                             (Mickey-Zähler) lesen
  718.  
  719.          Beispiel         : WriteLn('horizontaler Mickey-Zähler: ',
  720.                                     GetXMickey);
  721.  
  722.  
  723.  
  724.  
  725.                                 GetYMickey
  726.  
  727.          Prozedur/Funktion: Funktion
  728.  
  729.          Syntax           : WordVar := GetYMickey;
  730.  
  731.          Aufgabe          : vertikalen Mouse-Bewegungszähler
  732.                             (Mickey-Zähler) lesen
  733.  
  734.          Beispiel         : WriteLn('vertikaler Mickey-Zähler: ',
  735.                                     GetYMickey);
  736.  
  737.  
  738.  
  739.  
  740.                                SetXYMickey
  741.  
  742.          Prozedur/Funktion: Prozedur
  743.  
  744.          Syntax           : SetXYMickey(XMickey, YMickey);
  745.                             XMickey und YMickey sind beide vom
  746.                             Typ WORD
  747.  
  748.          Aufgabe          : horizontale und vertikale Mickey-
  749.                             Einheit setzen;
  750.  
  751.                             XMickey : Anzahl der Mickeys, die
  752.                                       einem horizontalen Bild-
  753.                                       schirmpunkt entsprechen
  754.                             YMickey : Anzahl der Mickeys, die
  755.                                       einem vertikalen Bild-
  756.                                       schirmpunkt entsprechen
  757.  
  758.          Beispiel         : SetXYMickey(100, 100);
  759.  
  760.  
  761.  
  762.  
  763.                               SetMouseSpeed
  764.  
  765.          Prozedur/Funktion: Prozedur
  766.  
  767.          Syntax           : SetMouseSpeed(Speed);
  768.                             Speed ist vom Typ WORD
  769.  
  770.          Aufgabe          : Schwellenwert für doppelte Mouse-
  771.                             Cursor-Geschwindigkeit in Mickeys pro
  772.                             Sekunde setzen
  773.  
  774.          Beispiel         : SetMouseSpeed(100);
  775.