« Ogólny spis treści »    « Spis treści w układzie oryginału »    « Odmienności GW-Basica »
  Rozdziały:
Indeks alfabetyczny
Słowa kluczowe, według ich zadań:
Sterowanie przebiegiem programu
Deklaracja stałych i zmiennych, tablice
Definiowanie i wywoływanie procedur i funkcji
Wejście/wyjście urządzeń
Wyświetlanie grafiki
Komendy plikowe DOSa, środowisko DOSa
Wejście/wyjście na plik

Zarządzanie pamięcią
Operacje na łańcuchach
Operacje na liczbach
Ustawianie pułapek zdarzeń i błędów
Operatory boolowskie
Typy danych
Dźwięk
Pozostałe słowa kluczowe


Indeks

A | B | C | D | E | F | G | H | I | K | L | M | N | O | P | R | S | T | U | V | W | X | Z

       ABS      funkcja                   APPEND słowo kluczowe
 ABSOLUTE słowo kluczowe            AS     słowo kluczowe
       ACCESS   słowo kluczowe            ASC    funkcja
       AND      operator boolowski        ATN    funkcja
 ANY      słowo kluczowe            Atrybuty i wartości koloru
↑ Alfabet

       BASE    słowo kluczowe             BLOAD  polecenie
       Basic Character Set                Boolean Operators
       BEEP    polecenie                  BSAVE  polecenie
 BINARY  słowo kluczowe
↑ Alfabet

       CALL    polecenie                  COLOR  polecenie
 CALL ABSOLUTE polecenie            COM    polecenie
 CASE    słowo kluczowe             COMMON polecenie
       CDBL    funkcja              CONST  polecenie
       CHAIN   polecenie                  COS    funkcja
       CHDIR   polecenie                  CSNG   funkcja
       CHR$    funkcja                    CSRLIN funkcja
       CINT    funkcja                    CVD    funkcja
       CIRCLE  polecenie            CVDMBF funkcja
       CLEAR   polecenie                  CVI    funkcja
 CLNG    funkcja              CVL    funkcja
       CLOSE   polecenie                  CVS    funkcja
       CLS     polecenie            CVSMBF funkcja
↑ Alfabet

       DATA    polecenie            DEFLNG polecenie
       Dane - typy danych                 DEFSNG polecenie
       DATE$   funkcja                    DEFSTR polecenie
       DATE$   polecenie                  DIM    polecenie
 DECLARE polecenie            DO...LOOP polecenie
       DEF FN  polecenie                  DOUBLE słowo kluczowe
       DEF SEG polecenie                  DRAW   polecenie
       DEFDBL  polecenie            $DYNAMIC metapolecenie
       DEFINT  polecenie
↑ Alfabet

       ELSE    słowo kluczowe             EQV    operator boolowski
 ELSEIF  słowo kluczowe             ERASE  polecenie
       Ekran:                             ERDEV  funkcja
             tryby                        ERDEV$ funkcja
             kompatybilność               ERL    funkcja
       END     polecenie                  ERR    funkcja
       ENVIRON polecenie                  ERROR  polecenie
       ENVIRON$ funkcja             EXIT   polecenie
       EOF     funkcja                    EXP    funkcja
↑ Alfabet

       FIELD   polecenie                  FOR...NEXT polecenie
 FILEATTR funkcja                   FRE    funkcja
       FILES   polecenie            FREEFILE funkcja
       FIX     funkcja              FUNCTION polecenie
↑ Alfabet

       GET (File I/O) polecenie           GOSUB  polecenie
       GET (Graphics) polecenie           GOTO   polecenie
↑ Alfabet

       HEX$    funkcja
↑ Alfabet

       IF...THEN...ELSE polecenia         INSTR  funkcja
       IMP     operator                   INT    funkcja
       INKEY$  funkcja                    INTEGER słowo kluczowe
       INP     funkcja                    IOCTL  polecenie
       INPUT   polecenie                  IOCTL$ funkcja
       INPUT$  funkcja              IS     słowo kluczowe
↑ Alfabet

       KEY (przypisanie) polecenie        KILL   polecenie
       KEY (zdarzenia)   polecenie        Kolor - atrybuty i wartości
       Klawisze użytkownika - definiowanie
↑ Alfabet

 LBOUND  funkcja                    LOCK...UNLOCK polecenia
 LCASE$  funkcja                    LOF    funkcja
       LEFT$   funkcja                    LOG    funkcja
       LEN     funkcja              LONG   słowo kluczowe
       LET     polecenie            LOOP   słowo kluczowe
       LINE (grafika) polecenie           LPOS   funkcja
       LINE INPUT polecenie               LPRINT polecenie
       LIST    słowo kluczowe             LPRINT USING polecenie
       LOC     funkcja                    LSET   polecenie
       LOCATE  polecenie            LTRIM$ funkcja
↑ Alfabet

       MID$    funkcja                    MKI$   funkcja
       MID$    polecenie            MKL$   funkcja
       MKD$    funkcja                    MKS$   funkcja
       MKDIR   polecenie            MKSMBF$ funkcja
 MKDMBF$ funkcja                    MOD    operator arytmet.
↑ Alfabet

       NAME    polecenie                  NOT    operator boolowski
       NEXT    słowo kluczowe
↑ Alfabet

       OCT$    funkcja                    ON TIMER polecenie
       OFF     słowo kluczowe             ON...GOSUB polecenie
       ON COM  polecenie                  ON...GOTO polecenie
       ON ERROR polecenie                 OPEN   polecenie
       ON      słowo kluczowe             OPEN COM polecenie
       ON KEY  polecenie                  OPTION BASE polecenie
       ON PEN  polecenie                  OR     operator boolowski
       ON PLAY polecenie                  OUT    polecenie
       ON STRIG polecenie                 OUTPUT słowo kluczowe
↑ Alfabet

       PAINT   polecenie                  POINT  funkcja
       PALETTE polecenia                  POKE   polecenie
       PCOPY   polecenie                  POS    funkcja
       PEEK    funkcja                    PRESET polecenie
       PEN     funkcja                    PRINT  polecenie
       PEN     polecenie                  PRINT USING polecenie
       PLAY    funkcja                    PSET   polecenie
       PLAY (muzyka) polecenie            PUT (plik I/O) polecenie
       PLAY (zdarzenia) polecenia         PUT (grafika) polecenie
       PMAP    funkcja
↑ Alfabet

       RANDOM  słowo kluczowe             RETURN polecenie
       RANDOMIZE polecenie                RIGHT$ funkcja
       READ    polecenie                  RMDIR  polecenie
 REDIM   polecenie                  RND    funkcja
       REM     polecenie                  RSET   polecenie
       RESET   polecenie            RTRIM$ funkcja
       RESTORE polecenie                  RUN    polecenie
       RESUME  polecenie
↑ Alfabet

       SCREEN  funkcja                    SQR    funkcja
       SCREEN  polecenie            STATIC polecenie
 SEEK    funkcja              $STATIC metapolecenie
 SEEK    polecenie                  STEP   słowo kluczowe
 SELECT CASE polecenie              STICK  funkcja
       SGN     funkcja                    STOP   polecenie
 SHARED  polecenie                  STR$   funkcja
       SHELL   polecenie                  STRIG  funkcja
       SIN     funkcja                    STRIG  polecenia
       SINGLE  słowo kluczowe             STRING słowo kluczowe
 SLEEP   polecenie                  STRING$ funkcja
       SOUND   polecenie            SUB    polecenie
       SPACE$  funkcja                    SWAP   polecenie
       SPC     funkcja                    SYSTEM polecenie
↑ Alfabet

       TAB     funkcja                    TO     słowo kluczowe
       TAN     funkcja                    TROFF  polecenie
       THEN    słowo kluczowe             TRON   polecenie
       TIME$   funkcja                    Tryby ekranowe
       TIME$   polecenie                  Tryby otwierania plików
       TIMER   funkcja              TYPE   polecenie
       TIMER   polecenia                  Typy danych w QB
↑ Alfabet

 UBOUND  funkcja                  UNTIL  słowo kluczowe
 UCASE$  funkcja                        USING  słowo kluczowe
       UNLOCK  polecenie
↑ Alfabet

       VAL     funkcja              VARSEG funkcja
       VARPTR  funkcja                    VIEW   polecenie
       VARPTR$ funkcja                    VIEW PRINT polecenie
↑ Alfabet

       WAIT    polecenie                  WIDTH  polecenia
       Wartości i atrybuty koloru         WINDOW polecenie
       WEND    słowo kluczowe             WRITE  polecenie
       WHILE...WEND polecenie
↑ Alfabet

       XOR     operator boolowski

↑ Alfabet

       Zestaw znaków QBasica
       Znaki formatujące dla PRINT USING

↑ Alfabet
Przekład: D.A.M. Deger (Damian Gawrych) lipiec - sierpień 2006



« Ogólny spis treści »    « Indeks »

  Słowa kluczowe, zgrupowane według ich zadań

Zadanie

Słowa kluczowe

Sterowanie przebiegiem programu CHAIN, DO...LOOP, END, EXIT, FOR...NEXT, IF...THEN...ELSE, GOSUB...RETURN, GOTO, ON...GOSUB, ON...GOTO, SELECT CASE, SHELL, STOP, SYSTEM, WHILE...WEND

Deklaracja stałych i zmiennych, tablice COMMON, CONST, DATA, DEFINT, DEFLNG, DEFSNG, DEFDBL, DEFSTR, DIM, ERASE, OPTION BASE, READ, REDIM, REM, RESTORE, SWAP, TYPE...END TYPE, $STATIC, $DYNAMIC, LBOUND, UBOUND, VARPTR, VARSEG

Definiowanie i wywoływanie procedur i funkcji CALL, CALL ABSOLUTE, DEF FN, DECLARE, EXIT, FUNCTION, RUN, SHARED, STATIC, SUB

Wejście/wyjście urządzeń CLS, CSRLIN, INKEY$, INP, INPUT, IOCTL, IOCTL$, KEY (Przypisanie), LINE INPUT, LOCATE, LPOS, LPRINT, LPRINT USING, OPEN COM, OUT, POS, PRINT, PRINT USING, funkcja SCREEN, SPC, TAB, WAIT, WIDTH

Wyświetlanie grafiki CIRCLE, COLOR, GET (grafika), LINE, PAINT, PALETTE, PCOPY, PMAP, POINT, PRESET, PSET, PUT (grafika), polecenie SCREEN, VIEW, VIEW PRINT, WINDOW Atrybuty i wartości koloru Tryby ekranowe (Screen modes) Tablice i kompatybilnośc obrazów ekranu

Komendy plikowe DOSa, środowisko DOSa CHDIR, DATE$, ENVIRON$, ENVIRON, FILES, KILL, MKDIR, NAME, RMDIR, SHELL, TIME$

Wejście/wyjście na plik ACCESS, APPEND, BINARY, CLOSE, EOF, FILEATTR, FREEFILE, GET (plik I/O), INPUT, INPUT$, LINE INPUT, LOC, LOCK, LOF, OPEN, OUTPUT, PUT (plik I/O), RANDOM, RESET, funkcja SEEK, polecenie SEEK, UNLOCK, WRITE

Zarządzanie pamięcią BSAVE, BLOAD, DEF SEG, CLEAR, FRE, PEEK, POKE

Operacje na łańcuchach ASC, CHR$, HEX$, INSTR, LCASE$, LEFT$, LEN, LSET, LTRIM$, funkcja MID$, MID$ (polecenie), OCT$, RIGHT$, RSET, RTRIM$ SPACE$, STR$, STRING$, UCASE$, VAL

Operacje na liczbach ABS, ATN, CDBL, CINT, CLNG, COS, CSNG, CVI, CVL, CVS, CVD, CVDMBF, CVSMBF, EXP, INT, LOG, MKI$, MKL$, MKS$, MKD$, MOD, RANDOMIZE, RND, SGN, SIN, SQR, TAN, funkcja TIME$

Ustawianie pułapek zdarzeń i błędów COM, ERDEV, ERDEV$, ERL, ERR, ERROR, KEY (Event Trapping), ON COM, ON ERROR, ON KEY, ON PEN, ON PLAY, ON STRIG ON TIMER, PEN (zdarzenia), PEN (funkcja), PLAY (Event Trapping), RESUME, SLEEP, STICK, STRIG, funkcja TIMER, polecenie TIMER, TRON, TROFF, VARPTR$

Operatory boolowskie (logiczne) NOT, AND, OR, XOR, EQV, IMP,

Typy danych INTEGER, LONG, SINGLE, DOUBLE, STRING

Dźwięk (PC speaker) BEEP, funkcja PLAY, polecenie PLAY (muzyka), SOUND

Zobacz także:

PLAY ON, PLAY OFF, PLAY STOP, VARPTR$

Pozostałe słowa kluczowe ACCESS, APPEND, BINARY, INPUT, OUTPUT, RANDOM, AS, FIELD, LET, NEXT, OFF, ON, KEY (definiowanie klawiszy użytkownika), tryby otwarcia plików, funkcja PEN, RESET, STEP, TO, USING
↑ Alfabet   Rozdział
Przekład: D.A.M. Deger (Damian Gawrych) lipiec 2006



« Ogólny spis treści »    « Indeks »


 Polecenia sterujące  przebiegiem programu 

CHAIN, DO...LOOP, END, EXIT, FOR...NEXT, IF...THEN...ELSE, GOSUB...RETURN, GOTO, ON...GOSUB, ON...GOTO, SELECT CASE, SHELL, STOP, SYSTEM, WHILE...WEND

 CHAIN

Przekazuje sterowanie z bieżącego programu do innego programu w Basicu.

CHAIN filespec$

    • filespec$    Nazwa programu, do którego przekazywane jest sterowanie.

Zobacz także:    CALL    COMMON    RUN    Różnice w porównaniu z BASICA

Przykład:
    'Zakładając, że program TEST.BAS jest w katalogu \DOS:
    CHAIN "C:\DOS\TEST.BAS"
  MNEMOTECHNIKA: CHAIN - łańcuch (programów nawzajem się wywołujących).
↑ Alfabet   Rozdział

 DO ... LOOP


Powtarza blok poleceń, gdy warunek jest prawdziwy, lub do chwili aż warunek
stanie się prawdziwy.

DO [{WHILE | UNTIL} warunek]
    [blok_poleceń]
LOOP


DO
    [blok_poleceń]
LOOP [{WHILE | UNTIL} warunek]

    • warunek      Wyrażenie numeryczne, które Basic interpretuje jako
                   prawdę (nie-zero) lub fałsz (zero).

Zobacz także:    EXIT    FOR...NEXT    WHILE...WEND

Przykład:
    i% = 0
    PRINT "Wartosc i% na poczatku petli wynosi  "; i%
    DO WHILE i% < 10
        i% = i% + 1
    LOOP
    PRINT "Wartosc i% na koncu petli wynosi  "; i%

Wartosc i% na poczatku petli wynosi 0
Wartosc i% na koncu petli wynosi 10



  MNEMOTECHNIKA: DO - rób, wykonuj; WHILE - podczas gdy; UNTIL - aż do; LOOP - pętla.
↑ Alfabet   Rozdział

 END


Kończy program, procedurę, blok lub typ danych użytkownika.

END [{DEF | FUNCTION | IF | SELECT | SUB | TYPE}]
DEF         Kończy wielowierszową definicję funkcji DEF FN.
    • FUNCTION    Kończy definicję procedury FUNCTION.
    • IF          Kończy blok polecenia IF...THEN...ELSE.
    • SELECT      Kończy blok SELECT CASE.
    • SUB         Kończy procedurę SUB.
    • TYPE        Kończy definicję typu danych użytkownika.

    • Jeśli żaden argument nie jest dołączony, END kończy program i zamyka
      wszystkie pliki

Zobacz także:    DEF FN    FUNCTION    IF...THEN...ELSE    SELECT CASE

Przykład:
    PRINT "Game over."
    END

Game over










Press any key to continue
  MNEMOTECHNIKA: END - koniec
↑ Alfabet   Rozdział

 EXIT


Powoduje wyjście z pętli DO lub FOR, procedury FUNCTION lub SUB, albo
funkcji DEF FN.

EXIT {DEF | DO | FOR | FUNCTION | SUB}
DEF         - z funkcji DEF FN
    • DO          - z pętli DO
    • FOR         - z pętli FOR
    • FUNCTION    - z procedury FUNCTION
    • SUB         - z procedury SUB SUB

  Zobacz także:  DEF FN    DO...LOOP    FOR...NEXT    FUNCTION    SUB

Przykład:
    i% = 0
    DO
        i% = i% + 1
        IF i% = 500 THEN EXIT DO
    LOOP
    PRINT "Wyjscie przez EXIT przy "; i%

Wyjscie przez EXIT przy 500





  MNEMOTECHNIKA: EXIT - wyjście
↑ Alfabet   Rozdział

 FOR ... NEXT


Powtarza blok poleceń wyszczególnioną liczbę razy.

FOR licznik = start TO end [STEP increment]
    [blok_poleceń]
NEXT [licznik [,licznik]...]
licznik          Zmienna numeryczna użyta jako licznik powtórzeń pętli.
    • start i end      Początkowa i końcowa wartość licznika.
    • increment        Wielkość, o jaką zwiększany jest licznik po każdym
                       przebiegu pętli.

Zobacz także:    DO...LOOP    EXIT    WHILE...WEND

Przykład:
    FOR i% = 1 TO 15
        PRINT i%
    NEXT i%
    FOR i% = 7 to -6 STEP -3
        PRINT i%
    NEXT i%

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
7
4
1
-2
-5

Press any key to continue
  MNEMOTECHNIKA: FOR i = 1 TO 100: NEXT i - DLA i = 1 DO 100: (weź) NASTĘPNE I
↑ Alfabet   Rozdział

 IF ... THEN ... ELSE

Wykonuje polecenie lub blok poleceń zależnie od określonych warunków.

IF warunek1 THEN
    [blok_poleceń-1]
[ELSEIF warunek2 THEN
    [blok_poleceń-2]]...
[ELSE
    [blok_poleceń-n]]
END IF

IF warunek THEN polecenia [ELSE polecenia]
warunek1          Jakieś wyrażenie, które może być zinterpretowane
      warunek2          jako prawda (nie-zero) lub fałsz (zero)

    • blok_poleceń-1    Jedno lub więcej poleceń, w jednej lub więcej linii.
      blok_poleceń-2
      blok_poleceń-n

    • polecenia         Jedno lub więcej poleceń, oddzielonych dwukropkami.


 Zobacz także:   ON...GOSUB   ON...GOTO    SELECT CASE

Przykład:
    INPUT "1 czy 2? ", i%
    IF i% = 1 OR i% = 2 THEN
        PRINT "OK"
    ELSE
        PRINT "Poza zakresem"
    END IF

1 czy 2? 1
OK
1 czy 2? 2
OK
1 czy 2? 3
Poza zakresem




  MNEMOTECHNIKA: IF...THEN...ELSE - jeżeli... to..., inaczej ... (jeszce coś innego)
↑ Alfabet   Rozdział

 GOSUB ... RETURN


Wychodzi do podprogramu i wraca z podprogramu.

GOSUB line1
.
.
.
RETURN [line2]
line1    Etykieta lub numer linii pierwszej linii podprogramu.
    • line2    Etykieta lub numer linii, dokąd ma nastąpić powrót
                    z podprogramu.

    • Jeśli nie umieścisz etykiety lub numeru linii w poleceniu RETURN,
      program podejmuje wykonywanie od polecenia następującego po GOSUB
      (przy wywoływaniu podprogramu), lub od miejsca, gdzie nastąpiło
      zdarzenie (przy obsłudze zdarzeń). Zob. słowo ON dla informacji
      o poleceniach obsługujących zdarzenia.

    • Polecenia SUB i CALL stanowią lepszą alternatywę dla podprogramów
      GOSUB.

 Zobacz także:   CALL    Słowo kluczowe ON    ON...GOSUB    SUB

Przykład:
    FOR i% = 1 TO 20
        GOSUB Kwadrat
    NEXT i%
    END

    Kwadrat:
    PRINT i%, i% * i%
    RETURN

 1             1
 2             4
 3             9
 4             16
 5             25
 6             36
 7             49
 8             64
 9             81
 10            100
 11            121
 12            144
 13            169
 14            196
 15            225
 16            256
 17            289
 18            324
 19            361
 20            400

Press any key to continue
  MNEMOTECHNIKA: GO SUB - idż pod; RETURN - powrót, wróć
↑ Alfabet   Rozdział

 GOTO


Przekazuje wykonywanie programu do określonej linii.

GOTO line

    • line    Etykieta lub numer linii do następnego wykonania.

    • DO...LOOP, SELECT CASE, IF...THEN...ELSE, SUB, i FUNCTION zapewniają
      lepsze drogi sterowania przebiegiem programu.
    • GOTO jest także używane jako słowo kluczowe w poleceniu ON ERROR.

Przykład

Zobacz także:    DO...LOOP    FUNCTION    IF...THEN...ELSE
                 ON ERROR     ON...GOTO   SELECT CASE   SUB

  MNEMOTECHNIKA: GO TO - idź do
↑ Alfabet   Rozdział

 ON ... GOSUB,    ON ... GOTO


Przekazuje sterowanie do jednego z kilku miejsc, w zależności od wartości
wyrażenia.

ON wyrażenie% GOSUB lista_linii
ON wyrażenie% GOTO lista_linii
wyrażenie%     Wyrażenie z zakresu 0 do 255.
    • lista_linii    Zestaw etykiet lub numerów linii. Jeśli wartością
                     wyrażenia jest 1, program idzie do pierwszej linii
                     na liście; jeśli 2 - do drugiej linii, itd.

    • SELECT CASE dostarcza lepszej drogi do wykonania wielokrotnego
      odgałęzienia.

  Zobacz także:  Słowo kluczowe ON    SELECT CASE

Przykład:
    FOR i% = 1 TO 2
        ON i% GOSUB Jeden, Dwa
    NEXT i%
    END

    Jeden: PRINT "Jeden"
    RETURN
    Dwa: PRINT "Dwa"
    RETURN

Jeden
Dwa



↑ Alfabet   Rozdział

 SELECT  CASE


Wykonuje jeden z kilku bloków poleceń w zależności od wartości wyrażenia.

SELECT CASE wyrażenie_testowe
CASE lista_wyrażeń1
  [blok_poleceń-1]
[CASE lista_wyrażeń2
  [blok_poleceń-2]]...
[CASE ELSE
  [blok_poleceń-n]]
END SELECT
wyrażenie_testowe  Jakieś wyrażenie numeryczne lub łańcuchowe.
    • lista_wyrażeń1     Jedno lub więcej wyrażeń odpowiadających wyrażeniu
      lista_wyrażeń2     testowanemu
           Słowo IS musi stać przed operatorem relacji, jeśli jest on użyty
           w wyrażeniu.
    • blok_poleceń-1     Jedno lub więcej poleceń w jednej lub wielu liniach.
      blokpoleceń-2
      blok_poleceń-n

    • Argumenty listy wyrażeń mogą mieć którąkolwiek z następujących
      form, lub ich kombinacji, oddzielonych przecinkami:

      wyrażenie[,wyrażenie]...
      wyrażenie TO wyrażenie
      IS operator_relacji wyrażenie

          wyrażenie          Jakiekolwiek wyrażenie numeryczne lub łańcuchowe
                             zgodne z wyrażeniem testowym.
          operator_relacji   Jeden z następujących operatorów relacji:
                             <, <=, >, >=, <>, lub =.

 Zobacz także:   IF...THEN...ELSE

Przykład:
    INPUT "Wpisz akceptowany poziom ryzyka(1-5): ", Razem
    SELECT CASE Razem

        CASE IS >= 5
            PRINT "Maksimum ryzyka i potencjalnych zysków."
            PRINT "Wybierz inwestowanie w akcje."

        CASE 2 TO 4
            PRINT "Ryzyko i potencjalne zyski umiarkowane do wysokich."
            PRINT "Zainwestuj w fundusz powierniczy."

        CASE 1
            PRINT "Bez ryzyka, mały zysk."
            PRINT "Wybierz bank."

    END SELECT

Wpisz akceptowany poziom ryzyka(1-5): 5
Maksimum ryzyka i potencjalnych zysków.
Wybierz inwestowanie w akcje.
Wpisz akceptowany poziom ryzyka(1-5): 4
Ryzyko i potencjalne zyski umiarkowane do wysokich.
Zainwestuj w fundusz powierniczy.
Wpisz akceptowany poziom ryzyka(1-5): 3
Ryzyko i potencjalne zyski umiarkowane do wysokich.
Zainwestuj w fundusz powierniczy.
Wpisz akceptowany poziom ryzyka(1-5): 2
Ryzyko i potencjalne zyski umiarkowane do wysokich.
Zainwestuj w fundusz powierniczy.
Wpisz akceptowany poziom ryzyka(1-5): 1
Bez ryzyka, mały zysk.
Wybierz bank.


  MNEMOTECHNIKA: SELECT CASE - wybierz przypadek
↑ Alfabet   Rozdział

 SHELL


Zawiesza wykonywanie programu w Basicu na czas uruchomienia komendy DOSa
lub pliku wsadowego.

SHELL [łańcuch_komendy$]

    • łańcuch_komendy$    Nazwa komendy DOSa lub pliku wsadowego.

    • Program Basica wznowi się, gdy zakończy się działanie komendy DOSa
      lub pliku wsadowego.
• Jeżeli opuścisz łańcuch komendy, SHELL wywołuje środowisko DOSa i wyświetla jego znak zachęty. Zastosuj wtedy komendę EXIT, aby wznowić program w Basicu. Przykład: SHELL "DIR"

 Wolumin w stacji dysków A nie ma etykiety
 Numer seryjny woluminu: 0A31-11F7
 Katalog A:\

README   TXT   60 646 94.05.31 6:22 README.TXT
REMLINE  BAS   12 314 94.05.31 6:22 REMLINE.BAS
QBASIC   EXE  194 309 93.09.30 6:20 QBASIC.EXE
QBASIC   HLP  130 881 93.09.30 6:20 QBASIC.HLP
         4 plik(ów) 398 150 bajtów
         0 katalog(ów) 1 058 304 bajtów wolnych






  MNEMOTECHNIKA: SHELL - muszla, łupina, tu: otoczka (środowisko) DOSa
↑ Alfabet   Rozdział

 STOP


Zatrzymuje program.

STOP

    • Słowo kluczowe STOP także zawiesza wychwytywanie zdarzeń
      w następujących poleceniach:

      COM, ON COM      KEY, ON KEY         PEN, ON PEN
      PLAY, ON PLAY    STRIG, ON STRIG     TIMER, ON TIMER

  Zobacz także:   END   SYSTEM

Przykład:
    FOR i% = 1 TO 10
        PRINT i%
        IF i% = 5 THEN STOP     'STOP pauses; F5 Continues.
    NEXT i%

Działanie polecenia STOP
↑ Alfabet   Rozdział

 SYSTEM


Zamyka wszystkie otwarte pliki i zwraca sterowanie do systemu operacyjnego.

SYSTEM

Zobacz także:    END    STOP


↑ Alfabet   Rozdział

 WHILE ... WEND


Wykonuje serie poleceń tak długo, jak długo określony warunek jest prawdziwy.

WHILE warunek
.
.
.
WEND

    • warunek      Wyrażenie numeryczne, które Basic interpretuje jako
                   prawdę (nie-zero) lub fałsz (zero).

    • DO...LOOP stanowi lepszy sposób wykonywania poleceń w pętlach.


 Zobacz także:   DO...LOOP    FOR...NEXT


  MNEMOTECHNIKA: WHILE - podczas gdy; WEND - WHILE END - koniec WEND
↑ Alfabet   Rozdział
Przekład: D.A.M. Deger (Damian Gawrych) lipiec 2006



« Ogólny spis treści »    « Indeks »


  Deklaracja stałych i zmiennych, tablice
 

COMMON, CONST, DATA, DEFINT, DEFLNG, DEFSNG, DEFDBL, DEFSTR, DIM, ERASE, LBOUND, OPTION BASE, READ, REDIM, REM, RESTORE, SWAP, TYPE...END TYPE, $STATIC, $DYNAMIC UBOUND, VARPTR, VARSEG,

 COMMON


Definiuje zmienne globalne, które mogą być wspóldzielone w programie albo
pomiędzy dołączanymi programami.

COMMON [SHARED] lista_zmiennych

    • SHARED          Określa, że zmienne są wspólne dla wszystkich
                      procedur SUB lub FUNCTION.

    • lista_zmiennych    Jedna lub więcej zmiennych współdzielonych:

                      zmienna[( )] [AS typ] [, zmienna[( )] [AS typ]]...

                      zmienna    Nazwa zmiennej Basica. Nazwy zmiennych
                                 mogą składać się z najwyżej 40 znaków
                                 i muszą zaczynać się od litery. Akceptowane
                                 są znaki A-Z, 0-9 i kropka (.).

                      typ        Typ danych zmiennej (INTEGER, LONG, SINGLE,
                                 DOUBLE, STRING albo typ zdefiniowany przez
                                 użytkownika.

    • Jeśli nie zadeklarowano tablicy statycznej w uprzednim poleceniu
      DIM, zmienne tablicowe w poleceniu COMMON są tablicami dynamicznymi.
      Ich rozmiar musi być określony przez późniejsze polecenie DIM
      lub REDIM.

Zobacz także:    CHAIN    DIM, REDIM    FUNCTION
                 SHARED, STATIC         SUB

  MNEMOTECHNIKA: COMMON - wspólny
↑ Alfabet   Rozdział

 CONST


Deklaruje jedną lub więcej stałych symbolicznych.

CONST nazwa_stałej = wyrażenie [, nazwa_stałej= wyrażenie]...
nazwa_stałej  Nazwa stałej. Nazwa może składać się z maksymalnie
                    40 znaków i musi zaczynać się od litery. Akceptowane są 
                    znaki A-Z, 0-9, i kropka (.).
    • wyrażenie      Wyrażenie, które jest przypisane do stałej. Wyrażenie
                    może składać się z literałów (takich jak 1.0), innych
                    stałych, operatorów arytmetycznych lub logicznych
                    z wyjątkiem potęgowania (^), lub z pojedynczego łańcucha
                    literału.
Przykład:
    CONST PI = 3.141593
    INPUT "Promien okregu: "; r
    PRINT "Powierzchnia = "; PI * r ^ 2

Promien okregu: ? 10
Powierzchnia = 314.1593



  MNEMOTECHNIKA: CONSTans - (łac.) stała
↑ Alfabet   Rozdział

 DATA,  READ,  RESTORE


DATA zawiera wartości, ktore będą czytane przez późniejsze polecenia READ.
READ czyta te wartości i przypisuje je do zmiennych.
RESTORE pozwala READ wczytywać powtórnie wartości z określonych poleceń DATA.

DATA stała[,stała]...
READ lista_zmiennych
RESTORE [linia]
stała           Jedna lub więcej stałych liczbowych lub łańcuchowych,
                     będących danymi do odczytania. Stałe łańcuchowe
                     zawierające przecinki, dwukropki, lub wiodące albo
                     kończące spacje, zamykane są w cudzysłowach (" ").

   • lista_zmiennych Jedna lub więcej zmiennych oddzielonych przecinkami,
                     którym są przypisywane wartości z DATA. Nazwy zmiennych
                     mogą składać się z maksymalnie 40 znaków i muszą
                     zaczynać się od litery. Akceptowane znaki to A-Z, 0-9,
                     i kropka (.).

   • linia           Etykieta lub numer linii polecenia DATA. Jeśli linia
                     jest opuszczona, następne polecenie READ czyta wartości
                     z pierwszego polecenia DATA w programie.
Przykład:
    FOR i% = 1 TO 3
        READ a%, b$
        PRINT a%, b$
        RESTORE
    NEXT i%
    DATA 1, "Powtarzaj"

     1            Powtarzaj
     1            Powtarzaj
     1            Powtarzaj
 

  MNEMOTECHNIKA: DATA - dane; READ - czytaj; RESTORE - przywróć
↑ Alfabet   Rozdział

 DEFINT,  DEFLNG,  DEFSNG,  DEFDBL,  DEFSTR


Określa domyślny typ danych dla zmiennych, funkcji DEF FN i procedur
FUNCTION.

DEFINT zakres_liter [,zakres_liter]...
DEFLNG zakres_liter [,zakres_liter]...  
DEFSNG zakres_liter [,zakres_liter]...
DEFDBL zakres_liter [,zakres_liter]...
DEFSTR zakres_liter [,zakres_liter]...

    • zakres_liter   Litera lub zakres liter (jak np. A-M). Qbasic
                     ustawi domyślny typ danych dla zmiennych, funkcji
                     DEF FN i procedur FUNCTION, których nazwy zaczynają
                     się od określonej litery lub liter, następująco:

              Polecenie    Domyślny typ danych
              ---------    -----------------------
              DEFINT       Integer (Liczba całkowita)
              DEFLNG       Long integer (Długa liczba całkowita) 
              DEFSNG       Single precision (Liczba pojedynczej precyzji)
              DEFDBL       Double precision (Liczba podwójnej precyzji)
              DEFSTR       String (Łańcuch)

    • Przyrostki typu danychA  (%, &, !, #, lub $) zawsze mają pierwszeństwo
      przed poleceniem DEFtyp.

    • Pojedyncza precyzja jest domyślnym typem danych (liczbowych), jeżeli
      nie określisz ich w poleceniu DEFtyp.

    • Po tym, jak określisz polecenie DEFtyp w programie, QBasic
      automatycznie wstawi odpowiadające polecenia DEFtyp w każdej
      procedurze, którą utworzysz.

Zobacz także:    Różnice w porównaniu z BASICA

Przykład:
    DEFDBL A-Z
    a = SQR(3)
    PRINT "Pierwiastek kwadratowy z 3 = "; a
Pierwiastek kwadratowy z 3 =  1.732050807568877



  MNEMOTECHNIKA: DEFINE INTEGER - zdefiniuj (jako) liczbę całkowitą; DEFine LoNG - zdefiniuj długą (liczbę całkowitą);
                            DEFine SiNGle precision; DEFine DouBLe precision; DEFine STRing
↑ Alfabet   Rozdział

 DIM,  REDIM


DIM deklaruje tablicę lub określa typ danych dla zmiennych nietablicowych.
  
REDIM deklaruje lub zmienia rozmiar tablicy dynamicznej, usuwając wszystkie
      poprzednio przechowywane w niej wartości.

DIM [SHARED] zmienna[(indeksy)] [AS typ]
             [,zmienna[(indeksy)] [AS typ]]...
REDIM [SHARED] zmienna(indeksy) [AS typ]
               [,zmienna(indeksy) [AS typ]]...
SHARED        Określa, że zmienne są wspólne dla wszystkich procedur
                   SUB lub FUNCTION w module.  zmienna       Nazwa tablicy lub zmiennej.
   • indeksy       Wymiary tablicy, wyrażone następująco:
                     
                   [dolny TO] górny [,[dolny TO] górny]...

                   dolny    Dolna granica indeksów tablicy. Domyślną dolną
                            granicą jest zero.
                   górny    Górna granica indeksów. 
                     AS typ        Deklaruje typ danych tablicy lub zmiennej
                   (INTEGER, LONG, SINGLE, DOUBLE, STRING, albo
                   typ danych zdefiniowany przez użytkownika).

   • DIM deklaruje zarówno tablice statyczne jak i dynamiczne. Jeśli tablica
     nie została okreslona przez $STATIC, $DYNAMIC lub COMMON, tablice
     zwymiarowane cyframi są statyczne, a tablice zwymiarowane przez zmienne
     są dynamiczne. REDIM zawsze deklaruje tablice dynamiczne. 

   • Pamięć dla tablicy statycznej jest przydzielana gdy program startuje 
     i pozostaje stała. Pamięć dla tablic dynamicznych jest przydzielana
     podczas przebiegu programu.

Zobacz także:        COMMON    ERASE    OPTION BASE    SHARED, STATIC
                     $STATIC, $DYNAMIC    Różnice w porównaniu z BASICA

Przykład:
    ' $DYNAMIC
    DIM A(49, 49)
    REDIM A(19, 14)
  MNEMOTECHNIKA: DIMENSION - wymiar
↑ Alfabet   Rozdział

 ERASE


Reinicjalizuje elementy tablicy lub zwalnia pamięć tablic dynamicznych.

ERASE nazwa_tablicy [,nazwa_tablicy]...

    • nazwa_tablicy    Nazwa tablicy.

    • Dla tablic statycznych ERASE ustawia każdy element tablicy liczbowej
      na zero, a każdy element tablicy łańcuchowej na łańcuch pusty.
        
    • Dla tablic dynamicznych - ERASE zwalnia pamięć zajmowaną przez
      talicę. Nalezy zadeklarować powtórnie wymiary tablicy przez REDIM
      lub DIM przed jej użyciem.

  Zobacz także:     CLEAR    DIM, REDIM

Przykład:
    DIM a%(0)
    a%(0) = 6
    PRINT "Przed: "; a%(0)
    ERASE a%
    PRINT "Po: "; a%(0)

Przed: 6
Po: 0



  MNEMOTECHNIKA: ERASE - wymazuj
↑ Alfabet   Rozdział

 LBOUND,  UBOUND


Zwraca dolną i górną granicę (najmniejszy i największy dostępny indeks)
dla określonego wymiaru tablicy.

LBOUND(tablica[,wymiar%])
UBOUND(tablica[,wymiar%])

    • tablica       Nazwa tablicy.

    • wymiar%       Wskazuje wymiar tablicy, którego dolna lub górna granica
                    ma być zwrócona. Stosuj 1 dla pierwszego wymiaru, 2 dla
                    drugiego wymiaru itd. Domyślnie jest 1.

Zobacz także:    DIM, REDIM

Przykład:
    DIM a%(1 TO 3, 2 TO 7)
    PRINT LBOUND(a%, 1), UBOUND(a%, 2)

  MNEMOTECHNIKA: LOW BOUNDARY - niższa granica; UPPER BOUNDARY - wyższa granica
↑ Alfabet   Rozdział

 OPTION BASE


Ustawia domyślną dolną granicę indeksów tablicy.

OPTION BASE {0 | 1}

    • Polecenie DIM z członem TO zapewnia lepszą drogę ustawiania dolnej
      granicy indeksu tablicy.

 Zobacz także:   DIM, REDIM    LBOUND, UBOUND

↑ Alfabet   Rozdział

 REM


Pozwala wstawiać do programu komentarze objaśniające.

REM komentarz
' komentarz

    • komentarz    Dowolny tekst.

    • Komentarze sa ignorowane podczas pracy programu, z wyjątkiem gdy
      zawierają metapolecenia.

    • Komentarz może być wstawiony w linii po wykonywalnym poleceniu,
      jeśli jest poprzedzony apostrofową (') formą REM, lub jeśli REM jest
      poprzedzone przez dwukropek (:).

Zobacz także:    $STATIC, $DYNAMIC

Przykład:
    REM    To jest komentarz.
    '      To jest także komentarz.
    PRINT "Test1"       'To jest komentarz po poleceniu PRINT.
    PRINT "Test2" :  REM To jest także komentarz po poleceniu PRINT.
Test1
Test2



  MNEMOTECHNIKA: REMARK - uwaga
↑ Alfabet   Rozdział

 SWAP


Zamienia wartości dwóch zmiennych.

SWAP zmienna1, zmienna2
zmienna1 i zmienna2    Dwie zmienne o tym samym typie danych.

Przykład:
    a% = 1: b% = 2
    PRINT "Przed: "; a%, b%
    SWAP a%, b%
    PRINT "Po: "; a%, b%

Przed: 1     2
Po: 2        1



  MNEMOTECHNIKA: SWAP - zamień, wymień
↑ Alfabet   Rozdział

 TYPE


Definiuje typ danych zawierający jeden lub wiecej elementów.

TYPE typ_użytkownika
  nazwa_elementu AS nazwa_typu
  [nazwa_elementu AS nazwa_typu]
.
.
.
END TYPE
typ_użytkownika  Nazwa definiowanego typu danych. Nazwa może składać
                       się z maksymalnie 40 znaków i musi zaczynać się
                       od litery. Akceptowane znaki to A-Z, 0-9, i kropka (.).

    • nazwa_elementu   Element typu danych użytkownika.

    • nazwa_typu       Typ elementu (INTEGER, LONG, SINGLE, DOUBLE,
                       STRING, lub typ danych użytkownika).

    • Stosuj DIM, REDIM, COMMON, STATIC, lub SHARED do tworzenia zmiennych
      o typie danych zdefiniowanym przez użytkownika.

Zobacz także:    COMMON    DIM, REDIM    SHARED, STATIC

Przykład:
    TYPE Karty
        Kolor AS STRING * 9
        Wartosc AS INTEGER
    END TYPE
    DIM Talia(1 TO 52) AS Karty
    Talia(1).Kolor = "Kier"
    Talia(1).Wartosc = 2
    PRINT Talia(1).Kolor, Talia(1).Wartosc

Kier             2



↑ Alfabet   Rozdział

 $STATIC,  $DYNAMIC


Ustawia domyślną pamięć dla tablicy.

{REM | '} $STATIC
{REM | '} $DYNAMIC
{REM | '}    REM lub znak komentarza (') musi stać
                   przed metapoleceniem.

    • $STATIC      Określa, że tablice deklarowane w następnych poleceniach
                   DIM są tablicami statycznymi (z wyjątkiem gdy są deklaro-
                   wane w nie-statycznej procedurze SUB lub FUNCTION).
                   Pamięć dla tablic jest alokowana przy starcie programu
                   i pozostaje stała.
 
    • $DYNAMIC     Określa, że tablice deklarowane w następnych poleceniach
                   DIM są tablicami dynamicznymi. Pamięć dla tablic jest
                   alokowana dynamicznie podczas przebiegu programu.

    • DIM i REDIM zazwyczaj zapewniają lepsza drogę do określenia, czy
      tablice mają być statyczne, czy dynamiczne.

Zobacz także:    DIM, REDIM    REM    SHARED, STATIC

↑ Alfabet   Rozdział

 VARPTR,  VARSEG


VARPTR returns the offset address of a variable.
VARSEG returns the segment address of a variable. 

VARPTR(nazwa_zmiennej)
VARSEG(nazwa_zmiennej)

    • nazwa_zmiennej    Dowolna zmienna Basica.

Zobacz także:    CALL ABSOLUTE    DEF SEG    PEEK, POKE    VARPTR$

↑ Alfabet   Rozdział



Przekład: D.A.M. Deger (Damian Gawrych) lipiec 2006



« Ogólny spis treści »    « Indeks »


 Definiowanie i wywoływanie procedur i funkcji

CALL, CALL ABSOLUTE, DECLARE, DEF FN, EXIT, FUNCTION, RUN, SHARED, STATIC, SUB

 CALL


Przekazuje sterowanie do procedury SUB.

[CALL] nazwa [([lista argumentów])]

    nazwa           Nazwa wywoływanej procedury SUB.

    • lista argumentów   Zmienne lub stałe, które mają zostać przekazane
                      do procedury SUB. Wiele argumentow oddziela się
                      przecinkami. Argumenty tablicy określa się przez
                      nazwę tablicy zakończoną pustymi nawiasami.

    • Jeśli opuszcza się słowo CALL, należy także pominąć nawiasy
      wokół listy argumentów. Albo deklaruj procedurę poleceniem DECLARE
      przed jej wywołaniem, albo po prostu zapisz program, a Basic
      automatycznie wygeneruje polecenie DECLARE.

    • Aby wskazać argument, ktorego wartość nie będzie zmieniana
      przez procedurę, należy zamknąć argument w nawiasach. 


Przykład:
    Program REMLINE.BAS ilustruje wywoływanie procedur SUB. Aby obejrzeć
    lub uruchomić ten program, załaduj REMLINE.BAS używając komendy Open
    z menu File.

Zobacz także:    CALL ABSOLUTE    DECLARE    SUB

  MNEMOTECHNIKA: CALL - wołać, wołanie
↑ Alfabet   Rozdział

 CALL  ABSOLUTE

 
Przekazuje sterowanie do procedury w języku maszynowym.

CALL ABSOLUTE ([lista_argumentów,] ofset%)

    lista_argumentów    Argumenty przekazywane do procedury w języku
                          maszynowym jako ofsety z bieżącego segmentu danych.

    • ofset%              Ofset z bieżącego segmentu danych, ustawiony przez
                          DEF SEG, do lokacji startowej procedury.
 
Przykład:
    'Wywołuje program drukowania ekranu na drukarce.
    DIM a%(2)
    DEF SEG = VARSEG(a%(0))
    FOR i% = 0 TO 2
       READ d%
       POKE VARPTR(a%(0)) + i%, d%
    NEXT i%
    DATA 205, 5, 203  : ' int 5  retf  'Kod w języku maszynowym
                                       'do drukowania ekranu
    CALL ABSOLUTE(VARPTR(a%(0)))
    DEF SEG

Zobacz także:    CALL    VARPTR, VARSEG    Różnice w porównaniu z BASICA


↑ Alfabet   Rozdział

 DECLARE


Deklaruje procedurę FUNCTION lub SUB i wywołuje sprawdzenie typu danych
 argumentu.

DECLARE {FUNCTION | SUB} nazwa [([lista_parametrów])]

   nazwa               Nazwa procedury

   • lista_parametrów    Jedna lub więcej zmiennych, które wyszczególniają
                       parametry mające zostać przekazane do procedury, gdy
                       bedzie wywoływana:

                       zmienna[( )] [AS typ] [, zmienna[( )] [AS typ]]...

                       zmienna     Nazwa zmiennej Basica

                       typ         Typ danych zmiennej (INTEGER,
                                   LONG, SINGLE, DOUBLE, STRING, albo typ
                                   zdefiniowany przez użytkownika). ANY
                                   zezwala na każdy typ danych. 

    Program REMLINE.BAS ilustruje wywoływanie procedur SUB. Aby obejrzeć
    lub uruchomić ten program, załaduj REMLINE.BAS używając komendy Open
    z menu File.

Zobacz także:    CALL    FUNCTION    SUB

↑ Alfabet   Rozdział

 DEF FN


Definiuje funkcję.

DEF FNname[(lista_parametrów)] = wyrażenie
  
DEF FNname[(lista_parametrów)]
    [blok_poleceń]
  FNname = wyrażenie
    [blok_poleceń]
  EXIT DEF]
    [blok_poleceń]
  END DEF

   lista_parametrów    Jeden lub wiecej parametrów w następującej formie:
                                                        
                       zmienna[( )] [AS typ] [, zmienna[( )] [AS typ]]...

                       zmienna     Nazwa zmiennej Basica.
                        
                       typ         Typ danych w zmiennej (INTEGER,
                                   LONG, SINGLE, DOUBLE, STRING, albo
                                   typ zdefiniowany przez użytkownika).

    • wyrażenie       Zwraca wartość funkcji.

    • Polecenie FUNCTION zapewnia lepszą drogę definiowania funkcji.

Zobacz także:    EXIT    FUNCTION    SHARED, STATIC


  MNEMOTECHNIKA: DEFINE FUNCTION
↑ Alfabet   Rozdział

 FUNCTION


Definiuje procedurę FUNCTION.

FUNCTION name [(lista_parametrów)] [STATIC]
    [blok_poleceń]
  nazwa = wyrażenie
    [blok_poleceń]
END FUNCTION

    • nazwa             Nazwa funkcji i typ danych, które zwraca, określony
                        przez przyrostki typu danych (%, &, !, #, or $).

    • lista_parametrów  Jedna lub więcej zmiennych, które wyszczególniają
                        parametry mające zostać przekazane do funkcji gdy
                        jest ona wywoływana:

                        zmienna[( )] [AS typ] [, zmienna[( )] [AS typ]]...

                        zmienna     Nazwa zmiennej Basica.

                        typ         Typ danych w zmiennej (INTEGER,
                                   LONG, SINGLE, DOUBLE, STRING, albo
                                   typ zdefiniowany przez użytkownika).

    • STATIC            Określa, że wartości zmiennych lokalnych funkcji są
                        zachowywane między wywołaniami funkcji.

    • wyrażenie         Zwraca wartość funkcji.

    • Gdy wywołujesz funkcję, możesz określić, że wartości argumentu nie będą
      zmieniane przez funkcję - przez zamknięcie argumentu w nawiasach.      

Przykład:
     Program REMLINE.BAS ilustruje wywoływanie procedur SUB. Aby obejrzeć
     lub uruchomić ten program, załaduj REMLINE.BAS używając komendy Open
     z menu File.

Zobacz także:    DECLARE    DEF FN    EXIT    SHARED, STATIC    SUB

↑ Alfabet   Rozdział

 RUN


Uruchamia beżący program, lub program wyspecyfikowany.

RUN [{numer_linii | plik$}]
numer_linii   Numer linii w bieżącym programie, od której winno
                    zacząć się jego wykonywanie. Jeśli numer linii nie jest
                    podany, wykonywanie zacznie się od pierwszej wykonywalnej
                    linii.
                    
    • plik$         Nazwa pliku źródłowego Basica. QBasic zakłada
                    rozszerzenie .BAS.

    • RUN zamyka wszystkie pliki i czyści pamięć przed załadowaniem
      programu. Zastosuj polecenie CHAIN aby uruchomić program bez zamykania
      otwartych plików.

Przykład:
    'Zakładając, że program TEST.BAS jest w katalogu \DOS:
    RUN "C:\DOS\TEST.BAS"

Zobacz także:    CHAIN

  MNEMOTECHNIKA: RUN - biegnij
↑ Alfabet   Rozdział

 SHARED,  STATIC


SHARED daje procedurom dostęp do zmiennych na poziomie modułu.
STATIC czyni zmienną lokalną dla funkcji lub procedury i zachowuje jej
wartość pomiędzy wywołaniami.

SHARED zmienna[()] [AS typ] [,zmienna[()] [AS typ]]...
STATIC zmienna[()] [AS typ] [,zmienna[()] [AS typ]]...

     zmienna     Nazwa zmiennej na poziomie modułu, którą chcemy
                  współdzielić, lub zmiennej którą chcemy uczynić lokalną.
                  Nazwy zmiennych mogą składać się z maksimum 40 znaków
                  i muszą zaczynać się od litery. Akceptowane znaki
                  to A-Z, 0-9, i kropka (.).

    • AS typ      Deklaruje typ danych w zmiennej (INTEGER, LONG,
                  SINGLE, DOUBLE, STRING, lub typ zdefiniowany przez
                  użytkownika).
Przykład:
     Program REMLINE.BAS ilustruje użycie poleceń SHARED i STATIC. Aby
     obejrzeć lub uruchomić ten program, załaduj REMLINE.BAS używając
     komendy Open z menu File.

Zobacz także:    COMMON    DIM, REDIM

  MNEMOTECHNIKA: SHARE - mieć udział
↑ Alfabet   Rozdział

 SUB


Definiuje procedurę SUB.

SUB nazwa[(lista_parametrów)] [STATIC]
  [blok_poleceń]
END SUB

     nazwa               Nazwa procedury SUB, do 40 znaków długości, bez
                       przyrostków typu danych.

    • lista_parametrów    Jedna lub więcej zmiennych, które określają
                       parametry mające zostać przekazane do procedury SUB
                       gdy zostanie wywołana:

                       zmienna[( )] [AS typ] [, zmienna[( )] [AS typ]]...

                       zmienna     Nazwa zmiennej Basica.

                       typ         Typ danych w zmiennej (INTEGER, LONG,
                                   SINGLE, DOUBLE, STRING, lub typ
                                   zdefiniowany przez użytkownika).

    • STATIC           Określa, że wartości zmiennych lokalnych w procedurze
                       SUB są zachowywane między wywołaniami funkcji.

    •  Gdy wywołujesz procedurę SUB, możesz określić, aby wartości
       argumentów nie były zmieniane przez procedurę - przez zamknięcie
       argumentu w nawiasach.

Przykład:
     Program REMLINE.BAS ilustruje wywoływanie procedur SUB. Aby obejrzeć
     lub uruchomić ten program, załaduj REMLINE.BAS używając komendy Open
     z menu File.

Zobacz także:    CALL    DECLARE    EXIT    FUNCTION    SHARED, STATIC

↑ Alfabet   Rozdział
Przekład: D.A.M. Deger (Damian Gawrych) lipiec 2006



« Ogólny spis treści »    « Indeks »


  Operacje Wejścia/Wyjścia urządzeń 

CLS, CSRLIN, INKEY$, INP, INPUT, IOCTL$, KEY (Przypisanie), LINE INPUT, LOCATE, LPOS, LPRINT, LPRINT USING, OPEN COM, OUT, POS, PRINT, PRINT USING, SPC, funkcja SCREEN, TAB, VIEW PRINT, WAIT, WIDTH

 CLS


Czyści ekran.

CLS [{0 | 1 | 2}]

    CLS      Czyści zarówno ekran tekstowy jak i graficzny. Jeśli było
             ustawione okno graficzne (przez użycie VIEW), czyści tylko
             to okno. W przeciwnym razie - czyści okno tekstowe
             lub cały ekran.

    CLS 0    Czyści ekran z całego tekstu i grafiki.

    CLS 1    Czyści okno graficzne, lub cały ekran, jeśli okno graficzne
             nie było ustawione.

    CLS 2    Czyści okno tekstowe.

Zobacz także:    VIEW    VIEW PRINT    WINDOW


  MNEMOTECHNIKA: CLEAR SCREEN - czyść ekran
↑ Alfabet   Rozdział

 LOCATE,  CSRLIN,  POS


LOCATE przesuwa kursor do określonej pozycji na ekranie.
CSRLIN zwraca pozycję wiersza, w którym znajduje się kursor.
POS zwraca bieżącą pozycję kolumny, w której znajduje się kursor.

LOCATE  [wiersz%] [,[kolumna%] [,[kursor%] [,start% [,stop%]]]]
CSRLIN
POS(wyrażenie)
 wiersz% i kolumna%  Numer wiersz i kolumny, do których ma być
                          przesunięty kursor.

    • kursor%             Określa czy kursor ma być widoczny:
                            0 = niewidoczny, 1 = widoczny

    • start% i stop%      Wyrażenia całkowitoliczbowe z zakresu 0 -31,
                          które określają pierwszą i ostatnią linię skanu
                          kursora. Można zmieniać rozmiar kursora przez
                          zmianę linii skanu kursora.

    • wyrażenie           Jakieś wyrażenie.

Przykład:
    CLS
    LOCATE 5, 5
    wiersz% = CSRLIN
    kolumna% = POS(0)
    PRINT "Pozycja 1 (Nacisnij cokolwiek)"
    DO
    LOOP WHILE INKEY$ = ""
    LOCATE (wiersz + 2), (kolumna% + 2)
    PRINT "Pozycja 2"




    Pozycja 1 (Nacisnij cokolwiek)

      Pozycja 2






  MNEMOTECHNIKA: LOCATE - umiejscowić; CURSOR LINE - wiersz kursora; POSITION - położenie
↑ Alfabet   Rozdział

 INKEY$


Czyta znak z klawiatury.

INKEY$

    • INKEY$ zwraca łańcuch zerowej długości, jeśli nie naciśnięto żadnego
      klawisza.
    • Dla standardowych klawiszy INKEY$ zwraca jednobajtowy łańcuch
      zawierający odczytany znak.
    • Dla klawiszy klawiatury rozszerzonej INKEY$ zwraca dwubajtowy
      łańcuch złożony ze znaku 'null' (ASCII 0) i kodu klawiatury.

Zobacz także:    Kody klawiatury

Przykład:
    PRINT " Esc - wyjscie..."
    DO
    LOOP UNTIL INKEY$ = CHR$(27)    '27 jest kodem ASCII dla Esc.

↑ Alfabet   Rozdział

 INP,  OUT


INP zwraca bajt odczytany ze sprzętowego portu wejścia/wyjścia.
OUT wysyła bajt do sprzętowego portu wejścia/wyjścia.

INP(port%)
OUT port%, datne%

     port%     Liczba z zakresu 0 do 65,535 która identyfikuje port.
    • dane%     Wyrażenie numeryczne z zakresu 0 do 255 do wysłania
                na port.


Zobacz także:     WAIT

Przykład:
    x% = INP(&H3FC)          'Czyta COM1 Modem Control Register.
    OUT &H3FC, (x% XOR 1)    'Zmienia bit danych gotowości terminala.

  MNEMOTECHNIKA: skróty od INPUT i OUTPUT, dla odróżnienia od tamtych poleceń, które mogą przenosić więcej niż jeden bajt
↑ Alfabet   Rozdział

 INPUT,   LINE  INPUT


INPUT odczytuje wprowadzenie z klawiatury lub z pliku. LINE INPUT czyta
linię do 255 znaków z klawiatury lub z pliku.

INPUT [;] ["komunikat"{; | ,}] lista_zmiennych
LINE INPUT [;] ["komunikat";] zmienna$
INPUT #filenumber%, lista_zmiennych
LINE INPUT #numer_pliku%, zmienna$

    komunikat        Opcjonalny ciąg znaków, który jest wyświetlany
                      zanim użytkownik wprowadzi dane. Średnik po komuni-
                      kacie dodaje do niego znak zapytania.

   • lista_zmiennych  Jedna lub więcej zmiennych oddzielonych przecinkami,
                      w których są przechowywane dane wprowadzane z klawia-
                      tury lub wczytywane z pliku. Nazwy zmiennych mogą
                      składać się z maksimum 40 znaków i muszą zaczynać się
                      od litery. Akceptowane znaki to A-Z, 0-9, i kropka (.).

   • zmienna$         Przechowuje linię znaków wprowadzoną z klawiatury
                      albo odczytaną z pliku.

   • numer_pliku%     Numer otwartego pliku.

   • INPUT używa przecinka jako separatora pomiędzy wprowadzeniami.
     LINE INPUT czyta wszystkie znaki do znaku końca wiersza.

   • Dla wpisu z klawiatury - średnik bezpośrednio po INPUT utrzymuje
     kursor w tej samej linii po naciśnięciu Enter przez użytkownika.

Zobacz także:    INKEY$    INPUT$    Tryby otwarcia plików
    
Przykład:
    CLS
    OPEN "LIST" FOR OUTPUT AS #1
    DO
        INPUT "   IMIE:       ", Imie$  'Czyta wpisy z klawiatury.
        INPUT "   WIEK:       ", Wiek$
        WRITE #1, Imie$, Wiek$
        INPUT "Dodac nowy wpis"; R$
    LOOP WHILE UCASE$(R$) = "T"
    CLOSE #1
    'zwrotne echo z pliku
    OPEN "LIST" FOR INPUT AS #1
    CLS
    PRINT "Zapisy w pliku:": PRINT
    DO WHILE NOT EOF(1)
        LINE INPUT #1, REC$  'Czyta zapisy z pliku.
        PRINT REC$           'Wypisuje je na ekranie.
    LOOP
    CLOSE #1
    KILL "LIST"

Zapisy w pliku:

"ADAM","30"
"BASIA","20"





  MNEMOTECHNIKA: INPUT - (elektron.) wejście
↑ Alfabet   Rozdział

 INPUT$


Zwraca łańcuch znaków odczytany z określonego pliku  lub z klawiatury.

INPUT$(n[,[#]numer_pliku%])
 n               Liczba znaków (bajtów) do odczytania.

    • numer_pliku%    Numer otwartego pliku. Jeśli numer pliku jest
                      opuszczony, INPUT$ czyta z klawiatury.

Zobacz także:    INPUT, LINE INPUT

Przykład:
    OPEN "TEST.DAT" FOR OUTPUT AS #1
    PRINT #1, "The text"
    CLOSE
    OPEN "TEST.DAT" FOR INPUT AS #1
    PRINT INPUT$(3, 1)        'Wypisuje pierwsze 3 znaki.
    CLOSE

The




↑ Alfabet   Rozdział

 IOCTL,  IOCTL$


IOCTL transmituje łańcuch sterujący do sterownika urządzenia.
IOCTL$ zwraca informację o bieżącym statusie ze sterownika urządzenia.

IOCTL [#]numer_pliku%%, łańcuch$
IOCTL$([#]numer_pliku%)
 numer_pliku%   Numer otwartego urządzenia.
    • łańcuch$       Łańcuch sterujący wysyłany do urządzenia.

    • Łańcuch sterujący IOCTL i informacja zwracana przez IOCTL$ zależy
      od sterownika urządzenia. Zobacz w dokumentacji sterownika informacje
      o łańcuchach sterujących IOCTL i co jest zwracane przez IOCTL$.
↑ Alfabet   Rozdział

 KEY  (przypisanie)


Przypisuje wartości łańcuchowe do klawiszy funkcyjnych i, opcjonalnie,
wyświetla wartości klawiszy.

KEY key%, wyrażenie_łańcuchowe
KEY LIST
KEY ON
KEY OFF
 key%                  Numer klawisza funkcyjnego. Używaj 1 do 10 dla
                            klawiszy F1 do F10. Używaj 30 i 31 dla klawiszy
                            F11 i F12 na klawiaturach rozszerzonych.

    • wyrażenie_łańcuchowe  Łańcuch do 15 znaków, zwracany po naciśnięciu
                            klawisza funkcyjnego.

    • LIST                  Wyświetla przypisanie dla każdego klawisza.
    • ON                    Włącza wyświetlanie linii klawiszy funkcyjnych.
    • OFF                   Wyłącza wyświetlanie linii klawiszy funkcyjnych.

Zobacz także:    KEY, ON KEY (wychwytywanie zdarzeń)

Przykład:
    KEY 4, "MENU" + CHR$ (13)
    KEY LIST
    KEY 4, ""
    KEY LIST

F2
F3
F4  MENU
F5
F6
F7
F8
F9
F10
F11
F12
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
F11
F12

Press any key to continue

  MNEMOTECHNIKA: KEY - klucz, klawisz
↑ Alfabet   Rozdział

 LPOS


Zwraca liczbę znaków wysłanych na drukarkę od chwili wysłania ostatniego
znaku końca wiersza (CR).


LPOS(n%)

    • n%    Wskazuje jeden z portów drukarki:
              0 = LPT1, 1 = LPT1, 2 = LPT2, 3 = LPT3
Przykład:
    'Ten przykład wymaga drukarki.
    LPRINT
    FOR i% = 1 TO 20
        LPRINT i%;
        IF LPOS(1) >= 10 THEN LPRINT     'rozpoczyna nowy wiersz.
    NEXT i%

  MNEMOTECHNIKA: LINEPRINTER POSITION
↑ Alfabet   Rozdział

 PRINT,  LPRINT


PRINT wypisuje dane na ekran lub do pliku.
LPRINT drukuje dane na drukarce LPT1.

PRINT [#numer_pliku%,] [lista_wyrażeń] [{; | ,}]
LPRINT [lista_wyrażeń] [{; | ,}]
 numer_pliku%      Numer otwatego pliku. Jesli nie określisz numeru
                        pliku, PRINT pisze na ekran.

    • lista_wyrażeń     Lista jednego lub więcej wyrażeń numerycznych
                        lub łańcuchowych do wypisania.

    • {; | ,}           Określa, gdzie rozpocznie się następny wpis:
                          ; oznacza drukowanie bezpośrednio po ostatniej
                            wartości.
                          , oznacza drukowanie od początku następnej strefy
                            drukowania. Strefy drukowania mają szerokość
                            14 znaków.

Zobacz także:    PRINT USING, LPRINT USING    WIDTH    WRITE

Przykład:
    OPEN "TEST.DAT" FOR OUTPUT AS #1
    PRINT #1, USING "##.###  "; 12.12345
    CLOSE
    OPEN "TEST.DAT" FOR INPUT AS #1
    INPUT #1, a$
    PRINT a$
    LPRINT "To jest linia"; 1
    LPRINT "To jest linia",
    LPRINT 2

12.123




  MNEMOTECHNIKA: PRINT - drukuj; LINE PRINTER - drukarka wierszowa
↑ Alfabet   Rozdział

 PRINT  USING,    LPRINT  USING


PRINT USING wypisuje tekst sformatowany na ekran lub do pliku.
LPRINT USING drukuje tekst sformatowany na drukarce LPT1.

PRINT [#numer_pliku%,] USING łańcuch_formatujący$; lista_wyrażeń [{; | ,}]
LPRINT USING łańcuch_formatujący$; lista_wyrażeń [{; | ,}]

     numer_pliku%     Numer otwartego pliku sekwencyjnego.

    • łańcuch_formatujący$;    Wyrażenie łańcuchowe zawierające jeden
                       lub wiecej znaków formatujących.

    • lista_wyrażeń    Lista jednego lub więcej wyrażeń numerycznych lub
                       łańcuchowych do wypisania, oddzielonych perzecinkami,
                       średnikami, apcjami lub tabulatorami.

    • {; | ,}          Określa, gdzie rozpocznie się następny wpis:
                          ; oznacza drukowanie bezpośrednio po ostatniej
                            wartości.
                          , oznacza drukowanie od początku następnej strefy
                            drukowania. Strefy drukowania mają szerokość
                            14 znaków.

Zobacz także:    PRINT, LPRINT    WIDTH

Przykład:
    a = 123.4567
    PRINT USING "###.##"; a
    LPRINT USING "+###.####"; a
    a$ = "ABCDEFG"
    PRINT USING "!"; a$
    LPRINT USING "\ \"; a$



123.46
A


Znaki, które formatują wyrażenie numeryczne # Pozycja cyfry. ¦ - Umieszczony po cyfrze, . Pozycja kropki dziesiętnej. ¦ drukuje wiodący minus , Umieszczony na lewo od kropki ¦ dla liczb ujemnych. dziesiętnej, drukuje przecinki ¦ $$ Drukuje wiodący $. co każde trzy cyfry. ¦ ** Wypełnia gwiazdkami (*) + Pozycja znaku liczby . ¦ wiodace spacje. ^^^^ Drukuje w postaci wykładniczej ¦ **$ Kombinacja ** and $$. Znaki używane do formatowania wyrażenia łańcuchowego & Drukuje cały łańcuch. ¦ \ \ Drukuje pierwszych n znaków, ! Drukuje tylko pierwszy znak ¦ gdzie n jest liczbą spacji łańcucha. ¦ miedzy \ \ plus 2. Znaki używane do druku literałów _ Drukuje następny znak ¦ Każdy znak nie zamieszczony formatujacy jako literał ¦ w tej tabeli jest drukowany ¦ jako literał.
↑ Alfabet   Rozdział   Temat

 OPEN  COM


Otwiera i inicjalizuje kanał komunikacyjny dla operacji wejścia/wyjścia
Polecenie OPEN COM musi być wykonane, zanim można bedzie użyć urządzenia
do komunikacji przez interfejs RS232.

OPEN "COMn: optlist1 optlist2" [FOR mode] AS [#]filenum% [LEN=reclen%]

     n           The communications port to open (1 = COM1, 2 = COM2).
    • optlist1    The most-often-used communications parameters:
                    [baud] [,[parity] [,[data] [,[stop]]]] 
                  baud is the baud rate of the device to be opened:
                    75, 110, 150, 300, 600, 1200, 2400, 4800, 9600
                  parity is the method of parity checking:
                    N (none)     E (even)    O (odd)
                    S (space)    M (mark)    PE (enable error checking)
                  data is the number of data bits per byte:
                    5, 6, 7, 8
                  stop is the number of stop bits:
                    1, 1.5, 2
                  Defaults: 300 baud, even parity, 7 data bits, 1 stop bit.
    • optlist2    A list of less-often-used parameters, separated by commas:

                  Option  Description
                  ------  --------------------------------------------------
                  ASC     Opens the device in ASCII mode.
                  BIN     Opens the device in binary mode.
                  CD[m]   Sets the timeout period (in milliseconds) on the
                          Data Carrier Detect (DCD) line.
                  CS[m]   Sets the timeout period (in milliseconds) on the
                          Clear to Send (CTS) line.
                  DS[m]   Sets the timeout period (in milliseconds) on the
                          Data Set Ready (DS) line.
                  LF      Sends a line-feed character after a carriage
                          return.
                  OP[m]   Specifies how long (in milliseconds) OPEN COM
                          waits for all communications lines to become open.
                  RB[n]   Sets the size (in bytes) of the receive buffer.
                  RS      Suppresses detection of Request to Send (RTS).
                  TB[n]   Sets the size (in bytes) of the transmit buffer.

    • mode        INPUT, OUTPUT, or RANDOM (the default).
                  See OPEN Statement File Modes.
    • filenum%    A number in the range 1 through 255 that identifies the
                  communications channel as long as it is open.
    • reclen%     Random-access-mode buffer size (default is 128 bytes).

Example:
    'Use this example for trouble shooting serial communications problems.
    'Slow baud, hardware handshaking is ignored and buffers are enlarged.
    OPEN "COM1:300,N,8,1,CD0,CS0,DS0,OP0,RS,TB2048,RB2048" FOR RANDOM AS #1

Zobacz także:   OPEN

↑ Alfabet   Rozdział

 SCREEN   funkcja


Zwraca kod ASCII znaku lub atrybut koloru z określonego miejsca na ekranie.

SCREEN (wiersz%,kolumna% [,colorflag%])
wiersz%       Współrzedna wiersza znaku.
    • kolumna%      Współrzedna kolumny znaku.
    • colorflag%    Wartość (0 or 1) określająca, co jest zwracane:

                    Wartość           Zwraca
                    --------------    --------------------------------
                    0 (lub brak)      Kod ASCII znaku.
                    1                 Atrybut koloru znaku.

Zobacz także:    POINT                    Polecenie SCREEN
                 Tabela kodów ASCII    Atrybuty i wartości koloru

Przykład:
    CLS
    PRINT "Hello"
    PRINT "Kod ASCII znaku na pozycji 1,1 to"; SCREEN(1, 1)

Hello
Kod ASCII znaku na pozycji 1,1 to 72




  MNEMOTECHNIKA: SCREEN - ekran
↑ Alfabet   Rozdział

 SPC


Wstawia określoną liczbę spacji w poleceniach PRINT i LPRINT.

SPC(n%)
 n%    Liczba spacji do wstawienia; wartość z zakresu 0 do 32767.

Zobacz także:    PRINT, LPRINT    PRINT USING, LPRINT USING
                 SPACE$           TAB
Przykład:
    PRINT "Tekst1"; SPC(10); "Tekst2"


Tekst1 Tekst2
  MNEMOTECHNIKA: SPACE - przestrzeń, spacja
↑ Alfabet   Rozdział

 TAB


Przesuwa kursor na określoną pozycję drukowania.

TAB(kolumna%)
 kolumna%    Numer kolumny nowej pozycji drukowania.

Przykład:
    PRINT TAB(25); "Tekst"

Zobacz także:    PRINT, LPRINT    PRINT USING, LPRINT USING
                 SPC    SPACE$


Tekst
↑ Alfabet   Rozdział

 VIEW  PRINT


Ustawia granice ekranowego okna tekstowego.

VIEW PRINT [górny_wiersz% TO najniższy_wiersz%]
górny_wiersz%       Numer najwyższego wiersza okna tekstowego.
    • najniższy_wiersz%   Numer najniższego wiersza okna tekstowego.

    • Jeśli opuści się argumenty górny_wiersz% i najniższy_wiersz%,
      VIEW PRINT ustawi cały ekran jako okno tekstowe.
    • Zakresy górny_wiersz% i najniższy_wiersz% zależą od trybu ekranowego.

Zobacz także:    CLS        PRINT, LPRINT    SCREEN    WIDTH
                 Tryby ekranu

Przykład:
    VIEW PRINT 10 TO 15
    FOR i% = 1 TO 100      'Wyprowadzenie będzie przewijane.
        PRINT i%
    NEXT i%


96 97 98 99 100
↑ Alfabet   Rozdział

 WAIT


Suspends program execution until a specified bit pattern is input from an
input port.

WAIT portnumber%, AND-expression% [,XOR-expression%]
 portnumber%        The number of the input port.
    • AND-expression%    An integer expression that WAIT combines with the
                         bit pattern value using an AND operator. When the
                         result is nonzero, WAIT stops monitoring the port.
    • XOR-expression%    Can be used to turn line bits on and off in the bit
                         pattern before the AND operation is applied.

Example:
    'Reads the interrupt controller port address &H20.
    'Press any key to continue.
    WAIT &H20, 1

Zobacz także:    INP, OUT    Operatory boolowskie

↑ Alfabet   Rozdział

 WIDTH


Przypisuje szerokość linii wyjściowej do urządzenia (np. drukarki) lub pliku,
albo zmienia liczbę wyswietlanych na ekranie kolumn i wierszy.

WIDTH [kolumny%] [,wiersze%]
WIDTH {#numer_pliku% | urządzenie$}, kolumny%
WIDTH LPRINT columns%
 kolumny%        Pożądana szerokość w kolumnach. Szerokość wyświetlania
                      na ekranie musi mieć 40 lub 80 kolumn.

    • wiersze%        Pożądana wysokość wyświetlania w wierszach. Wartość
                      może wynosić 25, 30, 43, 50, lub 60, zależnie od karty
                      graficznej i trybu ekranowego.

    • #numer_pliku%   Numer otwartego pliku lub urządzenia.

    • urządzenie$     Nazwa urządzenia:
                        SCRN:, COM1:, COM2:, LPT1:, LPT2:, LPT3:

Przykład:
    OPEN "LPT1:" FOR OUTPUT AS #1
    WIDTH #1, 132

Zobacz także:    PRINT, LPRINT    SCREEN    VIEW PRINT

  MNEMOTECHNIKA: WIDTH - szerokość
↑ Alfabet   Rozdział


Przekład: D.A.M. Deger (Damian Gawrych) lipiec 2006



« Ogólny spis treści »    « Indeks »


 Wyświetlanie grafiki

CIRCLE, COLOR, GET (grafika), LINE, PAINT, PALETTE, PCOPY, PMAP, POINT, PSET, PRESET, PUT (grafika), polecenie SCREEN, VIEW, VIEW PRINT, WINDOW

Atrybuty i wartości koloru

Tryby ekranowe (Screen modes)

Tablice i kompatybilnośc obrazów ekranu

 CIRCLE


Rysuje na ekranie okrąg lub elipsę.

CIRCLE [STEP] (x!,y!),promień![,[kolor%] [,[start!] [,[end!] [,aspect!]]]]
 STEP       Określa, że współrzędne są liczone względem bieżącej
                 pozycji kursora graficznego.

    • (x!,y!)    Współrzędne dla środka okręgu lub elipsy.

    • promień!   Promień okręgu lub elipsy w jednostkach bieżącego
                 systemu współrzędnych, określonego przez najświeższe
                 polecenia  SCREEN, VIEW i WINDOW.

    • kolor%     Atrybut koloru, który ustawia kolor okręgu. Dostępne
                 atrybuty koloru zależą od karty graficznej i trybu
                 ekranowego ustawionego przez najświeższe polecenie SCREEN.

    • start!     Poczatkowy kąt dla łuku, w radianach.

    • end!       Końcowy kąt dla łuku, w radianach.

    • aspect!    Stosunek długości osi y do długości osi x, używany
                 do kreślenia elips.

    • Aby przeliczyć stopnie na radiany, pomnóż stopnie przez (PI / 180).


Zobacz także:    COLOR    DRAW    LINE    SCREEN    VIEW    WINDOW
                 Atrybuty i wartości koloru    Tryby ekranu

Przykład:
    'Ten przykład wymaga kolorowej karty graficznej.
    SCREEN 2
    CIRCLE (320, 100), 200
    CIRCLE STEP (0,0), 100

Przykład działania polecenia CIRCLE.


  MNEMOTECHNIKA: CIRCLE - okrąg
↑ Alfabet   Rozdział

 COLOR


Ustawia kolory wyświetlane na ekranie.

COLOR [foreground%][,[background%][,border%]] Tryb graficzny 0 (tylko tekst) 
COLOR [background%][,palette%]                Tryb graficzny 1 
COLOR [foreground%]                           Tryby graficzne 4, 12, 13 
COLOR [foreground%][,background&]             Tryby graficzne 7-10 

     foreground%   Liczba, która określa kolor pierwszego planu. W trybie
      foreground&   graficznym 0 foreground% jest atrybutem koloru, który
                    określa kolor tekstu. W innych trybach graficznych
                    foreground% jest atrybutem koloru lub 4-bitową wartością
                    koloru (tylko w trybie 4), która określa kolor tekstu
                    i rysowanych linii.

    • background%   Liczba, ktora określa kolor tła. W trybie graficznym 0
      background&   background% jest atrybutem koloru. W trybie graficznym 1
                    background% jest 4-bitową wartością koloru. W trybach
                    7-10 background& jest wartością koloru.

    • border%       Atrybut koloru, który ustawia kolor obwódki ekranu.

    • palette%      Liczba (0 lub 1) okreslajaca, ktory z dwóch zestawów
                    atrybutów koloru zostanie użyty:

                    palette%    Attribute 1    Attribute 2    Attribute 3
                    --------    -----------    -----------    ------------
                    0           Green          Red            Brown
                    1           Cyan           Magenta        Bright white

    • Dostępne atrybuty i wartości koloru zależą od karty graficznej i trybu
      ekranowego ustawionego przez najświeższe polecenie SCREEN.

    • Jeśli system jest wyposażony w kartę EGA, VGA, lub MCGA, zastosuj
      polecenie PALETTE do zmiany przypisań lub atrybutów koloru.

Zobacz także:    DRAW    PAINT    PALETTE, PALETTE USING    SCREEN
                 Atrybuty i wartości koloru    Tryby ekranu

Przykład:
    'Ten przykład wymaga kolorowej karty graficznej.
    SCREEN 7
    FOR i% = 0 TO 15
        COLOR i%
        PRINT i%
    NEXT i%
Przykład działania polecenia COLOR
↑ Alfabet   Rozdział

 DRAW


Rysuje obiekt.

DRAW łańcuch_komend$

     łańcuch_komend$    Wyrażenie łańcuchowe zawierające jedną lub wiecej
                        następujących komend DRAW.

      Komendy rysujące linię i przesuwające kursor:

        D[n%]            Przesuwa kursor w dół n% jednostek.
        E[n%]            Przesuwa kursor w góre i w prawo n% jednostek.
        F[n%]            Przesuwa kursor w dół i w prawo n% jednostek.
        G[n%]            Przesuwa kursor w dół i w lewo n% jednostek.
        H[n%]            Przesuwa kursor w gorę i w lewo n% jednostek.
        L[n%]            Przesuwa kursor w lewo n% jednostek.
        M[{+|-}]x%,y%    Przesuwa kursor do punktu x%,y%. Jesli x% jest
                         poprzedzone przez + lub -, przesuwa względem
                         bieżącego punktu.
        R[n%]            Przesuwa kursor w prawo n% jednostek.
        U[n%]            Przesuwa kursor w górę n% jednostek.
        [B]              Przedrostek opcjonalny, który przesuwa kursor
                         bez rysowania.
        [N]              Przedrostek opcjonalny, który rysuje i cofa
                         kursor do jego oryginalnej pozycji.

      Komendy koloru, obrotu i skali:

        An%              Obraca obiekt n% * 90 stopni (n% może być 0, 1,
                         2, lub 3).
        Cn%              Ustawia kolor rysowania (n% jest atrybutem koloru).
        Pn1%,n2%         Ustawia kolory wypełnienia i obramowania obiektu
                         (n1% jest atrybutem koloru wypełnienia, n2% jest
                         atrybutem koloru obramowania).
        Sn%              Określa skalę rysowania przez ustawienie długości
                         jednostki przesunięcia kursora. Domyślne n%
                         wynosi 4, co jest równoważne 1 pikselowi.
        TAn%             Obraca o kąt n% stopni (-360 do 360).

    • Jeśli opuścić n% w komendach rysowania linii i ruchu kursora, kursor
      przesuwa się o 1 jednostkę.

    • Aby wykonać łańcuch polecenia DRAW, użyj komendy "X":

      DRAW "X"+ VARPTR$(łańcuch_komend$)


Zobacz także:   PALETTE, PALETTE USING        SCREEN    VARPTR$
                Atrybuty i wartości koloru    Różnice w porównaniu z BASICA

Przykład:
    'Ten przykład wymaga kolorowej karty graficznej.
    SCREEN 1
    Trojkat$ = "F60 L120 E60"
    DRAW "C2 X" + VARPTR$(Trojkat$)
    DRAW "BD30 P1,2 C3 M-30,-30"
Przykład działania polecenia DRAW
  MNEMOTECHNIKA: DRAW - rysuj
↑ Alfabet   Rozdział

 GET,  PUT     (w grafice)


GET przechwytuje graficzny obraz ekranu. PUT wyświetla obraz przechwycony
przez GET.

GET [STEP](x1!,y1!)-[STEP](x2!,y2!), nazwa_tablicy[(indeks%)]
PUT [STEP] (x1!,y1!), nazwa_tablicy[(indeks%)] [,actionverb]

     STEP          Określa, że współrzędne są liczone względem bieżącej
                    pozycji kursora graficznego.

    • (x1!,y1!)     Współrzedne lewego górnego rogu obrazu przechwytywanego
                    przez GET, albo lokacji ekranowej, gdzie PUT ma
                    wyświetlić obraz.

    • (x2!,y2!)     Współrzedne prawego dolnego rogu przechwytywanego obrazu.

    • nazwa_tablicy  Nazwa tablicy, w której przechowywany jest obraz.

                    Zobacz Tablice i kompatybilność obrazów ekranu aby
                    określić wymagany rozmiar tablicy.

    • indeks%       Indeks tablicy, od którego zaczyna się przechowywany
                    obraz.

    • actionverb    Słowo kluczowe wskazujące, jak wyświetlany jest obraz:

                    actionverb   Działanie
                    ---------- ---------------------------------------------
                    AND        Łączy przechowywany obraz z istniejącym
                               obrazem.
                    OR         Nakłada przechowywany obraz na obraz
                               istniejący.
                    PSET       Rysuje przechowywany obraz, wymazując
                               obraz istniejący.
                    PRESET     Rysuje przechowywany obraz w kolorach
                               odwróconych, wymazując istniejący obraz.
                    XOR        Rysuje przechowywany obraz lub wymazuje
                               poprzednio narysowany, podczas gdy tło jest
                               zachowane, wytwarzając efekty animacji.

    • Polecenie PUT winno zawsze być wykonywane w tym samym trybie ekranowym,
      jaki polecenie GET użyło do przechwycenia obrazu, lub w trybie
      kompatybilnym.
      Zobacz Tablice i kompatybilność obrazów ekranu.

Zobacz także:    SCREEN    Tryby ekranowe

Przykład:
    'Ten przykład wymaga kolorowej karty graficznej.
    SCREEN 1
    DIM Box%(1 TO 200)
    x1% = 0: x2% = 10: y1% = 0: y2% = 10
    LINE (x1%, y1%)-(x2%, y2%), 2, BF
    GET (x1%, y1%)-(x2%, y2%), Box%
    DO
        PUT (x1%, y1%), Box%, XOR
        x1% = RND * 300
        y1% = RND * 180
        PUT (x1%, y1%), Box%
          sleep 1          'opóźnienie, dodane dla umożliwienia obejrzenia
                            efektu przy współczesnych procesorach
    LOOP WHILE INKEY$ = ""
  MNEMOTECHNIKA: GET - dostać się
↑ Alfabet   Rozdział

 LINE


Rysuje na ekranie linię lub prostokąt.

LINE [[STEP](x1!,y1!)]-[STEP](x2!,y2!) [,[kolor%] [,[B | BF] [,styl%]]]

     STEP          Określa, że współrzędne są liczone względem bieżącej
                    pozycji kursora graficznego.

    • (x1!,y1!),    Współrzędne ekranowe początku i końca linii.
      (x2!,y2!)  kolor%        Atrybut koloru, który ustawia kolor linii lub
                    prostokąta. Dostępne atrybuty koloru zależą od karty
                    graficznej i trybu ekranowego ustawionego przez
                    najświeższe polecenie SCREEN.

    • B             Rysuje prostokąt zamiast linii.

    • BF            Rysuje prostokąt wypełniony.

    • styl%         16-bitowa wartość, której bity określają, kiedy
                    piksele są lub nie są rysowane. Używana do rysowania
                    linii przerywanych lub kropkowanych.

Zobacz także:   CIRCLE   INPUT, LINE INPUT    PRESET, PSET    SCREEN
                Atrybuty i wartości koloru    Tryby ekranowe

Przykład:
    'Ten przykład wymaga kolorowej karty graficznej.
    SCREEN 1
    LINE (110, 70)-(190, 120), , B
    LINE (0, 0)-(320, 200), 3, , &HFF00

Przykład działania polecenia LINE
↑ Alfabet   Rozdział

 PAINT


Wypełnia obszar grafiki określonym kolorem lub wzorkiem.

PAINT [STEP] (x!,y!)[,[{kolor% | kafel$}] [,[bordercolor%] [,background$]]]

     STEP           Określa, że współrzędne są liczone względem bieżącej
                     pozycji kursora graficznego.

    • (x!,y!)        Współrzędne ekranowe miejsca, gdzie ma się zacząć
                     wypełnianie.
    • kolor%         Atrybut koloru, określający kolor wypełnienia.

    • kafel$         Wzór wypełnienia, szerokośc 8 bitów i długości
                     do 64 bajtów, definiowany następująco:

                       kafel$ = CHR$(arg1) + CHR$(arg2) + ... + CHR$(argn%)

                     Argumenty dla CHR$ sa liczbami spomiędzy 0 i 255.
                     Każdy CHR$(argn%) definiuje 1-bajtowy, 8-pikselowy
                     plaster wzoru oparty na binarnej postaci liczby.

    • bordercolor%   Atrybut koloru, który określa barwę obramowania
                     wypełnianego obszaru. PAINT przestaje wypełniać obszar,
                     gdy napotka granicę określonego koloru.

    • background$    Jednobajtowy, 8-pikselowy kafelek tła. Wyszczególnienie
                     plastra tła pozwala malować ponad obszarem, który już
                     został zamalowany.

    • Dostępne atrybuty koloru zależą od karty graficznej i trybu ekranowego
      ustawionego przez najświeższe polecenie SCREEN.

Zobacz także:    ASC, CHR$    CIRCLE    DRAW    LINE    SCREEN
                 Atrybuty i wartości koloru    Tryby ekranowe

Przykład:
    'Ten przykład wymaga kolorowej karty graficznej.
    SCREEN 1
    CIRCLE (106, 100), 75, 1
    LINE (138, 35)-(288, 165), 1, B
    PAINT (160, 100), 2, 1
Przykład działania polecenia PAINT.
  MNEMOTECHNIKA: PAINT - maluj
↑ Alfabet   Rozdział

 PALETTE,    PALETTE  USING


Zmienia przypisania koloru atrybutom koloru w bieżącym trybie ekranowym.
PALETTE i PALETTE USING działają tylko w systemach wposażonych w karty EGA,
VGA lub MCGA.

PALETTE [atrybut%,kolor&]
PALETTE USING nazwa_tablicy#[(indeks%)]

     atrybut%      Atrybut koloru do zmiany.

    • kolor&        Wartośc koloru do przypisania do atrybutu.

    • nazwa_tablicy#    Tablica wartosci koloru do przypisania
                    do zestawu atrybutów bieżącego trybu ekranowego.
                    Tablica musi być wystarczająco duża, aby przypisać
                    kolory do wszystkich atryutów.

    • index%        Indeks pierwszego elementu tablicy do przypisania
                    do atrybutu.

    • Dostępne atrybuty i wartości koloru zależą od karty graficznej i trybu
      ekranowego ustawionego przez najświeższe polecenie SCREEN.

Zobacz także:    COLOR    SCREEN
                 Atrybuty i wartości koloru    Tryby ekranowe

Przykład:
    'Ten przykład wymaga kolorowej karty graficznej.
    PALETTE 0, 1
    SCREEN 1
    FOR i% = 0 TO 3: a%(i%) = i%: NEXT i%
    LINE (138, 35)-(288, 165), 3, BF
    LINE (20, 10)-(160, 100), 2, BF
    DO
        FOR i% = 0 TO 3
            a%(i%) = (a%(i%) + 1) MOD 16
        NEXT i%
        PALETTE USING a%(0)
    LOOP WHILE INKEY$ = ""

Przykład działania polecenia PALETTE.
↑ Alfabet   Rozdział

 PCOPY


Kopiuje jedną stronę pamięci wideo na inną.

PCOPY strona_źródłowa%,strona_docelowa%

     strona_źródłowa%    Numer strony pamięci wideo do skopiowania.

    • strona_docelowa%    Numer strony pamięci wideo, gdzie ma iść kopia.

    • Wartość identyfikująca stronę pamięci wideo jest zdeterminowana
      przez rozmiar pamięci wideo i bieżący tryb graficzny ekranu.

Przykład:
    PCOPY 1, 3

Zobacz także:    SCREEN    Tryby ekranowe


  MNEMOTECHNIKA: PAGE COPY - kopia strony
↑ Alfabet   Rozdział

 PMAP


Returns the window coordinate equivalent to a viewport coordinate,
as defined by the WINDOW statement, or vice versa.

PMAP (startcoordinate#, n%)

     startcoordinate#    A window or viewport coordinate.
    • n%                  A value indicating which coordinate is returned:

                          startcoordinate#        n%   Returns
                          ---------------------   --   ---------------------
                          Window x coordinate     0    Viewport x coordinate
                          Window y coordinate     1    Viewport y coordinate
                          Viewport x coordinate   2    Window x coordinate
                          Viewport y coordinate   3    Window y coordinate

Example:
    'This example requires a graphics adapter that supports screen mode 1.
    SCREEN 1
    WINDOW SCREEN (0, 0)-(100, 100)
    PRINT "Logical x=50, physical x="; PMAP(50, 0)
    PRINT "Logical y=50, physical y="; PMAP(50, 1)

Zobacz także:    POINT    VIEW    WINDOW

↑ Alfabet   Rozdział

 POINT


Zwraca bieżące współrzedne kursora graficznego albo atrybut koloru
określonego piksela.

POINT {(n%) | (x%,y%)}

     (n%)       Wskazuje typ zwracanej współrzędnej:

                 n%    Zwraca
                 --    ---------------------------------
                 0     Bieżąca współrzędna x okna
                 1     Bieżąca współrzędna y okna
                 2     Bieżąca współrzędna x ekranu
                 3     Bieżąca współrzędna y ekranu

    • (x%,y%)    Współrzędne piksela, którego kolor sprawdza POINT.
                     Jeśli współrzędne znajdują się na zewnątrz
                     bieżącego okna, POINT zwraca -1.

Zobacz także:    COLOR    PMAP    SCREEN    VIEW    WINDOW
                 Atrybuty i wartości koloru

Przykład:
    'Ten przykład wymaga kolorowej karty graficznej.
    SCREEN 1
    LINE (0, 0)-(100, 100), 2
    LOCATE 14, 1
    FOR y% = 1 TO 10
        FOR x% = 1 TO 10
            PRINT POINT(x%, y%);
        NEXT x%
        PRINT
    NEXT y%
Przykład działania polecenia POINT.
  MNEMOTECHNIKA: POINT - punkt, wskazywać
↑ Alfabet   Rozdział

 PSET,  PRESET


Rysuje wyszczególniony punkt na ekranie.

PRESET [STEP] (x!,y!) [,kolor%]
PSET [STEP] (x!,y!) [,kolor%]

     STEP       Określa, że x! and y! sa wyrażone względem bieżącej
                 lokacji kursora graficznego.

    • (x!,y!)    Współrzędne ekranowe ustawianego piksela.

    • kolor%     Atrybut koloru, ustawiający kolor piksela. Jeżeli
                 kolor%  jest opuszczony, PRESET używa bieżącego koloru
                 tła, a PSET bieżącego koloru pierwszego planu.
                 
    • Dostępne atrybuty koloru zależą od karty graficznej i trybu
      graficznego ekranu. Wartości współrzędnych zależą od karty graficznej,
      trybu ekranu i najświeższych poleceń VIEW i WINDOW.

Zobacz także:    SCREEN    VIEW    WINDOW
                 Atrybuty i wartości koloru    Tryby ekranowe

Przykład:
    'Ten przykład wymaga kolorowej karty graficznej.
    SCREEN 1
    FOR i% = 0 TO 320
        PSET (i%, 100)
        FOR delay = 1 TO 100: NEXT delay
        PRESET (i%, 100)
    NEXT i%
    'Wartość delay w pętli FOR-NEXT = 100 jest za mała dla współczesnych
    ' komputerów. Aby zobaczyć ruch punktu, należy ją ustawić w granicach
    ' 20000 - 100000. (przyp. tłum.)

  MNEMOTECHNIKA: PIXEL SET - ustaw piksel; PIXEL RESET - zgaś piksel
↑ Alfabet   Rozdział

 SCREEN   polecenie


Ustawia tryb graficzny i inne charakterystyki ekranu.

SCREEN tryb% [,[colorswitch%] [,[activepage%] [,visualpage%]]]

      tryb%          Ustawia tryb graficzny. Zobacz. Tryby ekranowe.

    •  colorswitch%   Wartość (0 lub 1), która przełąccza pomiędzy
                      wyświetlaniem w kolorze i monochromatycznym (tylko
                      tryby 0 i 1):

                      Tryb    Wartość     Akcja
                      ----    --------    --------------
                      0       0           Wyłącza kolor
                      0       Nie-zero    Aktywuje kolor
                      1       0           Aktywuje kolor
                      1       Nie-zero    Wyłącza kolor

    •  activepage%    Strona obrazu, na którą program zapisuje tekst
                      i grafikę.

    •  visualpage%    Strona obrazu aktualnie wyświetlana na ekranie.

Zobacz także:    CIRCLE    COLOR    DRAW    LINE      PAINT
                 funkcja SCREEN    VIEW    WINDOW    Tryby ekranowe

Przykład:
    'Ten przykład wymaga kolorowej karty graficznej.
    SCREEN 1        '320 x 200 graphics
    LINE (110, 70)-(190, 120), , B
    LINE (0, 0)-(320, 200), 3, , &HFF00
Przykład działania polecenia SCREEN.
  MNEMOTECHNIKA: SCREEN - ekran
↑ Alfabet   Rozdział

 VIEW


Definiuje rozmiar i połżenie okna graficznego na ekranie.

VIEW [[SCREEN] (x1!,y1!)-(x2!,y2!) [,[kolor%] [,ramka%]]]

     SCREEN                Określa, że współrzędne będą liczone względem
                            ekranu, zamiast względem okna.

    • (x1!,y1!)-(x2!,y2!)   Współrzędne przeciwległych rogów okna.
                             
    • kolor%                Atrybut koloru, który ustawia kolor wypełniający
                            okno.

    • ramka%                Atrybut koloru, który ustawia kolor ramki okna.

    • Jeśli wszystkie argumenty zostaną pominięte, oknem będzie cały ekran.

    • Dostepne atrybuty koloru zależą od karty graficznej i trybu ekranu
      ustawiionego przez najświeższe polecenie SCREEN.

Zobacz także:    CLS    SCREEN    VIEW PRINT    WINDOW
                 Atrybuty i wartości koloru    Tryby ekranowe

Przykład:
    'Ten przykład wymaga kolorowej karty graficznej.
    SCREEN 1
    VIEW (10, 10)-(300, 180), , 1
    LOCATE 1, 11: PRINT "Duze okno graficzne";
    VIEW SCREEN (80, 80)-(200, 125), , 1
    LOCATE 11, 11: PRINT "Male okno graficzne";

Przykład działania polecenia VIEW.
  MNEMOTECHNIKA: VIEW - widok
↑ Alfabet   Rozdział

 VIEW  PRINT


Ustawia granice ekranowego okna tekstowego.


VIEW PRINT [górny_wiersz% TO dolny_wiersz%]

     górny_wiersz%    Numer górnego wiersza okna tekstowego.
    • dolny_wiersz%    Numer górnego wiersza okna tekstowego.

    • Jeśli pominąć argumenty górny_wiersz% i dolny_wiersz%, VIEW PRINT
      ustawi cały ekran jako okno tekstowe.

    • Zakresy górny_wiersz% i dolny_wiersz% są zależne od trybu ekranu.

Zobacz także:    CLS    LOCATE    PRINT, LPRINT    SCREEN    WIDTH

Przykład:
    VIEW PRINT 10 TO 15
    FOR i% = 1 TO 100      'wyprowadzenie bedzie przewijane.
        PRINT i%
    NEXT i%

↑ Alfabet   Rozdział

 WINDOW


Definiuje logiczne wymiary aktualnego okna graficznego. Stosuj polecenie
WINDOW do zdefiniowania własnego systemu współrzędnych okna.

WINDOW [[SCREEN] (x1!,y1!)-(x2!,y2!)]

     SCREEN      Odwraca normalny kartezjański kierunek współrzędnej
                  ekranowej y tak, że wartości wzrastają od góry ekranu
                  do dołu.

    • (x1!,y1!)   Współrzędne logiczne, które mapują lewe-górne współrzędne
                  okna.
                   
    • (x2!,y2!)   Współrzędne logiczne, które mapują prawe-dolne współrzędne
                  okna.

    • WINDOW bez argumentów wyłącza system współrzędnych logicznych.

    • Stosuj polecenie VIEW do zmiany rozmiaru okna.

Zobacz także:    CLS    PMAP    POINT    SCREEN    VIEW    WIDTH

Przykład:
    'Ten przykład wymaga kolorowej karty graficznej.
    SCREEN 1
    FOR i% = 1 TO 10 STEP 2
        WINDOW (-160 / i%, -100 / i%)-(160 / i%, 100 / i%)
        CIRCLE (0, 0), 10
    NEXT i%
Przykład działania polecenia WINDOW.
  MNEMOTECHNIKA: WINDOW - okno
↑ Alfabet   Rozdział




  Atrybuty i wartości koloru


             monitor kolorowy                   Monitor monochromatyczny
             -------------------------------    ----------------------------
Atrybut      Domyślna           Kolor           Domyślna        Kolor
koloru       wartość koloru(a)  wyświetlany     wartość koloru  wyświetlany
----------------------------------------------------------------------------
SCREEN Modes 0, 7, 8, 9(b), 12, i 13 

0            0                Black             0(c)         Off
1            1                Blue                           Podkreślenie(d)
2            2                Green             1(c)         On(d)
3            3                Cyan              1(c)         On(d)
4            4                Red               1(c)         On(d)
5            5                Magenta           1(c)         On(d)
6            6                Brown             1(c)         On(d)
7            7                White (biały)     1(c)         On(d)
8            8                Gray              0(c)         Off
9            9                Light Blue                     Rozjaśnienie
                                                             Podkreślenie
10           10               Light green       2(c)         Rozjaśnienie
11           11               Light cyan        2(c)         Rozjaśnienie
12           12               Light red         2(c)         Rozjaśnienie
13           13               Light magenta     2(c)         Rozjaśnienie
14           14               Yellow            2(c)         Rozjaśnienie
15           15               High-intensity    0(c)         Off
                              white
                              (Jaskrawo biały)
----------------------------------------------------------------------------
SCREEN Modes 1 i 9(e)

0            0                Black             0            Off
1            11               Light cyan        2            Rozjaśnienie
2            13               Light magenta     2            Rozjaśnienie
3            15               High-intensity    0            Off white
                              white
                              (Jaskrawo biały)
----------------------------------------------------------------------------
SCREEN Modes 2 i 11 

0            0                Black             0            Off
1            15               High-intensity    0            Off white
                              white
                              (Jaskrawo biały)
----------------------------------------------------------------------------

  (a)  Numery kolorów EGA. VGA i MCGA używają display-color values, które
       wytwarzają kolory równoważne wizualnie.
  (b)  Dla VGA lub EGA z pamięcią wideo > 64 KB.
  (c)  Tylko w trybie 0.
  (d)  Off, jeśli użyte jako tło.
  (e)  EGA z pamięcią wideo <= 64 KB.

Zobacz także:    COLOR    PALETTE, PALETTE USING    SCREEN
                 Tryby ekranowe

↑ Alfabet   Rozdział

  Tryby ekranowe  


W tablicy poniżej zestawiono tryby ekranowe:


--------- Karty MDPA, CGA, Hercules, Olivetti, EGA, VGA, lub MCGA ----------

SCREEN 0: tylko tryb tekstowy

    • 40 x 25, 40 x 43, 40 x 50, 80 x 25, 80 x 43, lub 80 x 50 format tekst.,
      matryca znaku 8 x 8 (8 x 14, 9 x 14, lub 9 x 16 dla EGA lub VGA)
    • 16 kolorów przypisywanych do każdego z 16 atrybutów (z CGA lub EGA)
    • 64 kolory przypisywane do każdego z 16 atrybutów (z EGA lub VGA)
    • Zależnie od rozdzielczości tekstu i karty, 8 stron pamięci wideo,
      (0-7), 4 strony (0-3), 2 strony (0-1) lub 1 strona (0)

----------------------- Karty CGA, EGA, VGA, lub MCGA ----------------------

SCREEN 1: 320 x 200 grafika

    • 40 x 25 format tekstowy, matryca znaku 8 x 8
    • 16 kolorów tła i jeden lub dwa zestawy 3 kolorów pierwszoplanowych
      przypisywanych przez użycie polecenia COLOR dla CGA 
    • 16 kolorów przypisywanych do 4 atrybutów przy EGA lub VGA
    • 1 strona pamięci wideo (0)

SCREEN 2: 640 x 200 grafika

    • 80 x 25 format tekstowy, matryca znaku 8 x 8
    • 16 kolorów przypisywanych do 2 atrybutów z EGA lub VGA
    • 1 strona pamięci wideo (0)

--------------------- Karty Hercules, Olivetti, lub AT&T -------------------

SCREEN 3: Wymagana karta Hercules, tylko monitor monochromatyczny

    • 720 x 348 grafika
    • 80 x 25 format tekstowy, matryca znaku 9 x 14
    • Zazwyczaj 2 strony pamięci wideo (0-1); 1 strona, jeżeli zainstalowano
      drugą kartę graficzną - kolorową
    • Polecenie PALETTE nie jest obsługiwane
    • Należy uruchomic sterownik MSHERC.COM przed użyciem trybu 3

SCREEN 4:

    • Obsługuje Olivetti Personal Computers modele M24, M240, M28, M280,
      M380, M380/C, oraz M380/T i AT&T Personal Computers serii 6300
    • 640 x 400 grafika
    • 80 x 25 format tekstowy, matryca znaku 8 x 16
    • 1 z 16 kolorów przypisywanych jako kolor pierwszoplanowy (wybierany
      poleceniem COLOR); tło jest stałe - czarne
    • 1 strona pamięci wideo (0)
    • Polecenie PALETTE nie jest obsługiwane

---------------------------- Karty EGA lub VGA -----------------------------

SCREEN 7: 320 x 200 grafika

    • 40 x 25 format tekstowy, matryca znaku 8 x 8
    • Przypisanie 16 kolorów do każdego z 16 atrybutów
    • Przy pamięci karty EGA = 64 KB - 2 strony pamięci wideo (0-1), poza 
      tym 8 stron (0-7)

SCREEN 8: 640 x 200 grafika

    • 80 x 25 format tekstowy, matryca znaku 8 x 8
    • Przypisanie 16 kolorów do każdego z 16 atrybutów
    • Przy pamięci karty EGA = 64 KB - 1 strona pamięci wideo (0), poza tym
      4 strony (0-3)

SCREEN 9: 640 x 350 grafika

    • 80 x 25 lub 80 x 43 format tekstowy, matryca znaku 8 x 14 lub 8 x 8
    • 16 kolorów przypisywanych do 4 atrybutów (karta z 64 KB pamięci) albo
      64 kolory przypisywane do 16 atrybutów (więcej niż 64 KB pamięci)
    • Przy pamięci karty EGA = 64 KB - 1 strona pamięci wideo (0), poza tym
      2 strony (0-1)

--------------- Karty EGA or, tylko monitory monochromatyczne --------------

SCREEN 10: 640 x 350 grafika, tylko monitor monochromatyczny

    • 80 x 25 lub 80 x 43 format tekstowy, matryca znaku 8 x 14 lub 8 x 8
    • Do 9 pseudokolorów przypisywanych do 4 atrybutów
    • 2 strony pamięci wideo, wymagana pamięć karty 256 KB

----------------------------- Karty VGA lub MCGA ---------------------------
                                     
Screen 11 (VGA lub MCGA)

    • 640 x 480 grafika
    • 80 x 30 lub 80 x 60 format tekstowy, matryca znaku 8 x 16 lub 8 x 8
    • Przypisywanie do 256K kolorów do 2 atrybutów
    • 1 strona pamięci wideo (0)

Screen 12 (VGA)

    • 640 x 480 grafika
    • 80 x 30 lub 80 x 60 format tekstowy, matryca znaku 8 x 16 lub 8 x 8
    • Przypisywanie do 256K kolorów do 16 atrybutów
    • 1 strona pamięci wideo (0)

Screen 13 (VGA lub MCGA)

    • 320 x 200 grafika
    • 40 x 25 format tekstowy, matryca znaku 8 x 8
    • Przypisywanie do 256K kolorów do 256 atrybutów
    • 1 strona pamięci wideo (0)


Zobacz także:    Polecenie SCREEN
↑ Alfabet   Rozdział

 Tablice i kompatybilnośc obrazów ekranu


Stosuj wartości 'bits-per-pixel-per-plane' i 'planes' do określenia
wymaganego rozmiaru tablicy przechowującej obraz ekranu graficznego.
Wartości 'bits-per-pixel-per-plane' i 'planes' wraz z rozdzielczością
poziomą określają także, które z trybów ekranowych są kompatybilne:

                                                                Rozdzielcz.
                                    Bits-per-pixel-             pozioma
    Screen mode                     per-plane          Planes   (piksele)
    ----------------------------    ---------------    ------   -----------
    1                               2                  1        320
    2, 4, 11                        1                  1        640
    3                               1                  1        720
    7                               1                  4        320
    8, 9(> 64K video memory), 12    1                  4        640
    9(64K video memory), 10         1                  2        640
    13                              8                  1        320


Następujący wzór daje wymagany rozmiar (size%) w bajtach dla tablicy,
w której ma być przechowany obraz:

size% = 4 + INT(((PMAP (x2!, 0) - PMAP (x1!, 0) + 1) *
        (bits-per-pixel-per-plane%) + 7) / 8) * planes% *
        (PMAP (y2!, 1) - PMAP (y1!, 1) + 1)


Operacje GET i PUT są kompatybilne dla trybów ekranowych o tej samej 
rozdzielczości poziomej i wartościach 'bits-per-pixel-per-plane'
i 'planes'. Np. tryby ekranowe 2, 4 i 11 są kompatybilne, i tryby 8 i 12
są kompatybilne.

Zobacz także:    SCREEN    Tryby ekranowe

↑ Alfabet   Rozdział
Przekład: D.A.M. Deger (Damian Gawrych) lipiec 2006



« Ogólny spis treści »    « Indeks »


 Komendy plikowe na wzór DOSa 

CHDIR, DATE$, ENVIRON, ENVIRON$, FILES, KILL, MKDIR, NAME, RMDIR, SHELL, TIME$

 CHDIR,  MKDIR,  RMDIR,  FILES


CHDIR zmienia domyślny katalog (folder). MKDIR tworzy podkatalog (subfolder).
RMDIR usuwa podkatalog (subfolder). FILES wyświetla zawartość katalogu
bieżącego lub wskazanego katalogu.

CHDIR nazwa_ścieżki$
MKDIR nazwa_ścieżki$
RMDIR nazwa_ścieżki$
FILES [filespec$]

     nazwa_ścieżki$  Ścieżka do nowego domyślnego katalogu, podkatalogu do
                   utworzenia lub podkatalogu do usunięcia.

    • filespec$       Nazwa pliku lub ścieżka (może zawierać literę dysku
                   i DOSowskie znaki niejednoznaczne *, ?). Jeśli filespec$
                   nie zostanie określone, FILES wyświetli wszystkie pliki
                   z bieżącego katalogu.
        
CHDIR, MKDIR, RMDIR są odpowiednikami takich samych komend DOS-owskich. FILES odpowiada DOSowskiemu DIR/W.
Przykład: MKDIR "C:\TEMP\TEST" CHDIR "C:\TEMP" FILES RMDIR "TEST"
C:\TEMP . <DIR> TEST <DIR> 2147155968 Bytes free
  MNEMOTECHNIKA: CHANGE DIRECTORY - zmień katalog; MAKE DIRECTORY - utwórz katalog; REMOVE DIRECTORY - usuń katalog;
                            FILES - pliki
↑ Alfabet   Rozdział

 DATE$


Funkcja DATE$ zwraca bieżącą datę systemową.
Polecenie DATE$ ustawia datę systemową w komputerze.

DATE$
DATE$ = wyrażenie_łańcuchowe$

     wyrażenie_łańcuchowe$    Data w jednej z następujących form:
                               mm-dd-yy, mm-dd-yyyy, mm/dd/yy, mm/dd/yyyy.

    • Funkcja DATE$ zwraca łańcuch w postaci mm-dd-yyyy.
     
DATE$ jest odpowiednikiem DOS-owskiej komendy DATE.
Zobacz także: TIME$ Przykład: PRINT DATE$ DATE$ = "01-01-90" 'Uwaga: Nowa data systemowa pozostaje czynna, dopóki nie zmieni się jej ponownie. PRINT "Date ustawiono na "; DATE$
07-27-2006
Date ustawiono na 01-01-1990



↑ Alfabet   Rozdział

 ENVIRON$,  ENVIRON


ENVIRON$ zwraca łańcuch środowiska DOSa.
ENVIRON zmienia lub dodaje łańcuch środowiska do tablicy środowiska DOSa.

ENVIRON$ (env-variable$)
ENVIRON$ (n%)
ENVIRON wyrażenie_łańcuchowe$

     env-variable$        Nazwa zmiennej środowiskowej DOSa.

    • n%                   Określa, że ENVIRON$ zwraca n-ty łańcuch
                           z tablicy łańcuchów środowiska.

    • wyrażenie_łańcuchowe$    Nazwa i ustawienie DOSowskiej zmiennej
                           środowiskowej (jak PATH lub PROMPT) w jednej
                           z następujących form:

                           env-variable$=env-string$
                           env-variable$ env-string$ 

    • Zmiany dokonane przez polecenie ENVIRON są wymazywane, gdy program
      zakończy się.

Przykład:
    ENVIRON "PATH=TEST"
    PRINT ENVIRON$("PATH")

  MNEMOTECHNIKA: ENVIRONMENT - środowisko
↑ Alfabet   Rozdział

 KILL


Usuwa pliki z dysku.

KILL filespec$

     filespec$    Określa plik lub pliki do usunięcia. Może zawierać
                   ścieżkę i DOS-owskie znaki niejednoznaczne ? i *.
     
KILL odpowiada DOS-owskiemu DEL. UWAGA! - kasuje pliki bez powtórnego ostrzeżenia!
Przykład: INPUT "Plik do usuniecia: "; f$ KILL f$ Zobacz także: FILES

  MNEMOTECHNIKA: KILL - zabij
↑ Alfabet   Rozdział

 NAME


Przemianowuje plik lub katalog.

NAME stara_nazwa$ AS nowa_nazwa$

     stara_nazwa$ i nowa_nazwa$   Nazwa istniejącego pliku i nowa nazwa
                                   dla tego pliku. Każda nazwa może zawierać
                                   ścieżkę.
     
NAME jest odpowiednikiem DOS-owskiego RENAME.
Przykład: INPUT "Stara nazwa: "; OldFN$ INPUT "Nowa nazwa : "; NewFN$ NAME OldFN$ AS NewFN$ Zobacz także: FILES

  MNEMOTECHNIKA: NAME AS - nazwij jako
↑ Alfabet   Rozdział

 TIME$


Funkcja TIME$ zwraca bieżacy czas systemowy komputera.
Polecenie TIME$ ustawia czas systemowy w komputerze.

TIME$
TIME$ = wyrażenie_łańcuchowe$

     wyrażenie_łańcuchowe$    Czas wg jednej z następujących form:
                             hh          Ustawia godzinę; minuty i sekundy
                                         domyślnie jako 00.
                             hh:mm       Ustawia godzinę i minuty; sekundy
                                         domyślnie jako 00.
                             hh:mm:ss    Ustawia godzinę, minuty i sekundy.

    • Funkcja TIME$ zwraca łańcuch w postaci hh:mm:ss.
     
TIME$ jest odpowiednikiem DOS-owskiej komendy TIME.
Zobacz także: DATE$ Przykład: PRINT TIME$ TIME$ = "08:00:58" 'Uwaga: Nowy czas systemowy działa do PRINT "Czas ustawiony na "; TIME$ ' ponownej jego zmiany.
21:47:00
Czas ustawiony na 08:00:58



  MNEMOTECHNIKA: TIME - czas
↑ Alfabet   Rozdział
Przekład: D.A.M. Deger (Damian Gawrych) lipiec 2006



« Ogólny spis treści »    « Indeks »


 Wejście/wyjście na plik

CLOSE, EOF, FILEATTR, FREEFILE, GET (plik I/O), INPUT, INPUT$, LINE INPUT, LOC, LOCK, LOF, OPEN, PUT (plik I/O), funkcja SEEK, polecenie SEEK, UNLOCK, WRITE

 CLOSE


Zamyka jeden lub więcej otwartych plików lub urządzeń.

CLOSE [[#]numer_pliku%[,[#]numer_pliku%]...]

     numer_pliku%    Numer otwartego pliku lub urządzenia.

    • CLOSE bez żadnych argumentów zamyka wszystkie otwarte pliki
      i urządzenia.

Zobacz także:    END    OPEN    RESET    STOP

Przykład:
    CLS
    INPUT "Wpisz nazwe pliku: ", n$
    OPEN n$ FOR OUTPUT AS #1
    PRINT #1, "To jest zapisywane do pliku."
    CLOSE
    OPEN n$ FOR INPUT AS #1
    INPUT #1, a$
    PRINT "Odczyt z pliku: "; a$
    CLOSE

Wpisz nazwe pliku: plik
Odczyt z pliku: To jest zapisywane do pliku.



  MNEMOTECHNIKA: CLOSE - zamknij
↑ Alfabet   Rozdział

 EOF


Sprawdza napotkanie końca pliku. EOF zwraca prawdę (nie-zero), jeśli koniec
pliku został osiągnięty.

EOF(numer_pliku%)

     numer_pliku%    Numer otwartego pliku.

Zobacz także:    CLOSE    LOC    LOF    OPEN

Przykład:
    CLS
    OPEN "TEST.DAT" FOR OUTPUT AS #1
    FOR i% = 1 TO 10
        WRITE #1, i%, 2 * i%, 5 * i%
    NEXT i%
    CLOSE #1
    OPEN "TEST.DAT" FOR INPUT AS #1
    DO
        LINE INPUT #1, a$
        PRINT a$
    LOOP UNTIL (EOF(1))

1,2,5 2,4,10 3,6,15 4,8,20 5,10,25 6,12,30 7,14,35 8,16,40 9,18,45 10,20,50

  MNEMOTECHNIKA: END OF FILE - koniec pliku
↑ Alfabet   Rozdział

 FILEATTR


Zwraca informację o otwartym pliku.

FILEATTR(numer_pliku%,atrybut%)

     numer_pliku%    Numer otwartego pliku.

    • atrybut%       Określa typ zwracanej informacji. Gdy atrybut%
                     wynosi 1, FILEATTR zwraca wartość wskazującą tryb
                     dostępu do pliku:

                     Wartość   Tryb
                     -------   ------
                     1         Input
                     2         Output
                     4         Random
                     8         Append
                     32        Binary

                     When attribute% is 2, FILEATTR returns the DOS file
                     handle.

Zobacz także:    OPEN

Przykład:
    OPEN "TEST.DAT" FOR BINARY AS #1
    PRINT FILEATTR(1, 1)
    CLOSE

 32




  MNEMOTECHNIKA: FILE ATTRIBUTES - atrybuty pliku (nie w znaczeniu DOS-owskim!)
↑ Alfabet   Rozdział

 FREEFILE


Zwraca najbliższy wolny numer nieużywanego pliku.

FREEFILE

Zobacz także:    OPEN

Przykład:
    OPEN "TEST.DAT" FOR OUTPUT AS #1
    PRINT "Nastepny numer pliku: "; FREEFILE
    CLOSE

Nastepny numer pliku:  2




  MNEMOTECHNIKA: FREE FILE - wolny plik
↑ Alfabet   Rozdział

 GET,  PUT    (plikowe I/O)


GET czyta z pliku do bufora swobodnego dostępu lub zmiennej.
PUT zapisuje zmienną lub bufor swobodnego dostępu do pliku.

GET [#]numer_pliku%[,[numer_rekordu&][,zmienna]]
PUT [#]numer_pliku%[,[numer_rekordu&][,zmienna]]

     numer_pliku%     Numer otwartego pliku.

    • numer_rekordu&   Dla plików o swobodnym dostępie - numer rekordu
                       do odczytania lub zapisu. Dla plików otwartych
                       w trybie binarnym - pozycja bajtu, skąd zaczyna się
                       odczyt lub zapis.

    • zmienna          Dla GET - zmienna użyta do przechowania odczytu
                       z pliku. Dla PUT - zmienna zawierająca dane do zapisu
                       w pliku. Zmienna jest zazwyczaj typem zdefiniowanym
                       przez użytkownika.

Zobacz także:    FIELD    GET, PUT (Grafika)    LSET, RSET
                 funkcje MKn$, CVn              TYPE

Przykład:
    TYPE TestRecord
        Student AS STRING * 20
        Wyniki AS SINGLE
    END TYPE
    DIM Klasa AS TestRecord
    OPEN "FINAL.DAT" FOR RANDOM AS #1 LEN = LEN(Klasa)
    Klasa.Student = "MarySa"
    Klasa.Wyniki = 99
    PUT #1, 1, Klasa
    CLOSE #1
    OPEN "FINAL.DAT" FOR RANDOM AS #1 LEN = LEN(Klasa)
    GET #1, 1, Klasa
    PRINT "STUDENT:", Klasa.Student
    PRINT "SCORE:", Klasa.Wyniki
    CLOSE #1
    KILL "FINAL.DAT"


Student: MarySa Wyniki: 99
  MNEMOTECHNIKA: GET - dostać się; PUT - kłaść, umieszczać
↑ Alfabet   Rozdział

 LOC


Zwraca bieżącą pozycję na pliku.

LOC(numer_pliku%)

     numer_pliku%    Numer otwartego pliku lub urządzenia.

    • Dla plików otwartych w trybie binarnym LOC zwraca pozycję ostatnio
      czytanego lub zapisywanego bajtu.

    • Dla plików o swobodnym dostępie LOC zwraca numer ostatniego rekordu
      cztanego z lub zapisywanego do pliku.

    • Dla plików sekwencyjnych LOC zwraca pozycję bieżącego bajtu w pliku,
      podzieloną przez 128.

Zobacz także:    EOF    SEEK

Przykład:
    OPEN "TEST.DAT" FOR RANDOM AS #1
    FOR i% = 1 TO 10
       PUT #1, , i%
    NEXT i%
    SEEK #1, 2
    GET #1, , i%
    PRINT "Dane: "; i%; " Biezacy rekord: "; LOC(1); " Nastepny: "; SEEK(1)


Dane: 2 Biezacy record: 2 Nastepny: 3
  MNEMOTECHNIKA: LOCATION - położenie
↑ Alfabet   Rozdział

 LOCK,  UNLOCK


LOCK ogranicza lub zapobiega dostępowi do pliku w sieciach.
UNLOCK zdejmuje ograniczenia nałożone przez ostatnie polecenie LOCK.

LOCK [#]numer_pliku% [,{rekord& | [start&] TO end&}]
UNLOCK [#]numer_pliku% [,{rekord& | [start&] TO end&}]

     numer_pliku%      Numer otwartego pliku.

    • rekord&           Dla plików o swobodnym dostępie - numer rekordu
                        do zabezpieczenia, liczony względem pierwszego
                        rekordu w pliku. Dla plików binarnych - numer bajtu
                        do zabezpieczenia, liczony względem pierwszego bajtu
                        w pliku.

    • start& i end&     Numery pierwszego i ostatniego rekordu lub bajtu
                        w zakresie rekordów lub bajtów do zabezpieczenia lub
                        odbezpieczenia.

    • Dla plików sekwencyjnych -  LOCK i UNLOCK działają na cały plik.

Przykład:
    'Ten przykład działa tylko w środowisku sieciowym.
    OPEN "TEST.DAT" FOR RANDOM AS #1
    FOR i% = 1 TO 10
        PUT #1, , i%
    NEXT i%
    LOCK #1, 2         'Zabezpiecz rekord 2.
    GET #1, 2, i%
    UNLOCK #1, 2       'Odbezpiecz rekord 2.


  MNEMOTECHNIKA: LOCK - zamknij; UNLOCK - odemknij
↑ Alfabet   Rozdział

 LOF


Zwraca długość pliku w bajtach.

LOF(numer_pliku% )

     numer_pliku%    Numer otwartego pliku.

Przykład:
    INPUT "Wpisz nazwe pliku: "; f$
    OPEN f$ FOR BINARY AS #1
    PRINT "Dlugosc pliku = "; LOF(1)
    CLOSE

Wpisz nazwe pliku: ? test.dat
Dlugosc pliku =  1154



  MNEMOTECHNIKA: LENGHT OF FILE - długość pliku
↑ Alfabet   Rozdział

 OPEN


Otwiera plik lub urządzenie.

OPEN plik$ [FOR tryb] [ACCESS dostęp] [lock] AS [#]numer_pliku% [LEN=reclen%]

     plik$          Nazwa pliku lub urządzenia. Nazwa pliku może zawierać
                     literę napędu i ścieżkę.

    • tryb           Jeden z następujących trybów: APPEND, BINARY, INPUT,
                     OUTPUT, lub RANDOM. Zob. Tryby otwierania plików.

    • dostęp         W środowisku sieciowym określa, czy plik jest otwarty
                     do odczytu (READ), zapisu (WRITE), lub obydwu
                     (READ WRITE). Zob. Człon ACCESS polecenia OPEN.

    • lock           Okresla zabezpieczenia pliku w środowisku sieciowym:
                     współdzielony (SHARED), zabroniony odczyt (LOCK READ),
                     zabroniony zapis (LOCK WRITE), zabronione zapis i odczyt
                     (LOCK READ WRITE).

    • numer_pliku%   Liczba z zakresu 1 - 255, która identyfikuje plik
                     podczas jego otwarcia.

    • reclen%        Dla plików o swobodnym dostępie - długość rekordu
                     (domyślna wynosi 128 bajtów). Dla plików sekwencyjnych
                     - liczba buforowanych znaków (domyślna wynosi 512 B).

Zobacz także:    CLOSE    FREEFILE    OPEN COM    TYPE
                 Alternatywna składnia polecenia OPEN
Przykład:
    CLS
    INPUT "Wpisz nazwe pliku: ", n$
    OPEN n$ FOR OUTPUT AS #1
    PRINT #1, "To jest zapisywane do pliku."
    CLOSE
    OPEN n$ FOR INPUT AS #1
    INPUT #1, a$
    PRINT "Odczyt z pliku: "; a$
    CLOSE


Wpisz nazwe pliku: plik Odczyt z pliku: To jest zapisywane do pliku.
Alternatywna składnia polecenia OPEN:
OPEN tryb2$,[#]nr_pliku%,nazwa$[,reclen%] tryb2$ Wyrażenie łańcuchowe, zaczynające się jedną z następujacych liter, określające tryb otwarcia pliku: O Tryb zapisu sekwencyjnego (Output) I Tryb odczytu sekwencyjnego (Input) R Tryb swobodnego dostępu Odczyt/Zapis (Random) B Tryb binarny A Tryb zapisu sekwencyjnego (Append). Ustawia wskaźnik pliku na końcu pliku i numer rekordu na ostatnim rekordzie w pliku. Polecenia PRINT # lub WRITE # wydłużają (dopisują) plik. • nr_pliku% Liczba z zakresu 1 do 255, która identyfikuje plik podczas otwarcia. • nazwa$ Nazwa pliku (może zawierać dysk i ścieżkę). • reclen% Dla plików o swobodnym dostępie - długość rekordu w bajtach. Dla plików sekwencyjnych - liczba znaków buforowanych. • QBasic obsługuję tą składnię w celu kompatybilności programów napisanych we wcześniejszych wersjach BASICa. Zobacz także: OPEN

  MNEMOTECHNIKA: OPEN - otwórz
↑ Alfabet   Rozdział

 SEEK


Funkcja SEEK zwraca bieżącą pozycję na pliku.
Polecenie SEEK ustawia pozycję dla następnego odczytu lub zapisu.

SEEK(numer_pliku%)
SEEK [#]numer_pliku%, pozycja&

     numer_pliku%   Numer otwartego pliku.

    • pozycja&       Pozycja, gdzie nastąpi kolejny odczyt lub zapis.
                     Dla plików o dostępie swobodnym - numer rekordu. Dla
                     pozostałych plików - pozycja bajtu względem początku
                     pliku. Pierwszy bajt ma pozycję 1.

Zobacz także:    GET, PUT    OPEN

Przykład:
    OPEN "TEST.DAT" FOR RANDOM AS #1
    FOR i% = 1 TO 10
       PUT #1, , i%
    NEXT i%
    SEEK #1, 2
    GET #1, , i%
    PRINT "Dane: "; i%; " Biezacy rekord: "; LOC(1); " Nastepny: "; SEEK(1)


Dane: 2 Biezacy record: 2 Nastepny: 3
  MNEMOTECHNIKA: SEEK - szukaj
↑ Alfabet   Rozdział

 WRITE


Wpisuje dane na ekran lub do pliku sekwencyjnego.

WRITE [[#]numer_pliku%,] lista_wyrażeń

     numer_pliku%      Numer otwartego pliku sekwencyjnego. Jeśli numer
                        pliku zostanie pominięty, WRITE pisze na ekranie.

    • lista_wyrażeń     Jedna lub więcej zmiennych lub wyrażeń, oddzielonych
                        przecinkami, których wartości są wypisywane na ekran
                        lub do pliku.

    • WRITE wypisując, wstawia przecinki między pozycjami i cudzysłowy wokół
      łańcuchów. WRITE wpisuje wartości do pliku w formie, która może być
      czytana przez polecenie INPUT.

Zobacz także:    INPUT, LINE INPUT    OPEN    PRINT, LPRINT

Przykład:
    CLS
    OPEN "LIST" FOR OUTPUT AS #1
    DO
        INPUT "   IMIE:       ", Imie$  'Czyta wpisy z klawiatury.
        INPUT "   WIEK:       ", Wiek$
        WRITE #1, Imie$, Wiek$
        INPUT "Dodac nowy wpis"; R$
    LOOP WHILE UCASE$(R$) = "T"
    CLOSE #1
    'zwrotne echo z pliku
    OPEN "LIST" FOR INPUT AS #1
    CLS
    PRINT "Zapisy w pliku:": PRINT
    DO WHILE NOT EOF(1)
        LINE INPUT #1, REC$  'Czyta zapisy z pliku.
        PRINT REC$           'Wypisuje je na ekranie.
    LOOP
    CLOSE #1
    KILL "LIST"

Zapisy w pliku:

"ADAM","30"
"BASIA","20"




  MNEMOTECHNIKA: WRITE - pisz
↑ Alfabet   Rozdział
Przekład: D.A.M. Deger (Damian Gawrych) lipiec 2006



« Ogólny spis treści »    « Indeks »


 Zarządzanie pamięcią

BLOAD, BSAVE, DEF SEG, CLEAR, FRE, PEEK, POKE

 BSAVE,  BLOAD


BSAVE kopiuje zawartość obszaru pamięci do pliku.
BLOAD ładuje plik utworzony przez BSAVE do pamięci.

BSAVE filespec$, offset%, długość&
BLOAD filespec$[,offset%]

     filespec$   Dla BSAVE - plik, do którego kopiowany jest obszar pamięci
                  (obraz pamięci bajt po bajcie). Dla BLOAD - plik obrazu
                  pamięci utworzony przez uprzednie BSAVE.

    • offset%     For BSAVE, the offset of the starting address of the
                  area of memory being saved. For BLOAD, the offset of
                  the address where loading starts.

    • długość&    Liczba bajtów do skopiowania (od 0 do 65535).

    • The starting address of the memory area saved or loaded is determined
      by the offset and the most recent DEF SEG statement.

Zobacz także:    DEF SEG    VARPTR, VARSEG    Różnice w porównaniu z BASICA
  MNEMOTECHNIKA: BINARY SAVE - zachowaj binarnie; BINARY LOAD - załaduj binarnie
↑ Alfabet   Rozdział

 DEF SEG


Ustawia adres bieżącego segmentu pamięci.

DEF SEG [=adres]

     adres      Adres segmentu użyty przez BLOAD, BSAVE, CALL ABSOLUTE,
                 PEEK, lub POKE; wartość z zakresu 0 - 65535. Jeśli adres
                 zostanie opuszczony, DEF SEG resetuje adres bieżącego
                 segmentu do domyślnego segmentu danych.
Przykład:
    DEF SEG = 0
    Status% = PEEK(&H417)              'Odczytuje status klawiatury.
    POKE &H417, (Status% XOR &H40)     'Zmienia stan Caps Lock, bit 6.

Zobacz także:    BSAVE, BLOAD    CALL ABSOLUTE    PEEK, POKE
  MNEMOTECHNIKA: DEFINE SEGMENT
↑ Alfabet   Rozdział

 CLEAR


Zamyka wszystkie pliki, zwalnia bufory plikowe, czyści wszystkie zmienne
COMMON, zmiennym numerycznym i tablicowym przypisuje wartość zero, zmiennym
łańcuchowym - łańcuch pusty i inicjalizuje stos. Opcjonalnie, CLEAR także
zmienia wielkość stosu.

CLEAR [,,stos&]

     stos&    Ustawia rozmiar (w bajtach) stosu dla bieżącego programu.

Przykład:
    CLEAR ,,2000

Zobacz także:    ERASE

  MNEMOTECHNIKA: CLEAR - oczyść
↑ Alfabet   Rozdział

 FRE


Zwraca ilość (w bajtach) dostępnej lub nieużywanej pamięci.

FRE(wyrażenie_numeryczne)
FRE(wyrażenie_łańcuchowe$)

     wyrażenie_numeryczne    Wartość, która określa typ pamięci:

                          Wartość             FRE zwraca
                          -----------------   -----------------------------
                          -1                  Rozmiar największej tablicy
                                              (niełańcuchowej), którą można
                                              utworzyć

                          -2                  Nieużywane miejsce na stosie

                          Każda inna liczba   Przestrzeń dostępna
                                              dla łańcuchów

    • wyrażenie_łańcuchowe$   Dowolne wyrażenie łańcuchowe. FRE kompaktuje
                            wolną przestrzeń dla łańcuchów w pojedynczy blok,
                            po czym zwraca ilość miejsca dostępnego dla
                            łańcuchów.
Przykład:
    PRINT "Przestrzeń dla lańcuchow", FRE("")
    PRINT "Nieuzywane miejsce na stosie "; FRE(-2)
    PRINT "Przestrzen dla tablic", FRE(-1)


Przestrzen dla lancuchow 30470 Nieuzywane miejsce na stosie 1160 Przestrzen dla tablic 158310
  MNEMOTECHNIKA: FREE - wolny
↑ Alfabet   Rozdział

 PEEK,    POKE


PEEK zwraca wartość bajtu przechowywanego w określonym miejscu pamięci.
POKE wpisuje wartość bajtu do określonego miejsca pamięci.

PEEK(adres)
POKE adres,bajt%

     adres      Pozycja bajtu względem adresu bieżącego segmentu,
                 określonego przez DEF SEG, wartość z zakresu 0 - 65535.

    • bajt%      Wartość bajtu do wpisania do pamięci, z zakresu 0 do 255.

Przykład:
    DEF SEG = 0
    Status% = PEEK(&H417)              'Odczytuje status klawiatury.
    POKE &H417, (Status% XOR &H40)     'Zmienia stan Caps Lock, bit 6.

Zobacz także:    DEF SEG
  MNEMOTECHNIKA: PEEK - zerknij; POKE - wetknij
↑ Alfabet   Rozdział
Przekład: D.A.M. Deger (Damian Gawrych) lipiec 2006



« Ogólny spis treści »    « Indeks »


 Operacje na łańcuchach

ASC, CHR$, HEX$, INSTR, LCASE$, LEFT$, LEN, LSET, LTRIM$, funkcja MID$, polecenie MID$, OCT$, RIGHT$, RSET, RTRIM$ SPACE$, STR$, STRING$, UCASE$, VAL

 ASC,  CHR$


ASC zwraca kod ASCII pierwszego znaku w wyrażeniu łańcuchowym.
CHR$ zwraca znak odpowiadający określonemu kodowi ASCII.

ASC(wyrażenie_łańcuchowe$)
CHR$(ascii-code%)

     wyrażenie_łańcuchowe$    Jakieś wyrażenie łańcuchowe.

    • ascii-code%              Kod ASCII żądanego znaku.

Przykład:
    PRINT ASC("Q")    'Wypisze:  81
    PRINT CHR$(65)    'Wypisze:  A

Zobacz także:    Tabela kodów ASCII
  MNEMOTECHNIKA: CHARACTER - znak (drukarski)
↑ Alfabet   Rozdział

 HEX$,  OCT$


HEX$ zwraca łańcuch heksadecymalnej reprezentacji liczby dziesiętnej.
OCT$ zwraca łańcuch ósemkowej reprezentacji liczby dziesiętnej.

HEX$(wyrażenie_numeryczne&)
OCT$(wyrażenie_numeryczne&)

     wyrażenie_numeryczne&  Jakieś wyrażenie numeryczne. Wyrażenie jest
                             zaokrąglane do liczby całkowitej lub długiej
                             liczby całkowitej przed przekształceniem.

Przykład:
    INPUT x
    a$ = HEX$ (x)
    b$ = OCT$ (x)
    PRINT x; "dziesietnie to "; a$; " szesnastkowo i "; b$; " ósemkowo."

? 255
 255 dziesietnie to FF szesnastkowo i 377 ósemkowo.



↑ Alfabet   Rozdział

 INSTR


Zwraca pozycję pierwszego wystąpienia łańcucha w innym łańcuchu.

INSTR([start%,]wyrażenie_łańcuchowe1$,wyrażenie_łańcuchowe2$)

     start%                Ustawia pozycję znaku, od którego rozpocznie się
                            przeszukiwanie. Jeżeli start% jest opuszczone,
                            INSTR rozpoczyna od pozycji 1.

    • wyrażenie_łańcuchowe1$    Łańcuch do znalezienia.
    • wyrażenie_łańcuchowe2$    Łańcuch przeszukiwany.

Zobacz także:    LEFT$, RIGHT$    LEN    MID$

Przykład:
    a$ = "Microsoft QBasic"
    PRINT "Pozycja łańcucha ="; INSTR(1, a$, "QBasic")

Pozycja łańcucha = 11



  MNEMOTECHNIKA: IN STRING - w łańcuchu (znaków drukarskich)
↑ Alfabet   Rozdział

 LCASE$,  UCASE$


Przekształca litery w łańcuchu na wszystkie duże lub wszystkie małe.

LCASE$(wyrażenie_łańcuchowe$)
UCASE$(wyrażenie_łańcuchowe$)

     wyrażenie_łańcuchowe$    Jakieś wyrażenie łańcuchowe.

Przykład:
    Test$ = "THE string"
    PRINT Test$
    PRINT LCASE$(Test$); " małymi literami"
    PRINT UCASE$(Test$); " DUŻYMI LITERAMI"

THE string
the string małymi literami
THE STRING DUŻYMI LITERAMI




  MNEMOTECHNIKA: LOWER CASE; (UPPER) CASE - poczet liter małych; (dużych)
↑ Alfabet   Rozdział

 LEFT$,  RIGHT$


Zwraca określoną liczbę znaków łańcucha, liczoną od prawej lub od lewej.

LEFT$(wyrażenie_łańcuchowe$,n%)
RIGHT$(wyrażenie_łańcuchowe$,n%)

     wyrażenie_łańcuchowe$    Jakieś wyrażenie łańcuchowe.

    • n%                  Liczba znaków, które mają być zwrócone, poczynając
                          od skrajnego z lewej lub skrajnego z prawej.

Przykład:
    a$ = "Microsoft QBasic"
    PRINT LEFT$(a$, 5)     'Wypisze:  Micro
    PRINT RIGHT$(a$, 5)    'Wypisze:  Basic

Zobacz także:    MID$

  MNEMOTECHNIKA: LEFT - lewa, RIGHT - prawa strona
↑ Alfabet   Rozdział

 LEN


Zwraca liczbę znaków w łańcuchu lub liczbę bajtów wymaganą do przechowania
zmiennej.

LEN(wyrażenie_łańcuchowe$)
LEN(zmienna)

     wyrażenie_łańcuchowe$   Dowolne wyrażenie łańcuchowe.

    • zmienna                 Dowolna zmienna niełańcuchowa.

Przykład:
    a$ = "Microsoft QBasic"
    PRINT LEN(a$)   ' Wypisze: 16

Zobacz także:    OPEN

  MNEMOTECHNIKA: LENGHT - długość
↑ Alfabet   Rozdział

 LSET,  RSET


LSET i RSET przenoszą dane do bufora pliku o swobodnym dostepie (w przygoto-
waniu dla polecenia PUT) i justują do prawej lub do lewej wartość zmiennej
łańcuchowej. LSET także kopiuje zawartość jednego rekordu zmiennej do innego.

LSET zmienna_łancuchowa$=wyrażenie_łańcuchowe$
RSET zmienna_łancuchowa$=wyrażenie_łańcuchowe$
LSET zmienna_rekordowa1=zmienna_rekordowa2

     zmienna_łańcuchowa$    Jakaś zmienna łańcuchowa albo pole pliku
                             o dostępie swobodnym zdefiniowane poleceniem
                             FIELD.

    • wyrażenie_łańcuchowe$  Dla LSET - justowana do lewej wersja
                             zmiennej_łancuchowej$. Dla RSET - justowana
                             do prawej wersja zmiennej_łancuchowej$.

    • zmienna_rekordowa1     Zmienne rekordowe dowolnego zdefiniowanego
      zmienna_rekordowa2     przez użytkownika typu. Stosuj LSET do przypi-
                             sania zmiennej rekordowej o jednym typie danych
                             do innego zdefiniowanego przez użytkownika typu
                             danych.

Zobacz także:    FIELD    GET, PUT

Przykład:
    OPEN "FILEDAT.DAT" FOR RANDOM AS #1 LEN = 10
    FIELD #1, 5 AS Ls1$, 5 AS Rs1$
    LSET Ls1$ = "LSET"
    RSET Rs1$ = "RSET"
    PUT #1, 1
    CLOSE #1
    OPEN "FILEDAT.DAT" FOR RANDOM AS #1 LEN = 10
    FIELD #1, 5 AS Ls2$, 5 AS Rs2$
    GET #1, 1
    PRINT "*" + Ls2$ + "*", "*" + Rs2$ + "*"
    CLOSE #1


*LSET * * RSET*
  MNEMOTECHNIKA: LEFT SET; RIGHT SET - układ z lewej; z prawej
↑ Alfabet   Rozdział

 LTRIM$,  RTRIM$


Usuwa z łańcucha wiodące i końcowe spacje.

LTRIM$(wyrażenie_łańcuchowe$)
RTRIM$(wyrażenie_łańcuchowe$)

     wyrażenie_łańcuchowe$    Dowolne wyrażenie łańcuchowe.

Przykład:
    a$ = "    Basic    "
    PRINT "*" + a$ + "*"            'Wypisze:  *    Basic    *
    PRINT "*" + LTRIM$(a$) + "*"    'Wypisze:  *Basic    *
    PRINT "*" + RTRIM$(a$) + "*"    'Wypisze:  *    Basic*

  MNEMOTECHNIKA: LEFT TRIM; RIGHT TRIM - przytnij z lewej; z prawej
↑ Alfabet   Rozdział

 MID$


Funkcja MID$ zwraca część łańcucha (substring).
Polecenie MID$ zastępuje część zmiennej łancuchowej innym łańcuchem.

MID$(wyrażenie_łańcuchowe$,start%[,długość%])
MID$(zmienna_łańcuchowa$,start%[,długość%])= wyrażenie_łańcuchowe$

      wyrażenie_łańcuchowe$    Łańcuch, z którego funkcja MID$ zwraca
                           substring, albo łańcuch zamienny użyty przez
                           polecenie MID$. Może być dowolnym wyrażeniem
                           łańcuchowym.

    • start%               Pozycja pierwszego znaku w substring'u, który
                           ma być zwrócony lub zamieniony.

    • długość%             Liczba znaków w substring'u. Jeżeli długość
                           zostanie pominięta, MID$ zwróci lub zamieni
                           wszystkie znaki na prawo od pozycji startu.
 
    • zmienna_łańcuchowa$  Zmienna łańcuchowa podlegająca modyfikacji
                           przez polecenie MID$.

Przykład:
    a$ = "Where is Paris?"
    PRINT MID$(a$, 10, 5)       'Wypisze:  Paris
    Text$ = "Paris, France"
    PRINT Text$                 'Wypisze:  Paris, France
    MID$(Text$, 8) = "Texas "
    PRINT Text$                 'Wypisze:  Paris, Texas

Zobacz także:    LEFT$, RIGHT$    LEN

  MNEMOTECHNIKA: MIDDLE - środek
↑ Alfabet   Rozdział

 SPACE$


Zwraca łańcuch spacji.

SPACE$(n%)

     n%    Liczba spacji w zwracanym łańcuchu.

Zobacz także:    SPC    STRING$

Przykład:
    FOR i% = 1 TO 5
        x$ = SPACE$ (i%)
        PRINT x$; i%
    NEXT i%


1 2 3 4 5

  MNEMOTECHNIKA: SPACE - przestrzeń, spacja
↑ Alfabet   Rozdział

 STR$,  VAL


STR$ zwraca łańcuchową reprezentację liczby.
VAL konwertuje łańcuchową reprezentację liczby do liczby.

STR$(wyrażenie_numeryczne)
VAL(wyrażenie_łańcuchowe$)

     wyrażenie_numeryczne      Dowolne wyrażenie numeryczne.
    • wyrażenie_łańcuchowe$     Łańcuchowa reprezentacja liczby.

Przykład:
    PRINT "Dziesiętne 65 jest przedstawione szesnastkowo jako ";
    PRINT "&H" + LTRIM$(STR$(41))
    PRINT VAL(RIGHT$("Microsoft 1990", 4))


Dziesiętne 65 jest przedstawione szesnastkowo jako &H41 1990

  MNEMOTECHNIKA: VALUE - wartość
↑ Alfabet   Rozdział

STRING$ 


Zwraca łańcuch o określonej długości złożony z powtórzeń jednego znaku.

STRING$(długość%,{ascii-code% | wyrażenie_łańcuchowe$})


     length%                 Długość łańcucha.

    • ascii-code%             Kod ASCII powtarzanego znaku.

    • wyrażenie_łańcuchowe$   Dowolne wyrażenie łańcuchowe. STRING$
                              wypełni łańcuch pierwszym znakiem wyrażenia
                              _łańcuchowego$.


Zobacz także:    Tabela kodów ASCII

Przykład:
    PRINT STRING$(5, "-");
    PRINT "Hello";
    PRINT STRING$(5, "-")

-----Hello-----



  MNEMOTECHNIKA: STRING - ciąg znaków
↑ Alfabet   Rozdział
Przekład: D.A.M. Deger (Damian Gawrych) lipiec 2006



« Ogólny spis treści »    « Indeks »


 Operacje na liczbach

ABS, ATN, CDBL, CINT, CLNG, COS, CVI, CVL, CVS, CVD, CSNG, CVDMBF, CVSMBF, EXP, INT, LOG, MKI$, MKL$, MKS$, MKD$, MOD, RANDOMIZE, RND, SGN, SIN, SQR, TAN

 ABS,  SGN


ABS zwraca wartość bezwzględną liczby.
SGN zwraca wartość wskazującą znak wyrażenia numerycznego (1 gdy wyrażenie
jest dodatnie, 0 gdy jest równe zeru lub -1 gdy jest ujemne).

ABS(wyrażenie_numeryczne)
SGN(wyrażenie_numeryczne)

     wyrażenie_numeryczne    Dowolne wyrażenie numeryczne.

Przykład:
    PRINT ABS(45.5 - 100!)           'Wypisze:  54.5
    PRINT SGN(1), SGN(-1), SGN(0)    'Wypisze:  1       -1       0

↑ Alfabet   Rozdział

 ATN,  COS,  SIN,  TAN


ATN zwraca arcustangens wyszczególnionego wyrażenia numerycznego.
COS, SIN, i TAN zwracają cosinus, sinus i tangens wyszczególnionego kąta.

ATN(wyrażenie_numeryczne)
COS(kąt)
SIN(kąt)
TAN(kąt)

     wyrażenie_numeryczne  The ratio between the sides of a right triangle.
    • kąt                   Kąt wyrażony w radianach.

    • Funkcja ATN zwraca kąt w radianach.
    • Aby zamienic stopnie na radiany, pomnóż stopnie przez (PI / 180).

Przykład:
    CONST PI=3.141592654
    PRINT ATN(TAN(PI/4.0)), PI/4.0    'Wypisze:  .7853981635  .7853981635
    PRINT (COS(180 * (PI / 180)))     'Wypisze:  -1
    PRINT (SIN(90 * (PI / 180)))      'Wypisze:  1
    PRINT (TAN(45 * (PI / 180)))      'Wypisze:  1.000000000205103
↑ Alfabet   Rozdział

 CDBL,  CSNG


CDBL konwertuje wyrażenie numeryczne do wartości podwójnej precyzji.
CSNG konwertuje wyrażenie numeryczne do wartości pojedynczej precyzji.

CDBL(wyrażenie_numeryczne)
CSNG(wyrażenie_numeryczne)

     wyrażenie_numeryczne    Dowolne wyrażenie numeryczne.

Przykład:
    PRINT 1 / 3, CDBL(1 / 3)    'Wypisze:  .3333333  .3333333333333333
    PRINT CSNG(975.3421515#)    'Wypisze:  975.3422

Zobacz także:    CINT, CLNG

↑ Alfabet   Rozdział

 CINT,  CLNG


CINT zaokrągla wyrażenie numeryczne do liczby całkowitej.
CLNG zaokrągla wyrażenie numeryczne do długiej (4-bajtowej)liczby całkowitej.
 

CINT(wyrażenie_numeryczne)
CLNG(wyrażenie_numeryczne)

     wyrażenie_numeryczne  Dla CINT - dowolne wyrażenie numeryczne
                            z zakresu od -32768 do 32767.
                            Dla CLNG - dowolne wyrażenie numeryczne
                            z zakresu od -2 147 483 648 do 2 147 483 647.

Przykład:
    PRINT CINT(12.49), CINT(12.51)    'Wypisze:  12  13
    PRINT CLNG(338457.8)              'Wypisze:  338458

Zobacz także:    CDBL, CSNG    FIX, INT

↑ Alfabet   Rozdział

 MKI$,  MKL$,  MKS$,  MKD$,  CVI,  CVL,  CVS,  CVD


MKI$, MKL$, MKS$, i MKD$ konwertują liczby do łańcuchów liczbowych, które
mogą być składowane w zmiennych łańcuchowych polecenia FIELD. CVI, CVL, CVS
i CVD konwertuje takie łańcuchy z powrotem na liczby.

MKI$(wyrażenie_całkowite%)
MKL$(wyrażenie_long-integer&)  
MKS$(wyrażenie_pojedynczej_precyzji!)
MKD$(wyrażenie_podwójnej_precyzji#)
CVI(2-bajtowy _łańcuch_liczbowy)
CVL(4-bajtowy _łańcuch_liczbowy)  
CVS(4-bajtowy _łańcuch_liczbowy)
CVD(8-bajtowy _łańcuch_liczbowy)

    Funkcja     Zwraca              Funkcja     Zwraca
    --------    -----------------   --------    ---------------------------
    MKI$        2-bajtowy łańcuch   CVI         Liczbę całkowitą
    MKL$        4-bajtowy łańcuch   CVL         Dlugą liczbę całkowitą
    MKS$        4-bajtowy łańcuch   CVS         Liczbę pojedynczej precyzji
    MKD$        8-bajtowy łańcuch   CVD         Liczbę podwójnej precyzji

Zobacz także:    FIELD    MKSMBF$, MKDMBF$, CVSMBF, CVDMBF


↑ Alfabet   Rozdział

 MKSMBF$,  MKDMBF$,  CVSMBF,  CVDMBF


MKSMBF$ i MKDMBF$ konwertuje liczby formatu IEEE na łańcuchy liczbowe
formatu Microsoft-Binary, które mogą być składowane w zmiennych łańcuchowych
polecenia FIELD. CVSMBF i CVDMBF konwertują takie łańcuchy z powrotem
do liczb formatu IEEE.

MKSMBF$(wyrażenie_pojedynczej_precyzji!)
MKDMBF$(wyrazenie_podwójnej_precyzji#)
CVSMBF (4-bajtowy_łańcuch_numeryczny)
CVDMBF (8-bajtowy_łańcuch_numeryczny)

    Funkcja     Zwraca
    --------    ------------------------------------------------
    MKSMBF$     4-bajtowy łańcuch zawierający liczbę w formacie
                  Microsoft-Binary
    MKDMBF$     8-bajtowy łańcuch zawierający liczbę w formacie
                  Microsoft-Binary
    CVSMBF      Liczbę pojedynczej precyzji w formacie IEEE

    CVDMBF      Liczbę podwójnej precyzji w formacie IEEE

    • Te funkcje są użyteczne przy uzywaniu plików danych utworzonych
      przez starsze wersje Basica.

Zobacz także:    FIELD    MKn$, CVn

Przykład:
    TYPE Buffer
        SngNum AS STRING * 4
        DblNum AS STRING * 8
    END TYPE
    DIM RecBuffer AS Buffer
    OPEN "TESTDAT.DAT" FOR RANDOM AS #1 LEN = 12
    SNum = 98.9
    DNum = 645.3235622#
    RecBuffer.SngNum = MKSMBF$(SNum)
    RecBuffer.DblNum = MKDMBF$(DNum)
    PUT #1, 1, RecBuffer
    GET #1, 1, RecBuffer
    CLOSE #1
    PRINT CVSMBF(RecBuffer.SngNum), CVDMBF(RecBuffer.DblNum)


98.9 645.3235473632812
↑ Alfabet   Rozdział

 EXP,  LOG


EXP zwraca e podniesione do określonej potęgi, gdzie e jest podstawą
logarytmów naturalnych. LOG zwraca logarytm naturalny wyrażenia numerycznego.

EXP(wyrażenie_numeryczne)
LOG(wyrażenie_numeryczne)

     wyrażenie_numeryczne   Dla EXP - liczba mniejsza od lub równa 88.02969
                             Dla LOG - każde dodatnie wyrażenie numeryczne.

Przykład:
    PRINT EXP(0), EXP(1)         'Wypisze:  1        2.718282
    PRINT LOG(1), LOG(EXP(1))    'Wypisze:  0        1

↑ Alfabet   Rozdział

 FIX,  INT


FIX przycina wyrażenie zmiennoprzecinkowe do jego części całkowitej.
INT zwraca największą liczbę całkowitą mniejszą niż lub równą
wyrażeniu numerycznemu.

FIX(wyrażenie_numeryczne)
INT(wyrażenie_numeryczne)

     wyrażenie_numeryczne    Dowolne wyrażenie numeryczne.

Przykład:
    PRINT FIX(12.49), FIX(12.54)    'Wypisze:  12        12
    PRINT INT(12.54), INT(-99.4)    'Wypisze:  12        -100

Zobacz także:    CINT, CLNG

↑ Alfabet   Rozdział

 MOD


Dzieli jedną liczbę przez drugą i zwraca resztę z dzielenia.

wyrażenie_numeryczne1 MOD wyrażenie_numeryczne2
  wyrażenie_numeryczne1     Dowolne wyrażenia numeryczne. Liczby
       wyrażenie_numeryczne2     rzeczywiste są zaokrąglane do całkowitych.

Przykład:
    PRINT 19 MOD 6.7    'QBasic zaokrągla 6.7 do 7, i następnie dzieli.
                        'Wynikiem jest:  5
↑ Alfabet   Rozdział

 RANDOMIZE,  RND


RANDOMIZE inicjalizuje generator liczb pseudolosowych.
RND zwraca liczbę losową pojedynczej precyzji pomiędzy 0 i 1.

RANDOMIZE [seed%]
RND[(n#)]

     seed%    Liczba użyta do inicjalizacji generatora liczb pseudolosowych.
               Jeśli opuszczona, RANDOMIZE upomina się o nią.
    • n#       Wartość, która ustala, jak RND generuje następną liczbę
               losową:

               n#                             RND zwraca
               ---------------------------    -----------------------------
               Mniej niż 0                    Tą samą liczbę dla każdego n#
               Wiecej niż 0 (lub brak)        Następną liczbę losową
               0                              Ostanią wygenerowaną liczbę

Przykład:
    RANDOMIZE TIMER
    x% = INT(RND * 6) + 1
    y% = INT(RND * 6) + 1
    PRINT "Rzut dwoma kostkami: kostka 1 ="; x%; "i kostka 2 ="; y%

Rzut dwoma kostkami: kostka 1 = 3 i kostka 2 = 6



↑ Alfabet   Rozdział

 SQR


Zwraca pierwiastek kwadratowy z wyrażenia numerycznego.

SQR(wyrażenie_numeryczne)

     wyrażenie_numeryczne    Wartość większa niż albo równa zero.

Przykład:
    PRINT SQR(25), SQR(2)    'Wypisze:  5  1.414214

↑ Alfabet   Rozdział
Przekład: D.A.M. Deger (Damian Gawrych) lipiec 2006



« Ogólny spis treści »    « Indeks »


  Ustawianie pułapek zdarzeń i błędów

COM, ERDEV, ERDEV$, ERL, ERR, ERROR, KEY (Event Trapping), ON COM, ON ERROR, ON KEY, ON PEN, ON PLAY, ON STRIG, ON TIMER, PEN (zdarzenia), PEN (funkcja), PLAY (Event Trapping), RESUME, SLEEP, STICK, STRIG, funkcja TIMER, polecenie TIMER TRON, TROFF, VARPTR$

 COM,  ON COM...GOSUB


COM uaktywnia, dezaktywuje lub zawiesza wychwytywanie zdarzeń na porcie
komunikacyjnym. Kiedy wychwytywanie zdarzeń jest aktywne, ON COM odsyła
do podprogramu gdy znaki są odbierane przez port.


COM(n%) ON
COM(n%) OFF
COM(n%) STOP
ON COM(n%) GOSUB linia  n%              Numer portu (szeregowego) COM (1 lub 2).

    • COM(n%) ON      Uaktywnia wychwytywanie zdarzeń komunikacyjnych.

    • COM(n%) OFF     Dezaktywuje wychwytywanie zdarzeń komunikacyjnych.

    • COM(n%) STOP    Zawiesza wychwytywanie zdarzeń komunikacyjnych.
                      Zdarzenia będą przetwarzane, gdy tylko ich wychwyty-
                      wanie zostanie uaktywnione przez COM ON.

    • linia           Etykieta lub numer pierwszej linii podprogramu
                      wychwytywania zdarzeń.

Zobacz także:    OPEN COM

Przykład:
    COM(1) ON       'Uaktywnia wychwytywanie zdarzeń w porcie 1.
    ON COM(1) GOSUB ComHandler
    DO : LOOP WHILE INKEY$ = ""
    COM(1) OFF
    END

    ComHandler:
        PRINT "Coś zostało wpisane na terminalu przyłączonym do COM1."
        RETURN

↑ Alfabet   Rozdział

 ERDEV,  ERDEV$


ERDEV zwraca kod błędu z ostatniego urządzenia, które spowodowało krytyczny
błąd. ERDEV$ zwraca nazwę urządzenia, które generuje błąd.

ERDEV
ERDEV$ 

    • Młodszy bajt wartości zwracanej przez ERDEV zawiera DOS-owski kod
      błędu. Starszy bajt zawiera informację o atrybucie urządzenia.


Przykład

Zobacz także:    ERR, ERL    ON ERROR


'Ilustruje ERDEV, ERDEV$, ERL, ERR, ERROR, ON ERROR, i RESUME.

   ON ERROR GOTO Handler
10 CHDIR "a:\"                'Powoduje ERR 71 "Disk not ready"
                              'gdy brak dyskietki w stacji A.
20 y% = 0
30 x% = 5 / y%                'ERR 11 "Division by zero."
40 PRINT "x% ="; x%
50 ERROR 57                   'ERR 57 "Device I/O error."

Handler:
  PRINT
  PRINT "Error "; ERR; " on line "; ERL
  SELECT CASE ERR
    CASE 71
      PRINT "Użyte urzadzenie "; ERDEV$; " kod bledu urzadzenia = "; ERDEV
      RESUME NEXT
    CASE 11
      INPUT "Jaka wartosc chcesz podzielic"; y%
      RESUME                  'Powtarza linię 30 z nową wartością y%.
    CASE ELSE
      PRINT "Nieprzewidziany błąd; zakończenie programu."
      END
  END SELECT


Error 71 on line 10 Użyte urzadzenie A: kod bledu urzadzenia = 2 Error 11 on line 30 Jaka wartosc chcesz podzielic? 10 x% = 0 Error 57 on line 50 Nieprzewidziany błąd; zakończenie programu.
↑ Alfabet   Rozdział

 ERR,  ERL


ERR zwraca kod najświeższego błędu.
ERL zwraca numer linii, w której wystąpił błąd, lub najbliższy numer linii
przed linią gdzie wystąpił błąd.

ERR
ERL 

    • ERL nie zwraca etykiet linii. Jeżeli w programie nie ma numerów
      linii, ERL zwraca 0.

Przykład

Zobacz także:    ERDEV, ERDEV$    ERROR    ON ERROR    RESUME
                 Kody błędów

↑ Alfabet   Rozdział

 ERROR


Symuluje wystąpienie błędu Basica lub błędu zdefiniowanego przez użytkownika.

ERROR wyrażenie% 

    • wyrażenie%     Kod błedu Basica lub zdefiniowanego przez użytkownika;
                     wartość z zakresu 1 do 255. Aby zdefiniować własny błąd,
                     zastosuj liczbę która nie jest wymieniona w tabeli
                     'Kody błędów'.
Przykład

Zobacz także:    ERDEV, ERDEV$    ERR, ERL    ON ERROR    RESUME

↑ Alfabet   Rozdział

 KEY     (Wychwytywanie zdarzeń)


KEY aktywuje, dezaktywuje lub zawiesza wychwytywanie zdarzeń klawiatury.
Kiedy wychwytywanie jest aktywne, ON KEY przechodzi do podprogramu gdy
zostaje naciśnięty klawisz.

KEY(n%) ON
KEY(n%) OFF
KEY(n%) STOP
ON KEY(n%) GOSUB linia
 n%         Wartość, która określa klawisz funkcyjny, klawisz
                 strzałki lub klawisz zdefiniowany przez użytkownika:

                     n%        Klawisz
                     ------    --------------------------------------------
                     0         Wszystkie klawisze wymienione tutaj (tylko
                                KEY(0) ON, KEY(0) OFF i KEY(0) STOP).

                     1-10      Klawisze funkcyjne F1-F10.

                     11        Klawisz strzałki w górę.
                     12        Klawisz strzałki w lewo.
                     13        Klawisz strzałki w prawo.
                     14        Klawisz strzałki w dół.

                     15-25     Klawisze zdefiniowane przez użytkownika.
                               Po więcej informacji - zobacz:
                               Deklarowanie klawiszy użytkownika.

                     30, 31    Klawisze funkcyjne F11 and F12.


    • KEY(n%) ON     Aktywuje wychwytywanie zdarzeń dla określonego klawisza.

    • KEY(n%) OFF    Dezaktywuje wychwytywanie zdarzeń klawiszowych.

    • KEY(n%) STOP   Zawiesza wychwytywanie zdarzeń klawiszowych. Zdarzenia
                     będą przetwarzane znowu, gdy wychwytywanie zostanie
                     aktywowane przez KEY ON.

    • linia          Etykieta albo numer pierwszej linii podprogramu
                     obsługi zdarzenia.

Zobacz także:    KEY (Przypisanie)    Deklarowanie klawiszy użytkownika

Przykład:
    'Ten przykład wymaga wyłączenia Caps Lock i Num Lock.
    CONST ESC = 27
    KEY 15, CHR$(&H4) + CHR$(&H1F)              'Set up Ctrl+S as KEY 15.
    ON KEY(15) GOSUB PauseHandler
    KEY(15) ON
    WHILE INKEY$ <> CHR$(ESC)
        PRINT "Press Esc to stop, Ctrl+S to pause."
        PRINT
    WEND
    END

    PauseHandler:
        SLEEP 1
        RETURN


Press Esc to stop, Ctrl+S to pause. Press Esc to stop, Ctrl+S to pause. Press Esc to stop, Ctrl+S to pause. Press Esc to stop, Ctrl+S to pause. Press Esc to stop, Ctrl+S to pause. Press Esc to stop, Ctrl+S to pause.
↑ Alfabet   Rozdział

 PEN,    ON  PEN


PEN aktywuje, dezaktywuje lub zawiesza wychwytywanie zdarzeń pióra
świetlnego. Kiedy wychwytywanie jest aktywne, ON PEN przechodzi
do podprogramu, gdy aktywowane jest pióro.

PEN ON
PEN OFF
PEN STOP
ON PEN GOSUB linia
 PEN ON      Aktywuje wychwytywanie zdarzeń pióra.

    • PEN OFF     Dezaktywuje wychwytywanie zdarzeń pióra.

    • PEN STOP    Zawiesza wychwytywanie zdarzeń pióra. Zdarzenia
                  będą przetwarzane znowu, gdy wychwytywanie zostanie
                  aktywowane przez PEN ON.

    • linia       Etykieta albo numer pierwszej linii podprogramu
                  obsługi zdarzenia.


Zobacz także:    Funkcja PEN

Przykład:
    'Ten przykład wymaga pióra świetlnego.
    ON PEN GOSUB Handler
    PEN ON
    PRINT "Esc - wyjscie."
    DO UNTIL INKEY$ = CHR$(27): LOOP
    END

Handler:
    PRINT "Pióro jest w wierszu"; PEN(6); ", kolumnie"; PEN(7)
    RETURN
↑ Alfabet   Rozdział

  funkcja PEN

Zwraca status pióra świetlnego.

PEN(n%)

     n%    Określa zwracaną informację na temat stanu pióra:

            n%    Zwraca
            --    ---------------------------------------------------------
            0     Czy pióro było użyte od ostatniego wywołania (-1, gdy tak,
                  0, gdy nie)
            1     Współrzędna ekranowa x ostatniego naciśnięcia pióra
            2     Współrzędna ekranowa y ostatniego naciśnięcia pióra
            3     Bieżący stan przełącznika pióra (-1, gdy wciśnięty, 
                  0 gdy nie
            4     Współrzędna ekranowa x miejsca, gdzie pióro ostatnio
                  pozostawało na ekranie
            5     Współrzędna ekranowa y miejsca, gdzie pióro ostatnio
                  pozostawało na ekranie
            6     Wiersz znaku przy ostatnim naciśnięciu pióra
            7     Kolumna znaku przy ostatnim naciśnięciu pióra
            8     Wiersz znaku, gdzie pióro ostatnio pozostawało na ekranie
            9     Kolumna znaku, gdzie pióro ostatnio pozostawało na ekranie

Przykład:
    DO
      P = PEN(3)
      LOCATE 1, 1: PRINT "Pen is ";
      IF P THEN PRINT "down" ELSE PRINT "up  "
      PRINT "X ="; PEN(4), " Y ="; PEN(5); "  "
    LOOP

Zobacz także:     polecenia PEN, ON PEN    SCREEN    Tryby ekranowe


Pen is up X = 0 Y = 0
↑ Alfabet   Rozdział

 ON  ERROR


Aktywuje obsługę błedu i gdy wystąpi błąd wykonania programu, kieruje
program do podprogramu obsługi błedu, albo wznawia wykonywanie.

ON ERROR {GOTO linia | RESUME NEXT}
 GOTO linia     Przechodzi do pierwszej linii podprogramu
                     obsługi błędu, określonej przez etykietę albo numer
                     linii. Aby dezaktywować obsługę błedu, zapisz GOTO 0.

    • RESUME NEXT    Wznawia wykonywanie programu od polecenia następnego
                     po tym, które spowodowało błąd wykonania. Stosuj
                     funkcję ERR do uzyskania kodu tego błędu.

    • Jeśli nie stosuje się ON ERROR, każdy błąd wykonania powoduje
      zakończenie programu.

Przykład

Zobacz także:    ERDEV, ERDEV$    ERR, ERL    ERROR    GOTO    RESUME

↑ Alfabet   Rozdział

 PLAY,    ON  PLAY


PLAY aktywuje, dezaktywuje lub zawiesza wychwytywanie zdarzeń dźwiękowych.
Kiedy wychwytywanie jest aktywne, ON PLAY przechodzi do podprogramu, gdy
bufor muzyczny zawiera mniej, niż określoną liczbę nut.

PLAY ON
PLAY OFF
PLAY STOP
ON PLAY(limit_kolejki%) GOSUB linia
 PLAY ON        Aktywuje wychwytywanie zdarzeń dźwiękowych.

    • PLAY OFF       Dezaktywuje wychwytywanie zdarzeń dźwiękowych.

    • PLAY STOP      Zawiesza wychwytywanie zdarzeń dźwiękowych. Zdarzenia
                     będą przetwarzane znowu, gdy wychwytywanie zostanie
                     aktywowane przez PLAY ON.

    • limit_kolejki%    Liczba z zakresu 1 do 32. ON PLAY przechodzi
                     do podprogramu gdy mniej niż limit_kolejki% nut zostało
                     w buforze muzycznym.

    • linia          Etykieta albo numer pierwszej linii podprogramu
                     obsługi zdarzenia.

Przykład:
    ON PLAY(3) GOSUB Background
    PLAY ON
    Music$ = "MBo3L8ED+ED+Eo2Bo3DCL2o2A"
    PLAY Music$
    LOCATE 2, 1: PRINT "Press any key to stop.";
    DO WHILE INKEY$ = "": LOOP
    END

    Background:
        i% = i% + 1
        LOCATE 1, 1: PRINT "Background called "; i%; "time(s)";
        PLAY Music$
        RETURN

Zobacz także:    PLAY (Muzyka)    Funkcja PLAY

↑ Alfabet   Rozdział

 TIMER  ON,    ON  TIMER


TIMER aktywuje, dezaktywuje lub zawiesza wychwytywanie zdarzeń zegara.
Jeśli wychwytywanie jest aktywne, ON TIMER przechodzi do podprogramu
gdy upłynie określona ilość sekund.

TIMER ON
TIMER OFF
TIMER STOP
ON TIMER(n%) GOSUB linia
 TIMER ON      Aktywuje wychwytywanie zdarzeń zegara.

    • TIMER OFF     Dezaktywuje wychwytywanie zdarzeń zegara.

    • TIMER STOP    Zawiesza wychwytywanie zdarzeń zegara.  Zdarzenia
                    będą przetwarzane znowu, gdy wychwytywanie zostanie
                    aktywowane przez TIMER ON.

    • n%            Liczba sekund, która ma upłynąć, zanim ON TIMER
                    przejdzie do podprogramu wychwytywania zdarzeń; wartość
                    z zakresu 1 do 86400 (24 godziny).

    • linia         Etykieta albo numer pierwszej linii podprogramu
                    obsługi zdarzenia.

Zobacz także:    Funkcja TIMER

Przykład:
    ON TIMER(1) GOSUB TimeUpdate
    TIMER ON
    CLS
    PRINT "Time: "; TIME$
    StartTime = TIMER
    WHILE TimePast < 10
        TimePast = TIMER - StartTime
    WEND
    END

    TimeUpdate:
        LOCATE 1, 7: PRINT TIME$
        RETURN
↑ Alfabet   Rozdział

 STRIG,   ON STRIG Statements


STRIG aktywuje, dezaktywuje lub zawiesza przechwytywanie zdarzeń joystick'a.
Kiedy wychwytywanie jest aktywne, ON STRIG przechodzi do podprogramu gdy
zostaje naciśnięty określony przycisk joystick'a.

STRIG(n%) ON
STRIG(n%) OFF
STRIG(n%) STOP
ON STRIG(n%) GOSUB linia

 n%                Wartości określające przycisk joystick'a:

                        n%    Przycisk
                        --    --------------------------
                        0     Dolny przycisk, joystick A
                        2     Dolny przycisk, joystick B
                        4     Górny przycisk, joystick A
                        6     Górny przycisk, joystick B


    • STRIG(n%) ON      Aktywuje wychwytywanie zdarzeń joystick'a.

    • STRIG(n%) OFF     Dezaktywuje wychwytywanie zdarzeń joystick'a.

    • STRIG(n%) STOP    Zawiesza wychwytywanie zdarzeń joystick'a. Zdarzenia
                        będą przetwarzane znowu, gdy wychwytywanie zostanie
                        aktywowane przez STRIG ON.

    • linia             Etykieta albo numer pierwszej linii podprogramu
                        obsługi zdarzenia.

Przykład:
    'Ten przykład wymaga joystick'a.
    ON STRIG(0) GOSUB Handler
    STRIG(0) ON
    PRINT " Esc - wyjscie."
    DO UNTIL INKEY$ = CHR$(27): LOOP
    END

Handler:
    PRINT "Nacisnieto przycisk joystick'a."
    RETURN

Zobacz także:    STICK    Funkcja STRIG

↑ Alfabet   Rozdział

 RESUME


Wznawia wykonywanie programu po zadziałaniu podprogramu obsługi błędu.

RESUME
RESUME [{linia | NEXT}]
 linia   Etykieta lub numer linii, od której wznawia się wykonywanie.
              jeśli numer jest 0 lub jest opuszczony, wykonywanie rozpocznie
              się od polecenia, które spowodowało błąd.

    • NEXT    wznawia wykonywanie od polecenia następnego po tym, które
              spowodowało błąd.

Przykład

 Zobacz także:   ERROR    ON ERROR

↑ Alfabet   Rozdział

 SLEEP


Zawiesza wykonywanie programu.

SLEEP [sekundy&]
 sekundy&    Liczba sekund zawieszenia programu.

    • Jeśli sekundy& wynosi 0 lub jest opuszczone, program pozostaje
      zawieszony, dopóki nie zostanie naciśnięty klawisz albo nie nastąpi
      zdarzenie podlegające wychwytywaniu.

Przykład:
    PRINT "10 sekund drzemki..."
    SLEEP 10
    PRINT "Obudź się!"

Zobacz także:    WAIT

10 sekund drzemki...
Obudź się!



↑ Alfabet   Rozdział

 STICK


Zwraca współrzędne joystick'a.

STICK(n%)
 n%    Wskazuje zwracaną współrzędną:

            n%    Returns
            --    --------------------------
            0     Współrzędna x joystick'a A
            1     Współrzędna y joystick'a A
            2     Współrzędna x joystick'a B
            3     Współrzędna y joystick'a B

    • musisz wywołać STICK(0) zanim STICK(1), STICK (2), lub STICK(3).
      STICK(0) zarejestrują bieżące współrzedne.

Przykład:
    Temp% = STICK(0)
    PRINT STICK(2), STICK(3)

Zobacz także:    Funkcja STRIG    Polecenia STRIG, ON STRIG

↑ Alfabet   Rozdział

 funkcja STRIG


Zwraca status przycisku joystick'a.

STRIG(n%)
 n%    Wartość określająca stan joysticka:

      n%    Stan
      --    ---------------------------------------------------------------
      0     Dolny przycisk joystick'a A był naciśnięty po ostatnim STRIG(0)
      1     Dolny przycisk joystick'a A jest właśnie wciśnięty
      2     Dolny przycisk joystick'a B był naciśnięty po ostatnim STRIG(2)
      3     Dolny przycisk joystick'a B jest właśnie wciśnięty
      4     Górny przycisk joystick'a A był naciśnięty po ostatnim STRIG(4)
      5     Górny przycisk joystick'a A jest właśnie wciśnięty
      6     Górny przycisk joystick'a B był naciśnięty po ostatnim STRIG(6)
      7     Górny przycisk joystick'a B jest właśnie wciśnięty

    • STRIG zwraca -1 gdy warunek jest prawdziwy, w przeciwnym razie 0.

Przykład :
    PRINT "Press Esc to exit."
    DO
        IF STRIG(0) OR INKEY$ = CHR$(27) THEN EXIT DO
    LOOP
    DO
        BEEP                  'BEEP gdy przycisk A jest wciśnięty.
    LOOP WHILE STRIG(1)

Zobacz także:    STICK    Polecenia STRIG, ON STRIG

↑ Alfabet   Rozdział

 TIMER  (funkcja)


Zwraca liczbę sekund, która upłynęła od północy.

TIMER

    • Stosuj TIMER do mierzenia czasu w programie lub fragmencie programu,
      albo - z poleceniem RANDOMIZE - do inicjalizacji generatora liczb
      pseudolosowych.

Przykład:
    RANDOMIZE TIMER

  Zobacz także:  RANDOMIZE, RND    Polecenia TIMER, ON TIMER

↑ Alfabet   Rozdział

 TRON,  TROFF


TRON i TROFF włączają i wyłączają śledzenie poleceń programu (w procesie
poszukiwania błędów).

TRON
TROFF

    • Własciwości debuggera QBasica czynią te polecenia niepotrzebnymi.

Istotnie, śledzenie programu krok po kroku zapewnia klawisz F8, natomiast TRON nawet nie daje się skutecznie uruchomić. Za to w GW-Basicu sa one jedynym narzędziem do śledzenia programu; są tam uruchamiane w trybie bezpośrednim. (Przyp. tłum.)
Zobacz także: Klawisze uruchamiające
↑ Alfabet   Rozdział

 VARPTR$


Zwraca łańcuchową reprezentację adresu zmiennej do stosowania w poleceniach
DRAW i PLAY.

VARPTR$(commandstring$)
 commandstring$    Zmienna łańcuchowa zawierająca komendy
                        dla DRAW i PLAY.

Przykład:
    Scale$ = "CDEFGAB"
    PLAY "L16"
    FOR i% = 0 TO 6
        PLAY "O" + STR$(i%)
        PLAY "X" + VARPTR$(Scale$)
    NEXT i%

Zobacz także:   DRAW   PLAY (Muzyka)    VARPTR, VARSEG

↑ Alfabet   Rozdział
Przekład: D.A.M. Deger (Damian Gawrych) lipiec 2006



« Ogólny spis treści »    « Indeks »


  Operatory boolowskie (logiczne)

 NOT,  AND,  OR,  XOR,  EQV,  IMP


Operatory boolowskie (operatory logiczne) wykonują operacje na bitach,
operacje boolowskie (logiczne) albo testują wielorakie relacje. Zwracają
wartość Prawda (nie-zero) lub Fałsz (zero), która może zostać użyta
do podejmowania decyzji.

wynik = wyrażenie1 operator_boolowski wyrażenie2  operator_boolowski  Jeden z następujących operatorów boolowskich:

        NOT                 Dopełnienie bitowe (zaprzeczenie)
        AND                 Koniunkcja
        OR                  Dysjunkcja (łączne "or")
        XOR                 Rozłączne "or"
        EQV                 Równoważność
        IMP                 Implikacja

    • Wyniki zwracane przez każdy z operatorów pokazano w tabeli prawdy
      poniżej. T oznacza Prawdę (nie-zero), F - Fałsz (zero):

        Wyrażenie1   Wyrażenie2   NOT  AND  OR   XOR  EQV  IMP
        -----------  -----------  ---  ---  ---  ---  ---  ---
        T            T            F    T    T    F    T    T
        T            F            F    F    T    T    F    F
        F            T            T    F    T    T    F    T
        F            F            T    F    F    F    T    T

    • Operatory boolowskie są wykonywane po operacjach arytmetycznych
      i operacjach relacji, w kolejności nastepstwa.

    • Przed wykonaniem operacji boolowskiej wyrażenia są przekształcane
      do liczb całkowitych (integer) lub długich liczb całkowitych
      (long integer).

    • Jeśli przekształcone wyrażenie jest równe 0 lub -1, operacja boolowska
      zwraca jako wynik 0 lub -1. Ponieważ operatory boolowskie wykonują
      obliczenia na bitach, użycie wartości innych niż 0 dla Fałszu i -1
      dla Prawdy może prowadzić do nieprzewidzianych wyników.
↑ Alfabet   Rozdział




« Ogólny spis treści »    « Indeks »


  Typy danych 


  Typy danych:  INTEGER,  LONG,  SINGLE,  DOUBLE,  STRING


Określa typ danych w poleceniach deklaratywnych lub listach parametrów:

  • INTEGER      16-bitowa zmienna całkowitoliczbowa.
  • LONG         32-bitowa zmienna całkowitoliczbowa.   SINGLE       32-bitowa zmienna zmiennoprzecinkowa pojedynczej precyzji.
  • DOUBLE       64-bitowa zmienna zmiennoprzecinkowa podwójnej precyzji.
  • STRING * n%  Zmienna łańcuchowa o stałej długosci n% bajtów.   STRING       Zmienna łańcuchowa o zmiennej długości

Zobacz także:   AS        Zestaw znaków QBasica      COMMON     DECLARE
                DEF FN         DIM, REDIM            FUNCTION
                SHARED, STATIC               SUB     TYPE

↑ Alfabet   Rozdział
Przekład: D.A.M. Deger (Damian Gawrych) sierpień 2006



« Ogólny spis treści »    « Indeks »


  Dźwięk (PC speaker) 

BEEP, funkcja PLAY, polecenie PLAY (muzyka), SOUND

Zobacz także:
PLAY ON, PLAY OFF, PLAY STOP, VARPTR$

 BEEP


Generuje dźwięk brzęczyka z głośnika komputera.

BEEP 

↑ Alfabet   Rozdział

 funkcja PLAY


Zwraca liczbę nut pozostałą w buforze muzycznym.

PLAY(n)

     n    Jakieś wyrażenie numeryczne.

Przykład:
    Music$ = "MBT180o2P2P8L8GGGL2E-P24P8L8FFFL2D"
    PLAY Music$
    WHILE PLAY(0) > 5: WEND
    PRINT "Just about done!"

Zobacz także:    PLAY (Muzyka)    PLAY, ON PLAY (Event Trapping)

Just about done!



↑ Alfabet   Rozdział

  polecenie PLAY (Muzyka)


Odgrywa nuty.

PLAY commandstring$
 commandstring$    Wyrażenie łańcuchowe zawierające jedna lub
                        wiecej następujących komend PLAY:

      Oktawy i tony:
        Ooktawa    Ustawia bieżącą oktawę (0 - 6).
        < lub >    Przesuwa w górę lub w dół 0 jedną oktawę.
        A - G      Gra określoną nutę w bieżącej oktawie.
        Nnuta      Gra określoną nutę (0 - 84) z siedmiooktawowego zakresu
                   (0 - pauza).

      Czas trwania i tempo:
        Ldługość   Ustawia długość każdej nuty (1-64). L1 jest całą nutą,
                   L2 jest półnutą itd.
        ML         Ustawia muzykę legato.
        MN         Ustawia muzykę normalnie.
        MS         Ustawia muzykę staccato.
        Ppauza     Określa pauzę (1 - 64). P1 pauzuje całą nutę, P2 jest
                   pauzą półnutową itd.
        Ttempo     Ustawia tempo w ćwierćnutach na minutę (32 - 255).

      Komendy trybu:
        MF         Gra muzykę na pierwszym planie.
        MB         Gra muzykę w tle.

      Krzyżyk i bemol:
        # or +     Podwyższa nutę o pół tonu
        -          (bemol) Obniża nutę o pół tonu.
        .          Przedłuża czas grania nuty 3/2 raza.

    • Aby wykonać podłańcuch komend PLAY z łańcucha PLAY, zastosuj
      komendę "X":

      PLAY "X"+ VARPTR$(commandstring$)


Przykład:
    'Gra gamę w 7 różnych oktawach:
    scale$ = "CDEFGAB"
    PLAY "L16"
    FOR i% = 0 TO 6
        PLAY "O" + STR$(i%)
        PLAY "X" + VARPTR$(scale$)
    NEXT i%

Zobacz także:    BEEP     PLAY Function    PLAY, ON PLAY (Event Trapping)
                 SOUND    VARPTR$          Różnice w porównaniu z BASICA

↑ Alfabet   Rozdział

 SOUND


Generuje dźwięk przez głośnik komputera.

SOUND częstotliwość, czas

     częstotliwość    Częstotliwość dźwięku w hercach; wartość z zakresu
                       37 do 32767.

    • czas             Liczba cykli zegarowych trwania dźwięku; wartość
                       z zakresu 0 do 65535. W sekundzie jest 18.2 cykli.

Przykład:
    FOR i% = 440 TO 1000 STEP 5
    SOUND i%, i% / 1000
    NEXT i%

Zobacz także:    PLAY

↑ Alfabet   Rozdział
Przekład: D.A.M. Deger (Damian Gawrych) lipiec - sierpień 2006



« Ogólny spis treści »    « Indeks »


  Pozostałe słowa kluczowe 

ACCESS, APPEND, BINARY, INPUT, OUTPUT, RANDOM, AS, FIELD, LET, NEXT, OFF, ON,
KEY (definiowanie klawiszy użytkownika),
tryby otwarcia plików, funkcja PEN, RESET, STEP, TO, USING

 ACCESS


Określa typ dostępu użytkownika do otwieranego pliku.

ACCESS {READ | WRITE | READ WRITE}

     READ          Otwiera plik tylko do odczytu.

    • WRITE         Otwiera plik tylko do zapisu.

    • READ WRITE    Otwiera plik równocześnie do odczytu i zapisu. Tryb 
                    READ WRITE działa tylko dla plików o swobodnym dostępie
                    i plików binarnych oraz plików otwartych 'for APPEND'
                    (do dopisywania - dostęp sekwencyjny).

Zobacz także:    OPEN

↑ Alfabet   Rozdział

 APPEND,  BINARY,  INPUT,  OUTPUT,  RANDOM


Słowa kluczowe APPEND, BINARY, INPUT, OUTPUT, i RANDOM są używane
w poleceniu OPEN do określenia trybu otwarcia pliku. INPUT, OUTPUT
i  RANDOM są także używane w poleceniu OPEN COM.

    • APPEND określa, że plik będzie otwarty do zapisu sekwencyjnego
      i ustawia wskaźnik pliku na końcu pliku. Polecenie  PRINT #
      lub WRITE # wówczas poszerza plik (dodaje do pliku).

    • BINARY określa tryb binarny. W trybie binarnym można czytać
      lub zapisywać informację na pozycji każdego bajtu w pliku stosując
      polecenia GET lub PUT. 

    • INPUT określa, że plik jest otwierany do odczytu sekwenyjnego.

    • OUTPUT określa, że plik jest otwierany do zapisu sekwencyjnego.

    • RANDOM określa, że plik jest otwierany w trybie swobodnego dostępu.
      RANDOM jest domyślnym trybem otwarcia.


Zobacz także:    OPEN    OPEN COM    PRINT, LPRINT    WRITE

↑ Alfabet   Rozdział

 AS


Wykonuje różne działania jako część następujących poleceń:

    • W poleceniach COMMON, DECLARE, DEF FN, DIM, FUNCTION, REDIM, SHARED,
      STATIC, i SUB określa typ zmiennej.

    • W poleceniu TYPE określa typ elementu w typie danych użytkownika.

    • W poleceniu OPEN przypisuje numer pliku do pliku lub urządzenia.

    • W poleceniu FIELD określa nazwę pola.

    • W poleceniu NAME określa nową nazwę pliku.


Zobacz także:    COMMON    DECLARE     DEF FN    DIM, REDIM
                 FIELD     FUNCTION    NAME      OPEN
                 SHARED, STATIC        SUB       TYPE

↑ Alfabet   Rozdział

 FIELD


Przydziela miejsce zmiennym w buforze pliku o swobodnym dostępie.

FIELD [#]numer_pliku%, długość_pola% AS zmienna_łańcuchowa$
                    [,długość_pola% AS zmienna_łańcuchowa$] ...

     numer_pliku%         Numer otwartego pliku.

    • długość_pola%        Liczba znaków w polu.

    • zmienna_łańcuchowa$  Zmienna identyfikująca pole i zawierająca
                           dane pola.


    • Zmienne rekordowe zwykle stanowią lepszy sposób obsługi danych
      w rekordach.

Przykład:
    OPEN "FILEDAT.DAT" FOR RANDOM AS #1 LEN = 80
    FIELD #1, 30 AS name$, 50 AS address$

Zobacz także:    GET, PUT    LSET, RSET    TYPE
                 Różnice w porównaniu z BASICA

↑ Alfabet   Rozdział

 KEY     (Deklarowanie klawiszy zdefiniowanych przez użytkownika)


Deklaruje klawisze zdefiniowane przez użytkownika.

Aby zadeklarować klawisz użytkownika, zastosuj następujące odmiany
polecenia KEY:

KEY n%, CHR$(keyboardflag%) + CHR$(scancode%)

     n%               Wartość z zakresu 15 do 25, która identyfikuje
                       klawisz.

    • keyboardflag%    Jedna z następujących wartości, lub suma tych
                       wartości, określająca czy definiowany klawisz jest
                       użyty w kombinacji z klawiszami Shift, Ctrl, Alt,
                       NumLock lub Caps Lock, albo z klawiszami klawiatury
                       rozszerzonej:

                       Wartość          Klawisz
                       -------------    -----------------------------------
                       0                Bez keyboard flag
                       1 do 3           Którykolwiek Shift
                       4                Ctrl
                       8                Alt
                       32               NumLock
                       64               Caps Lock
                       128              Dodatkowe klawisze klawiatury 
                                        101-kkawiszowej

                       Aby określić wielokrotne kombinacje, dodaj wartości
                       do siebie. Np. wartość 12 określa, że klawisz
                       użytkownika jest użyty w kombinacji z Ctrl i Alt
                       (4 + 8).

    • scancode%        Kod klawiaturowy deklarowanego klawisza.
                       Zobacz Kody klawiatury.

Zobacz także:    KEY (Przypisanie)    KEY, ON KEY (Zdarzenia)

↑ Alfabet   Rozdział

 [ LET ]


Przypisuje wartośc wyrażenia do zmiennej.

[LET] zmienna=wyrażenie

     zmienna       Dowolna zmienna. Nazwy zmiennych mogą składać się
                    z maksymalnie 40 znaków i muszą zaczynać się od litery.
                    Akceptowane znaki to A-Z, 0-9, i kropka (.).

    • wyrażenie     Dowolne wyrażenie dostarczające wartość dla zmiennej.

    • Stosowanie opcjonalnego słowa LET  nie jest zalecane. Polecenie
      przypisania zmienna=wyrażenie działa tak samo z LET jak i bez LET.

Zobacz także:    LSET, RSET

↑ Alfabet   Rozdział

 NEXT

Słowo kluczowe NEXT

Zwiększa i sprawdza licznik w pętli FOR...NEXT albo, gdy użyte z RESUME,
kontynuuje wykonywanie programu po obsłudze błędu.

Zobacz także:    FOR...NEXT    RESUME

↑ Alfabet   Rozdział

 OFF


Wyłącza wyświetlanie przypisania klawiszy funkcyjnych, gdy jest użyte
z poleceniem KEY (przypisania), albo wyłącza wychwytywanie zdarzeń,
jeśli jest użyte w COM OFF, KEY OFF, PEN OFF, PLAY OFF, STRIG OFF 
i TIMER OFF.

Zobacz także:    COM, ON COM    KEY, ON KEY      KEY (Przypisanie)
                 PEN, ON PEN    PLAY, ON PLAY   STRIG, ON STRIG
                 TIMER, ON TIMER

↑ Alfabet   Rozdział

 ON


Przejawia różne działania jako część następujących poleceń:

    • Użyte w poleceniu ON ERROR włącza przechwytywanie błędów.

    • Włącza przechwytywanie zdarzeń w poleceniach COM ON, KEY ON,
      PEN ON, PLAY ON, STRIG ON i TIMER ON.

    • W poleceniach ON COM, ON KEY, ON PEN, ON PLAY, ON STRING
      i ON TIMER określa zdarzenie do przechwycenia.

    • Określa wyrażenie w poleceniach ON...GOSUB i ON...GOTO.


Zobacz także:    COM, ON COM      KEY, ON KEY        ON ERROR
                 ON...GOSUB, ON...GOTO               PEN, ON PEN
                 PLAY, ON PLAY    STRIG, ON STRIG    TIMER, ON TIMER

↑ Alfabet   Rozdział

 Polecenie OPEN,   tryby otwarcia plików (File Modes)


Słowa kluczowe APPEND, BINARY, INPUT, OUTPUT, i RANDOM są używane
w poleceniu OPEN do kreślenia trybu otwarcia pliku. INPUT, OUTPUT
i  RANDOM są także używane w poleceniu OPEN COM.

    • APPEND określa, że plik będzie otwarty do zapisu sekwencyjnego
      i ustawia wskaźnik pliku na końcu pliku. Polecenie  PRINT #
      lub WRITE # wówczas poszerza plik (dodaje do pliku).

    • BINARY określa tryb binarny. W trybie binarnym można czytać
      lub zapisywać informację na pozycji każdego bajtu w pliku stosując
      polecenia GET lub PUT.

    • INPUT określa, że plik jest otwierany do odczytu sekwenyjnego.

    • OUTPUT określa, że plik jest otwierany do zapisu sekwencyjnego.

    • RANDOM określa, że plik jest otwierany w trybie swobodnego dostepu.
      RANDOM jest domyślnym trybem otwarcia.


Zobacz także:    OPEN    OPEN COM    PRINT, LPRINT    WRITE

↑ Alfabet   Rozdział

 RESET


Zamyka wszystkie otwarte pliki i urządzenia.

RESET

Zobacz także:    CLOSE    END    OPEN    STOP

↑ Alfabet   Rozdział

 STEP


W pętli FOR...NEXT określa, o ile będzie zwiększany licznik przy każdej
iteracji. W poleceniach graficznych określa, że współrzędne piksela
są liczone względem bieżącej pozycji kursora graficznego.

Zobacz także:    CIRCLE    FOR...NEXT    GET, PUT    LINE

↑ Alfabet   Rozdział

 TO

Określa zakresy dla:

    • członu CASE w poleceniu SELECT CASE;
    • licznika pętli w pętli FOR...NEXT;
    • rekordów do "zamknięcia" lub "otwarcia" w poleceniu LOCK...UNLOCK;
    • dolnej i górnej granicy w poleceniach DIM i REDIM.

Zobacz także:    DIM, REDIM    FOR...NEXT    LOCK, UNLOCK    SELECT CASE

↑ Alfabet   Rozdział

 USING


Określa formatowanie w poleceniach PRINT USING i LPRINT USING, oraz
przydział palety w poleceniu PALETTE USING.

Zobacz także:    PALETTE, PALETTE USING    PRINT USING, LPRINT USING

↑ Alfabet   Rozdział






REMLINE . BAS


    Program REMLINE.BAS, służący do usuwania zbędnych numerów linii
 z programów napisanych w starszych wersjach Basica, jest równocześnie
 ilustracją wywołania procedur SUB i FUNCTION oraz użycia poleceń SHARED
 i STATIC. Listing programu zawiera obszerne komentarze, które także
 zostały spolszczone.
    Z uwagi na niezgodność standardu polskich znaków między DOS-em
 i Windows, listing ten prezentowany jest tu w paru wersjach:


       REMLINE1.BAS - to wersja przeznaczona dla DOS-a i QBasic'a;

       Remline1.txt - wersja tekstowa dla oglądania pod Windows;

       REMLINE.BAS  - oryginał (z komentarzami po angielsku).

↑ Alfabet



Przekład: D.A.M. Deger (Damian Gawrych) lipiec - październik 2006
http://deger.republika.pl