Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.20;
Скачать: CL | DM;

Вниз

чтение порта принтера ....где ошибка моя ?   Найти похожие ветки 

 
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 вся ветка

Текущий архив: 2005.03.20;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.051 c
4-1107858087
xiters
2005-02-08 13:21
2005.03.20
SysTray


1-1110188134
Checist [root]
2005-03-07 12:35
2005.03.20
TEdit


14-1109230163
DelphiN!
2005-02-24 10:29
2005.03.20
Надежность сервера баз данных FireBird 1.5


4-1107454738
Artur
2005-02-03 21:18
2005.03.20
Может ли ехе...


1-1110020603
webpauk
2005-03-05 14:03
2005.03.20
Наследники