Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Фукция асемблера? [D6, XP]


иван8511 ©   (2006-08-28 19:08:00) 

Прочел статью, как печатать на матричном принтере. Типа
ОТкройте файл типа TextFile и пишите в него напрямую:

var
 Lst: TextFile;
begin
 AssignFile(Lst, 'LPT1');
 Rewrite(Lst);
 WriteLn(Lst, 'Здравствуй, мир!');
 Close(Lst);
end.

Если вы планируете посылать на принтер управляющие коды, вызывайте следующую функцию немедленно после перезаписи файла:

procedure SetBinaryMode (var F: Text);  assembler;
asm
 mov ax,$4400
 les di,F
 mov bx,word ptr es:[di]
 int $21
 or dl,$20
 xor dh,dh
 mov ax,$4401
 int $21
end;
С первой частью все понятно, а вот вторая трудно. Подскажите как использовать нижнюю функцию, где она должна быть, как ее описывать?


Pavia   (2006-08-28 23:24:00) [1]

Если вы планируете посылать на принтер управляющие коды, то скоре всего надо открыть файл как F:File of Byte;

> где она должна быть, как ее описывать?


> вызывайте следующую функцию немедленно после перезаписи
> файла:

Тобишь после Rewrite

> procedure SetBinaryMode (var F: Text);  assembler;
> asm
>  mov ax,$4400
>  les di,F
>  mov bx,word ptr es:[di]
>  int $21
>  or dl,$20
>  xor dh,dh
>  mov ax,$4401
>  int $21
> end;

Функция досовская, преднозначена для паскаля. Более того использует не документированный формат переменной F:Text;


guav   (2006-08-28 21:06:00) [2]

> вторую не знаю куда набирать

Тебе же сказали, не будет она работать в [D6, XP] .


иван8511   (2006-08-28 20:44:00) [3]

Первая часть кода работает без проблемм,
var
Lst: TextFile;
begin
AssignFile(Lst, 'LPT1');
Rewrite(Lst);
WriteLn(Lst, 'Здравствуй, мир!');
Close(Lst);
end.

а вот вторую не знаю куда набирать


guav   (2006-08-28 20:04:00) [4]

> С первой частью все понятно, а вот вторая трудно. Подскажите
> как использовать нижнюю функцию, где она должна быть, как
> ее описывать?


Эта функция написана для досовского паскаля и устарела.

Дай ссылку на статью.

Код в той ветке не работает или не проверял ?


Fay   (2006-08-28 19:21:00) [5]

2 иван8511   (28.08.06 19:08)
> Подскажите как использовать нижнюю функцию
Никак. Забудь. CreateFile и фсё.


Наверх

Титульная страница Поиск, карта сайта Написать письмо