IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Программа для работы с мышкой!, Информация о координатах, кнопках мышки!!!
metamfetamin
сообщение 8.12.2007 17:18
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 55
Пол: Мужской

Репутация: -  -1  +


Написал процедуру которая должна:
Выдавать координаты мыши
Выдавать, сколько кнопок у мыши?
Выдавать какая кнопка нажата?
Процедура
unit Mouse; 
interface
var MousePresent:Boolean;
function MouseInit(var nb:word):Boolean;
{nb-количество клавиш мыши, True-успешно}
procedure MouseShow;
Procedure MouseRead(var X,Y,bMask:Word);
{bMask - маска клавиш:
0-й байт - левая клавиша нажата (равно 1)
1 - правая
2 - центральная (если есть)}
implementation
uses Dos;
var R:Registers;
Mi:Pointer;
function MouseInit(var nb:Word):Boolean;
begin
if MousePresent then
begin {мышь присутствует}
R.AX:=0;
Intr($33,R);
if R.AX=0 then
begin
nb:=0; {инициализация не удалась}
MouseInit:=false;
end
else
begin
x nb:=R.BX; {число клавиш}
MouseInit:=True;
end
end
else
begin
nb:=0; {мышь отсутствует}
MouseInit:=false;
end
end;
procedure MouseShow;
begin
R.AX:=1;
Intr($33,R);
end;
procedure MouseRead(var X,Y,bMask:word);
begin
R.AX:=3;
Intr($33,R);
X:=R.CX;
Y:=R.DX;
bMask:=R.BX;
end;
{Инициализация}
begin
GetIntVec($33,Mi);
if Mi=nil then
MousePresent:=False; {нет адреса программы обраб прерываний}
if Byte(Mi^)=$CE then {фиктивный адрес прогр обраб прер}
MousePresent:=False
else
MousePresent:=True
end.


При подключении етой процедуры в программу которая описана ниже
program osl8; 
uses Crt,Mouse;
var X,Y,BN,Kol:Word;
begin
TextBackGround(Blue);
ClrScr;
TextColor(Red);
if MouseInit(Kol) then
begin
MouseShow;
repeat
MouseRead(X,Y,BN);
if BN and 1 <>0 then
begin {нажата левая кнопка}
X:=X div 10+1;
Y:=Y div 10 +1;
GoToXY(X,Y);
Write('*');
end;
until BN and2<>0 {выход при нажатой правой клавиши}
end;
end.
Должно собственно и выводится то что описано выше.......но в самой программе мне выдает ошибку в строке где подключается процедура....помогите......в чем может быть проблема???
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 8.12.2007 17:23
Сообщение #2


Гость






Цитата
мне выдает ошибку в строке где подключается процедура
Поточнее можно? В какой строке? Какую ошибку? Какая ПРОЦЕДУРА подключается (обычно подключается модуль)?
 К началу страницы 
+ Ответить 
metamfetamin
сообщение 8.12.2007 17:28
Сообщение #3


Пионер
**

Группа: Пользователи
Сообщений: 55
Пол: Мужской

Репутация: -  -1  +


Цитата(volvo @ 8.12.2007 17:23) *

Поточнее можно? В какой строке? Какую ошибку? Какая ПРОЦЕДУРА подключается (обычно подключается модуль)?


Ошибка file not found (mouse.tpu)

Может я как то не правильно сохранил или не туда поместил сам юнит?????

Сообщение отредактировано: metamfetamin - 8.12.2007 17:35
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 8.12.2007 17:52
Сообщение #4


Гость






Может, надо нажимать F9, а не Alt+F9? smile.gif
 К началу страницы 
+ Ответить 
metamfetamin
сообщение 9.12.2007 11:39
Сообщение #5


Пионер
**

Группа: Пользователи
Сообщений: 55
Пол: Мужской

Репутация: -  -1  +


Вроде пошло дальше, дошло до
...
if MouseInit(kol) then
...
Как я понимаю надо описать выше написаное в var ???? А как именно???
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 9.12.2007 11:52
Сообщение #6


Гость






blink.gif
Не понял... Что там компилятору-то твоему не нравится? Ошибку-то приводи саму... У меня в этой строке все нормально проходит...
 К началу страницы 
+ Ответить 
metamfetamin
сообщение 9.12.2007 11:56
Сообщение #7


Пионер
**

Группа: Пользователи
Сообщений: 55
Пол: Мужской

Репутация: -  -1  +


Цитата(volvo @ 9.12.2007 11:52) *

blink.gif
Не понял... Что там компилятору-то твоему не нравится? Ошибку-то приводи саму... У меня в этой строке все нормально проходит...



Добавлено через 3 мин.
Скачал Паскаль другой вродь пошло!!!! Благодарю за беспокойство!!!


Эскизы прикрепленных изображений
Прикрепленное изображение
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 18:47
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"