Win Applications

Hallo,

Ich kann erst seit kurzen in Pascal programmieren. Aber ich hab noch nicht rausgefunden wi man Maus-support und Schalflächen und so macht. Kann man dass überhaupt?

Wenn ich später Win Applications programmieren will muss ich dann auf C umsteigen oder geht dass an auch in Pascal?

Übrigens: Ich habe einen Freepascal Compiler.

Hallo,

Ich kann erst seit kurzen in Pascal programmieren. Aber ich
hab noch nicht rausgefunden wi man Maus-support und
Schalflächen und so macht. Kann man dass überhaupt?

wenn du für DOS programierst, musst den DOS-Maustreiber geladen haben. Dann geht die Steuerung über Software-Interrupts (Interrupt 33H).

Vielleicht hilft dir das weiter:

http://www.datasource.de/programmierung/toolbox_pasc…

Wenn ich später Win Applications programmieren will muss ich
dann auf C umsteigen oder geht dass an auch in Pascal?

Da geht dann Delphi.

Gruss, Niels

Danke für die Antwort!

Aber was ist „Interrupt 33H“?

wieso verwendest du nicht Delphi? Dann hast du gar keine Probleme
mehr mit Oberflächer.

Hallo,

Aber was ist „Interrupt 33H“?

Das OS bzw die Maustreiber stellen eine gewisse Anzahl an Software-Interrupts zur Verfügung. Das sind kleine Funktionen, die mit dem INT-Befehl aufgerufen werden können, dh das Programm springt an eine bestimmte Stelle im Speicher (eben dorthin, wo sich die Funktion befindet). Zusätzlich werden dabei Parameter übergeben, die bestimmen, was die Maus machen soll. In dem geposteten Link sollte eigentlich alles stehen. Du kannst dort sogar eine komplette Maus-Unit herunterladen. Außerdem ist dort ein kleines Programm als Bsp.

33H (33 Hex = dezimal 51) ist der „Mausinterrupt“, über den die Maussteuerung erfolgt.

Aber wichtig: Alles nur für DOS!! Windows bringt seine eigene Maussteuerung mit, die man am besten mit Delphi nutzt.

Gruss, Niels

Danke fuer die Antwort!

Es gab nur ein Problem:

MEin Compiler kann die Mausunit nicht kompilieren. Was soll ich tun?

MEin Compiler kann die Mausunit nicht kompilieren. Was soll
ich tun?

schade, dass dein Compiler dabei keine Fehlermeldung ausgibt…