Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.561 c
14-1109576048
DVM
2005-02-28 10:34
2005.03.20
Помогите потестировать скрипт PHP (разбор HTTP_USER_AGENT)


1-1109661374
ANB
2005-03-01 10:16
2005.03.20
Парсер XML


6-1105613964
Jungle
2005-01-13 13:59
2005.03.20
Запуск прогаммы на удалённом компьютере


3-1108976389
BeginerEmpty
2005-02-21 11:59
2005.03.20
изменения значения IBX


14-1109184070
07BB:080Dh
2005-02-23 21:41
2005.03.20
Скоро в армию. Как быть?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский