Главная страница
    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.035 c
3-1108716191
msguns
2005-02-18 11:43
2005.03.20
Дата в IB


9-1101993643
Domowoi
2004-12-02 16:20
2005.03.20
DelphiX vs PowerDraw


1-1110181947
DSKalugin
2005-03-07 10:52
2005.03.20
событие "TForm.OnAfterShow"


1-1110174925
smok_red
2005-03-07 08:55
2005.03.20
Запрет на появление дубликата дочернего окна в MDI приложение


1-1110189099
Checist [root]
2005-03-07 12:51
2005.03.20
Наседник TComboBox





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