Недавно добавленные исходники

•  TDictionary Custom Sort  536

•  Fast Watermark Sources  902

•  3D Designer  1 830

•  Sik Screen Capture  1 476

•  Patch Maker  1 483

•  Айболит (remote control)  1 407

•  ListBox Drag & Drop  1 175

•  Доска для игры Реверси  21 848

•  Графические эффекты  1 356

•  Рисование по маске  1 296

•  Перетаскивание изображений  1 096

•  Canvas Drawing  969

•  Рисование Луны  814

•  Поворот изображения  770

•  Рисование стержней  815

•  Paint on Shape  493

•  Генератор кроссвордов  762

•  Головоломка Paletto  667

•  Теорема Монжа об окружностях  855

•  Пазл Numbrix  618

•  Заборы и коммивояжеры  848

•  Игра HIP  557

•  Игра Go (Го)  527

•  Симулятор лифта  548

•  Программа укладки плитки  509

•  Генератор лабиринта  565

•  Проверка числового ввода  524

•  HEX View  600

•  Физический маятник  528

•  Задача коммивояжера  560

 
скрыть


Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Как читать-писать в I-O порты 2



В Delphi 1 записывать и считывать из портов можно через глобальный массив 'ports'. Однако данная возможность отсутствует в '32-битном' Delphi.

Следующие две функции можно использовать в любой версии delphi:


function InPort(PortAddr:word): byte;
{$IFDEF WIN32} 
assembler; stdcall; 
asm 
  mov dx,PortAddr
  in al,dx
end;
{$ELSE}
begin
  Result := Port[PortAddr];
end;
{$ENDIF}

procedure OutPort(PortAddr:
          word; Databyte: byte);
{$IFDEF WIN32}
assembler; stdcall;
asm
  mov al,Databyte
  mov dx,PortAddr
  out dx,al 
end; 
{$ELSE} 
begin 
  Port[PortAddr] := DataByte; 
end; 
{$ENDIF}








Copyright © 2004-2022 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте   Facebook   Ссылка на Twitter   Ссылка на Telegram