René Allan Larsen wrote:
> In article <cH8sb.4540$lL2.2119@news.get2net.dk>, Calle. wrote:
>> Thor wrote:
>>> Du kan bla med VicPort:
>> det ser ud til at det koster 50$, det må kunne gøres freeware
>
> Du kan bruge ZLPortIO <URL:
http://www.specosoft.com>. Den bruges sådan
> her:
> Data := zlioportread(PortAddress, ZLIO_BYTE);
> eller:
> Data := portreadb(PortAddress);
>
> Hvis du nu laver en ekstra unit til at indkapsle disse kald af
> zlioportread()/portreadb() sådan her:
>
> interface
> type
> TPort = class
> private
> procedure SetPort(PortAddress : Word; Data : Byte);
> function GetPort(PortAddress : Word) : Byte;
> public
> property RPort[PortAddress : Word] : Byte
> read GetPort write SetPort; default;
> end;
> var
> Port : TPort;
>
> implementation
> uses zlportio; // <==
>
> function TPort.GetPort(PortAddress : Word) : Byte;
> begin
> Result := zlioportread(PortAddress, ZLIO_BYTE);
> end;
>
> procedure TPort.SetPort(PortAddress : Word; Data : Byte);
> begin
> zlioportwrite(PortAddress, ZLIO_BYTE, Data);
> end;
>
> initialization
> Port := TPort.Create;
> finalization
> Port.Free;
> end.
>
> får du noget, der ligner Borland/Turbo Pascal's PORT til forveksling:
> Data := port[PortAddress];
>
> (Ovenstående ide med klassen TPort fik jeg fra SIMPORT, som dog brugte
> BASM til at tilgå portene og derfor ikke virker under Windows NT
> lignende OS.)
>
virker det både i 98,NT, XP, 2000?
--
Calle