![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
LPT: Что есть tlLPTx? [D6, Win95/98]
GydruS © (2002-07-23 08:50:00)Мастера, поделитесь пожалуйста своими отличными знаниями!
Есть исходник. Есть строка:
type
TLptType = (tlLPT1, tlLPT2, tlLPT3, tlLPT4, tlUserDefined);
При компиляции она проходит нормально.
А в справке на счёт этого ничего нет :(. Так же как и не помогает Find Declaration :(.
В дальнейшем мне нужно преобразовывать функции и процедуры. И вот мне не очень хочется менять всё это tlLPTx хозяйство, даже не зная, что оно из себя есть.
Большое спасибо!
GydruS (2002-07-23 10:09:00) [1]Ок. Тогда пока всё. :))
Спасибо за внимание и за помошь! :))))
MBo (2002-07-23 09:56:00) [2]да
GydruS (2002-07-23 09:46:00) [3]О... Всё, я это обошел :)) так:
function GetLptPortFromBios(PortNo: TLptType): word;
var PN : Integer;
begin
PN := ord(PortNo);
GetLptPortFromBiosA(PN);
end;
Is it Right?
MBo (2002-07-23 09:43:00) [4]GetLptPortFromBios(integer(p))
GydruS (2002-07-23 09:35:00) [5]Ok. Спасибо, что напомнили! (ларчик просто открывался :)) )
Тогда:
var p: TLptType;
AAdr: integer;
begin
...
p:=tlLPT1;
while ( GetLptPortFromBios(p) <> AAdr ) AND (p<tlUserDefined) do
inc(p);
...
end;
Как избавляться от
Incompatible types: "Integer" and "TLptType"?
На всякий случай вот обычный
function GetLptPortFromBios(PortNo: integer): word; assembler; stdcall;
asm
push es
push ebx
mov ebx, PortNo
shl ebx,1
mov ax,40h // Dos segment adress
mov es,ax
mov ax,ES:[ebx+6] // get port adress in 16Bit way :)
pop ebx
pop es
end;
Спасибо!
MBo (2002-07-23 08:59:00) [6]это просто перечислимый тип (см. Enumerated types)