Форум: "WinAPI";
Текущий архив: 2005.03.20;
Скачать: [xml.tar.bz2];
Внизчтение порта принтера ....где ошибка моя ? Найти похожие ветки
← →
aha (2005-02-06 22:59) [0]читаю порт принтера под виндами 98 - почему то ерунда получается
procedure Tf1.SpeedButton19Click(Sender: TObject);
var
bi:byte;
begin
bi:= getbyte;
f1.caption:= inttostr(bi);
end;
function tf1.GetByte: byte;assembler;
var
temp:byte;
j:integer;
begin
asm
mov dx,$378
in al,dx
mov al,temp
end;
end;
← →
GanibalLector © (2005-02-06 23:33) [1]твой код будет работать только под 9х и все.
Рекомендую использовать АПИ ф-ции для работы с уст-вом.
З.Ы.регистр 378предназначен для записи выводимого на принтер байта данных. допускается чтение только что записанного байта. Шо ты читаешь?
← →
GanibalLector © (2005-02-06 23:41) [2]>mov al,temp
а это что? Тебе нужно наоборот из регистра в переменную.А ты что творишь???
← →
GanibalLector © (2005-02-06 23:46) [3]И что самое интересное...Получил ты байт с порта.И ???
asm
...
end;
Result:=temp;
> j:integer;
Зачем?
← →
GuAV © (2005-02-06 23:50) [4]GanibalLector © (06.02.05 23:41) [2]
а это что? Тебе нужно наоборот из регистра в переменную.А ты что творишь???
Это же и творит.
>function tf1.GetByte: byte;assembler;
> var
> temp:byte;
> j:integer;
>begin
>
>asm
>mov dx,$378
>in al,dx
>mov al,temp
>end;
> end;
Следует убрать begin...end.
← →
GanibalLector © (2005-02-07 00:08) [5]>Это же и творит.
Не-а. Нужно mov temp,al
← →
GuAV © (2005-02-07 00:17) [6]
> Не-а. Нужно mov temp,al
Наконец до меня дошло: ничего не нужно, в т.ч. сам temp.
← →
GanibalLector © (2005-02-07 00:36) [7]> ничего не нужно, в т.ч. сам temp.
Не понял.Это еще почему?
Я понимаю,что можно так :
asm
...
mov Result,al
end;
НО!Может чел,что-то творит потом еще со своей переменной.
← →
aha (2005-02-07 20:02) [8]насколько я знаю , есть же 5 входных сигралов идущие с принтера , вот я и хочу прочитать состояние своего дивайса используя эти входа ...
← →
begin...end © (2005-02-07 20:33) [9]> [4] GuAV © (06.02.05 23:50)
> Следует убрать begin...end.
За что?
:-)
← →
aha (2005-02-07 20:38) [10]убрал begin end - ничего не изменилось , может адрес другой должен быть ? не $378 ?
← →
aha (2005-02-07 21:31) [11]адрес возьми другой , дурень ( это я сам себе отвечаю :-) ) адрес то не 378 , а 379 ....
← →
GuAV © (2005-02-07 22:23) [12]function tf1.GetByte: byte;assembler;
var
temp:byte;
j:integer;
begin
asm
mov dx,$378 // or $379
in al,dx
end;
← →
GuAV © (2005-02-07 22:25) [13]begin...end © (07.02.05 20:33) [9]
> [4] GuAV © (06.02.05 23:50)
> Следует убрать begin...end.
За что?
:-)
:-)
Тебя так часто используют...
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.03.20;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.035 c