Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на языке Pascal


Информационный Канал Subscribe.Ru


RusFAQ.ru: Программирование на языке Pascal

Выпуск № 206
от 03.12.2003, 16:00

Администратор:
Имя: Sensey
URL: Информационный ресурс
ICQ: 105679124
Украина, Харьков
О рассылке:
Задано вопросов: 353
Отправлено ответов: 1238
Активность: 350.7 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Vitally
Статус: Начальный
Общий рейтинг: 175
[Подробней >>]
sir henry
Статус: Профессиональный
Общий рейтинг: 162.16
[Подробней >>]
Boriss
Статус: Опытный
Общий рейтинг: 145.87
URL: Программирование на Паскале
Телефон: (8342) 324312
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 350. Хаюшки! Я узнал, что в паскалевские программы можно включать файлы .OBJ, но сколько ни пытался, у ме... (ответов: 3)

Вопросов: 1, ответов: 3


 Вопрос № 350

Хаюшки!
Я узнал, что в паскалевские программы можно включать файлы .OBJ, но сколько ни пытался, у меня ниего не получается. Можете ли вы обьяснить мне как это делается.
И ещё один вопрос: при работе с функцией 000Ch, в паскале, я вызываю пользовательскую процедуру как обработчик. Условие вызова процедуры-перемещение мыши. В описании функции сказано, что она на входе в обработчик передаёт в регистре топор (AX), условие вызова, но при входе в процедуру у меня при любом выполнившемся условии в регистре AX лежит значение 12, тоесть ax=000ch :-( Посмотрите текст и подскажите, что у меня не правильно и почему в данном случае значения регистров не изменяются при входе в обработчик? Заранее спасибо.


Приложение:


Вопрос отправлен: 30.11.2003, 15:53
Отправитель: zaknafeyn

[Следующий вопрос >>] [Список вопросов]

Отвечает Vitally

Здравствуй, zaknafeyn!
1)Смотри файлы BGILINK.pas и BGIFONT.pas из дестрибутива борланд паскаля. Или сокращенный фариант этих файлов в приложении.
2)Procedure a(ax:word);interrupt;
ты объявляешь переменную AX. В нее кладется условие вызова. А считываешь ты из другой переменной: R.AX в которую ты поместил значение 12.
Объявление процедуры должно выглядеть так:
Procedure a(Flags,CX,IP,AX,BX,CX,DX,SI,DI,DS,ES,BP:word);interrupt;
Все это твои переменные. Можешь делать с ними что хочешь. На реальные значения флагов и регистров это не повлияет.

Приложение:

Ответ отправлен: 30.11.2003, 22:30
Отправитель: Vitally


Отвечает sir henry

Приветствую Вас, zaknafeyn!
1. Нужно указать, какой файл Вы собираетесь включать в свою программу:
{$I myfile.obj}
Далее, при объявлении процедуры или функции, необходимо дополнительно указать слово external.

Ответ отправлен: 01.12.2003, 15:19
Отправитель: sir henry


Отвечает Boriss

Здравствуйте, zaknafeyn!
0) OBJ - есть во многих примерах по встроенному ассемблеру. И можно для процедур в этих OBJ, можно для шрифтов, ... - Что нужно то?
Для подпрограмм:
а) объявляете ее, добавляете после точки с запятой EXTERNAL;
б) {$L <имя файла объектного>}
в) вызываете
Для шрифтов и подобных сначала регистрируете, общее название процедур RegisterXXXXX
О мыши:
1) НЕПРАВИЛЬНО в принципе. Обработчик любого прерывания должен работать максимально быстро: что-то куда-то записать, произвести минимальные вычисления,... НО НО В КОЕМ СЛУЧАЕ не вызывать другие прерывания (PutPixel - вызывает)
2) Это вы на TMT? С ним не работал, поэтому, что делается при вызове MouseOn - не знаю
3) Проверить работоспособность Вашей программы абсолютно невозможно - ЧТО ТАКОЕ fl, например?
4) Читайте описания:


Приложение:

Ответ отправлен: 01.12.2003, 12:53
Отправитель: Boriss



Форма отправки вопроса

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (26)
C / C++ (22)
Perl (3)
Builder / Delphi (16)
Pascal (18)
Basic / VBA (4)
Java / JavaScript (10)
PHP (14)
Криптография (5)
WinAPI (9)
Пользователю
Windows 95/98/Me (43)
Windows NT/2000/XP (56)
"Железо" (32)
Поиск информации (18)
Администратору
Windows NT/2000/XP (32)
Linux / Unix (13)
Юристу
Гражданское право (11)
Семейное право (8)
Трудовое право (9)
КоАП (6)

Отправить вопрос всем экспертам выбранной рассылки.




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.


Яндекс цитирования
© 2001-2003 Россия, Москва. Авторское право: Калашников О.А.

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное