Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Mouse in Pascal! (https://www.delphipraxis.net/21005-mouse-pascal.html)

Sofa5000 26. Apr 2004 17:05


Mouse in Pascal!
 
Frage? Kann ich in Pascal den Stand des Mousezeigers bei einem Klick abfragen? Und wenn ja wie??

Danke

alcaeus 26. Apr 2004 17:06

Re: Mouse in Pascal!
 
Meinst du das alte DOS-Pascal oder das Borland Pascal?

Sofa5000 26. Apr 2004 19:33

Re: Mouse in Pascal!
 
Ich hab Turbo Pascal für Windows 1.5

alcaeus 26. Apr 2004 19:34

Re: Mouse in Pascal!
 
Achso, hättest du TP7, könnte ich dir helfen, aber bei TP für Win...keine Ahnung

Sofa5000 27. Apr 2004 13:38

Re: Mouse in Pascal!
 
weißt du wo ich tp7 her bekommen kan??

alcaeus 27. Apr 2004 13:49

Re: Mouse in Pascal!
 
hmmmm...ich weiß nicht, ich glaube nicht mehr dass ich es habe, aber ich kann ja mal suchen. falls du den code brauchst, den ...äh...muss ich auch erst suchen :wink:

sakura 27. Apr 2004 13:52

Re: Mouse in Pascal!
 
Zitat:

Zitat von Sofa5000
weißt du wo ich tp7 her bekommen kan??

Schau mal bei Amazon - kostenfrei gibt es die 7er Version nicht ;)

...:cat:...

alcaeus 27. Apr 2004 14:08

Re: Mouse in Pascal!
 
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 :oops:
Ich hoffe, dass du den Code zum Laufen bringst, und wenn du ganz viel Glück hast, hat ja noch jemand das Buch...

Jörn 27. Apr 2004 16:50

Re: Mouse in Pascal!
 
Turbo Pascal 5.5 kannst umsonst bei Borland saugen. Und FreePascal ist auch umsonst und zu 99,9% identisch mit TP7

Ultimator 27. Apr 2004 17:13

Re: Mouse in Pascal!
 
Ich weiß zwar nicht, ob der sich damit strafbar macht, oder ob er die Lizenz von Borland hat, aber auf dieser Seite gibt's noch TP7 zum download


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:09 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz