Einzelnen Beitrag anzeigen

Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#8

Re: Mouse in Pascal!

  Alt 27. Apr 2004, 14:08
Hier sind die Mausprozeduren für den Grafikmodus. Die für den Textmodus finde ich leider nicht mehr. Die Routinen kommen aus dem Buch "Turbo Pascal 7.0 - Das Kompendium", das im Markt und Technik-Verlag erschienen ist. Hier ist der Code:
Delphi-Quellcode:
m1, m2, m3, m4: WORD;
PROCEDURE Maus; ASSEMBLER;
ASM
  MOV AX,m1
  MOV BX,m2
  MOV CX,m3
  MOV DX,m4
  INT $33
  MOV m1,AX
  MOV m2,BX
  MOV m3,CX
  MOV m4,DX
END;

PROCEDURE MausDA(nr : WORD);
Inline($58/$cd/$33);

PROCEDURE MausReset;
BEGIN
  IF Mem[MemW[0:$cc+2]:MemW[0:$cc]] <> $cf THEN BEGIN
    MausDa(0);
    MausDa(1);
  END
  ELSE BEGIN
    OutTextXY(10,10,'Maus nicht installiert! MOUSE in MS-DOS aufrufen! <Enter>');
    Readln;
    Halt;
  END;
END;

PROCEDURE MausData;
BEGIN
  m1:=3;
  Maus;
END;

PROCEDURE UrCursor;
BEGIN
  MausDa(2);
  MausDa(0);
  MausDa(1);
END;
Am Beginn des Programms rufst du MausReset auf. Jedes Mal, wenn du die Mausdaten abfragen willst, musst du MausData aufrufen. Anschließend steht in m2 der gedrückte Button drin:
0 = Nichts
1 = Links
2 = Rechts
3 = Beide
m3 und m4 enthalten die x und y-Position der Maus.
Die Funktion MausDa(2) blendet den Mauscursor aus, MausDa(1) zeigt ihn wieder.

WICHTIG: Dies ist nur ein Teil der Routinen, den anderen Teil brauchte ich nicht, und die Beispieldiskette vom Buch habe ich auch verloren
Ich hoffe, dass du den Code zum Laufen bringst, und wenn du ganz viel Glück hast, hat ja noch jemand das Buch...
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat