Rozdział 21


Drukarka ZX Printer

 

Podsumowanie

Uwaga: żadne z tych poleceń nie należy do standardu języka BASIC, chociaż LPRINT jest używane przez niektóre inne komputery.

 

File:Sinclair.zx.thermal.printer.jpg

 

Jeśli posiadasz drukarkę ZX Printer, będziesz miał dla niej kilka instrukcji. Ten rozdział pokrywa polecenia języka BASIC, które są potrzebne, aby zmusić ją do pracy.

Pierwsze dwa, LPRINT i LLIST, są takie same jak PRINT i LIST, lecz zamiast ekranu telewizyjnego wykorzystują one drukarkę. (L jest wypadkiem historycznym. Gdy wynaleziono BASIC, zwykle używał on elektrycznej maszyny do pisania zamiast telewizora, więc polecenie PRINT znaczyło dokładnie "drukuj". Jeśli potrzebne było mnóstwo wydruków, używało się bardzo szybkiej drukarki wierszowej podłączonej do komputera, a polecenie LPRINT oznaczało "Line printer PRINT" — "DRUK na drukarce Wierszowej".)

Dla przykładu, wypróbuj ten program

 

10 LPRINT "Ten program",'
20 LLIST
30 LPRINT ' "wypisuje zestaw znakow." '
40 FOR n=32 to 255
50 LPRINT CHR$ n;
60 NEXT n

 

Trzecie polecenie, COPY, drukuje kopię ekranu telewizyjnego. Przykładowo, wpisz LIST, aby otrzymać wydruk na ekranie powyższego programu i wpisz

 

COPY

 

Zauważ, że COPY nie działa z listingami, które komputer wypisuje automatycznie, ponieważ są one wymazywane z ekranu, gdy zostaje wykonany jakiś rozkaz. Musisz albo najpierw użyć LIST, albo użyć LLIST i darować sobie COPY.

 

Gdy drukarka drukuje, zawsze możesz ją zatrzymać, naciskając klawisz BREAK (CAPS SHIFT i SPACE).

 

Jeśli każesz wykonać powyższe polecenia bez podłączonej drukarki, to informacja nie zostanie nigdzie przesłana, a komputer przejdzie do wykonywania następnego polecenia.

 

Wypróbuj to:

 

10 FOR n=31 TO 0 STEP -1
20 PRINT AT 31-n,n; CHR$ (CODE "0"+n);
30 NEXT n

 

Zobaczysz wzór znaków idący w dół po przekątnej z lewego górnego narożnika aż do osiągnięcia spodu ekranu, gdy program wyświetli raport 5 Out of screen (5 Poza ekranem).

Teraz zmień AT 31-n,n w wierszu 20 na TAB n. Program da identyczny efekt jak poprzednio — jedynie raport błędu zostanie zastąpiony pytaniem o przewinięcie treści ekranu.

Teraz zmień polecenie PRINT w wierszu 20 na LPRINT. Tym razem nie pojawi się scroll?, które nie powinno się zdarzyć z drukarką, a wzór będzie dalej kontynuowany aż do cyfry 0.

 

 

Teraz zmień TAB n na AT 31-n,n, wciąż używając LPRINT. Tym razem otrzymasz jedynie pojedynczy wiersz znaków. Powodem tej różnicy jest to, że wyjście z LPRINT nie jest drukowane bezpośrednio, lecz zostaje przechowane w buforze o pojemności jednego wiersza ekranu, który zostanie w odpowiednim czasie przesłany do drukarki. Drukowanie odbywa się:

  (i) gdy ten bufor jest pełny,

 (ii) po poleceniu LPRINT, które nie kończy się przecinkiem lub średnikiem,

(iii) gdy przecinek, apostrof lub element TAB wymaga nowego wiersza

(iv) na końcu programu, jeśli zostało coś niewydrukowane.

 

Punkt (iii) wyjaśnia, dlaczego nasz program z TAB działa w taki sposób, jak działa. Jeśli chodzi o AT, to numer wiersza jest ignorowany, a pozycja LPRINT (jak pozycja PRINT, lecz dla drukarki zamiast dla ekranu telewizyjnego) jest zmieniana na numer kolumny. Element AT nigdy nie powoduje wysłania wiersza na drukarkę.

 

Ćwiczenie

1. Zrób drukowany wykres funkcji SIN przez uruchomienie programu z Rozdziału 17 i wykorzystanie COPY.

 

 


   I Liceum Ogólnokształcące   
im. Kazimierza Brodzińskiego
w Tarnowie

©2018 mgr Jerzy Wałaszek

Dokument ten rozpowszechniany jest zgodnie z zasadami licencji
GNU Free Documentation License.

Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl

W artykułach serwisu są używane cookies. Jeśli nie chcesz ich otrzymywać,
zablokuj je w swojej przeglądarce.
Informacje dodatkowe