Главная страница
    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.045 c
1-1109918516
leonidus
2005-03-04 09:41
2005.03.20
Access violation at addres - случаи возникновения


1-1109825163
ТехникПТО
2005-03-03 07:46
2005.03.20
Шифрование данных


3-1108557114
Arazel
2005-02-16 15:31
2005.03.20
Как показать на DELPHI связаную таблицу?


3-1108552389
atruhin
2005-02-16 14:13
2005.03.20
Вопрос про репликацию данных


4-1107341470
alpet
2005-02-02 13:51
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский