Zaliczyłem ostatnio mały 'downgrade', mianowicie z c# muszę przesiąść się na pascala ;/ wziąłem z netu bibliotekę do obsługi myszki o treści:
unit myszka;
interface
uses crt,graph,dos;
procedure pokazmyszke;
procedure schowajmyszke;
procedure ustawmyszke(x1,y1,x2,y2:word);
procedure pobierzmyszke(var x,y,butt:word);
implementation
procedure pokazmyszke;
var
r:registers;
begin
r.ax:=$0001;
intr($33,r);
end;
procedure schowajmyszke;
var
r:registers;
begin
r.ax:=$0002;
intr($33,r);
end;
procedure ustawmyszke(x1,y1,x2,y2:word);
var
r:registers;
begin
r.ax:=$0007;
r.cx:=x1;
r.dx:=x2;
intr($33,r);
r.ax:=$0008;
r.cx:=y1;
r.dx:=y2;
intr($33,r);
end;
procedure pobierzmyszke(var x,y,butt:word);
var
r:registers;
begin
r.ax:=$0003;
intr($33,r);
x:=r.cx;
y:=r.dx;
butt:=r.bx;
end;
begin
end.
To była oddzielna biblioteka. Cała reszta wygląda tak:
PROCEDURE SprawdzMyszke;
BEGIN
PobierzMyszke(X,Y,PRZYCISKI);
If (PRZYCISKI=1) Then
Begin
If (X>0) AND (y>0) AND (x<200) AND (y<200) Then writeln('b');
End;
End;
PROCEDURE VgaOn;
Var
driver,mode:integer;
Begin
driver:=vga; mode:=vgahi;
InitGraph(driver,mode,'c:\TP\bgi');
End;
Begin
Sound(1000);
Delay(1000);
writeln('a');
VgaOn;
Klawisze(9,9);
UstawMyszke(1,1,635,475);
PokazMyszke;
Repeat
SprawdzMyszke;
Until Keypressed;
Nosound;
CloseGraph;
End.
Jednak przy kliknięciu w dany obszar, w konsoli, którą mam otwartą obok, nie pojawia się tekst (literka b). Dla sprawdzenia (na wszelki wypadek), czy wpisywanie tekstu do konsoli działa, kazałem mu wpisać najpierw literkę a, i ona się pojawia. W czym leży problem? Korzystałem z gotowego poradnika, i tam wszystko działa. Zrobiłem wszystko <chyba> tak jak trzeba. Z góry dzieki za pomoc. Win XP Tablet Edition/Free Pascal IDE for Win32