Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Возможна ли в делфи работа с портами Port[]

Аноним
В паскале есть способ оборащения к портам посредством массивов Port[$000],Portw[]. Есть ли они в делфи или как с ними работать под windows. Может необходимо подключить какую-то библиотек, какую?
483
23 августа 2002 года
DED_MOROZ
67 / / 20.03.2000
В не NT-based системах можно, но не стоит, потому что вы можете не полчить ожидаемого результата. Например при чтении из порта там будут искаженные данные, а запись вообще может быть проигнорирована. Это происходит из-за того, что Windows перехватывает обращения к портам. Windows NT/2k/XP вообще не позволяет обращаться к портам напрямую.
Насчет библиотек. Стандартные такие вещи не поддерживают. По адресу http//www.entechtaiwan.com/files/tvichw50.zip лежит такая библиотека.
Аноним
Не стоит этой ерундой заниматься. Виндовая программа должна работать с устройствами только через API. Все прочее - от лукавого
525
26 августа 2002 года
December
82 / / 20.08.2000
Цитата:

On 2002-08-24 1935, Anonymous wrote
Не стоит этой ерундой заниматься. Виндовая программа должна работать с устройствами только через API. Все прочее - от лукавого


Так что - свои дрова писать? Геморрррой!.... Проще асмовую вставку сделать, и если задача не time-critical, то всё стабильно работает.

Аноним
На асме у меня не получилось, я делал CreateFile;ReadFile;WriteFile; Настройки портов - что-то вроде SetupCOMState;GetCOMProp или чего то еще. Непомню - давно было. А вообще посмотри в MSDN->Communication. Там все написано.

[Ex_Jack]
Аноним
Если под Win9X, то на http//www.torry.ru в разделе примеры/документация лежит модуль port95.pas (как раз реализация на ассемблерных вставках). Если лень искать, могу скинуть.С драйверами (тем же twichw) замучаешься - под W95 надо VXD, под W98 - VXD или WDM, под NT - SYS или WDM да еще и права админа для загрузки драйвера... К тому же twichw платный.
Аноним
Не уверен, что все корректно, но у меня работает
function GetPort(index:word):byte;stdcall;
begin asm MOV DX, index
IN AL, DX
MOV @Result, AL
end;end ;

procedure SetPort(index:word;value:byte);stdcall;
begin asm MOV DX, index
MOV AL, value
OUT DX, AL
end;end ;
356
01 октября 2002 года
molnij
159 / / 20.06.2000
Или я чего то не понимаю или ...
Как можно ПеРехватить обращения к портам??? Не научите ????
Не знаю у кого как но у меня через asm очень хорошо все получается (по крайней мере клава ловиться на отлично)
1.2K
03 октября 2002 года
PavelP
3 / / 20.04.2000
Ребята, всечто вы сказали конечно хорошо, но ьтолько под Win9X, под NT работать не будут там всякие out DX,AL. Эта инструкция поднимает ошибку EPrivilege, короче программе не хватает привелегий для записи в порт, и туды ничего не пишется :sad: .
Может кто знает какие привелегии нужно получить для доступа к портам, типа SE_NAME_SHUTDOWN для выключения компьютера
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог