AREK, Biotechnologia, Fizyka, Labolatorium


SOŁTYSIK ARKADIUSZ

SPRAWOZDANIE Nr 6

Sterownik ANSI.SYS umożliwia obsługę ekranu. Możemy wykonać min.:

←[Pw;Pk h - skok kursora na pozycje Pw Pk

←[Pw;Pk f - skok kursora do górnego narożnika

←[Pn A/B - przesunięcie kursora o n wierszy w górę/dół

←[Pn C/D - przesunięcie kursora o n kolumn w prawo/lewo

←[s - zapamiętanie pozycji kursora

←[w - odczytanie pozycji kursora

←[2j - skok kursora do lewego górnego narożnika i wykasowanie zawartości ekranu

←[k - skasowanie wiersza od pozycji kursora do końca wiersza

←[Pp {;Pp}m - umożliwia ustawienie atrybutów wyświetlania ekranu:

0 - wyłączenie atrybutów

1 - pogrubienie

4 - podkreślenie

5 - migotanie

7 - inwersja kolorów

8 - wygaszenie kursora

30..37 - kolory liter

40..47 - kolory tła

←[Ps h - umożliwia ustawienie trybu pracy monitora:

0 - tekst, mono 40x25

1 - tekst, kolor 40x25

2 - tekst, mono 80x25

3 - tekst, kolor 80x25

4 - 4 kolory 320x200

5 - mono 320x200

6 - mono 640x200

7 - uaktywnienie zawijania wierszy

13 - 16 kolorów 300x200

14 - 16 kolorów 640x200

15 - mono 640x300

16 - 16 kolorów 640x350

17 - mono 640x480

18 - 16 kolorów 640x480

19 - 256 kolorów 320x200

Przykładowy program wykorzystujący sterownik ANSI.SYS :

ECHO X←[244;72;"3";p

ECHO X←[244;80;"2";p

@ECHO OFF

CLS

SET pos=1

SET opcja1=To jest opcja1

SET opcja2=To jest opcja2

SET opcja3=To jest opcja3

SET opcja4=To wyjscie do DOS

ECHO

:procrysuj

CLS

ECHO

ECHO

IF NOT %pos%==1 ECHO ←[37;40m

If %pos%==1 ECHO ←[34;47m

ECHO ←[15C1 - %opcja1%

IF NOT %pos%==2 ECHO ←[37;40m

If %Pos%==2 Echo ←[34;47m

ECHO ←[15C2 - %opcja2%

IF not %pos%==3 ECHO ←[37;40m

IF %pos%==3 Echo ←[34;47m

ECHO ←[15C3 - %opcja3%

IF NOT %pos%==4 ECHO ←[37;40m

IF %pos%==4 ECHO ←[34;47m

ECHO ←[15C4 - %opcja4%

ECHO ←[31;40m

ECHO

ECHO

ECHO Pozycja nr %pos%

:mainproc

CHOICE /C:128 /N

IF ERRORLEVEL==3 GOTO upproc

IF ERRORLEVEL==2 GOTO downproc

IF ERRORLEVEL==1 GOTO exittoDOS

PAUSE

GOTO mainproc

:upproc

ECHO upped

IF %pos%==1 SET pos=1

IF %pos%==2 SET pos=1

IF %pos%==3 SET pos=2

IF %pos%==4 SET pos=3

GOTO procrysuj

:downproc

ECHO downed

IF %pos%==4 SET pos=4

IF %pos%==3 SET pos=4

IF %pos%==2 SET pos=3

IF %pos%==1 SET pos=2

GOTO procrysuj

:exittodos

Opis działania powyżej przedstawionego programu:

ECHO X←[244;72;"3";p

ECHO X←[244;80;"2";p

Linie te podmieniają klawisze tak, aby można było poruszać się po menu za pomocą klawiszy „strzałka w dół” i „strzałka w górę” z klawiatury numerycznej.

@ECHO OFF

CLS

Pierwsza linia wyłącza wyświetlane wierszy (znak @ przed nią powoduje, że ta linia również nie zostanie wyświetlona), druga linijka czyści ekran.

SET pos=1

SET opcja1=To jest opcja1

SET opcja2=To jest opcja2

SET opcja3=To jest opcja3

SET opcja4=To wyjscie do DOS

ECHO

Pierwsza linia ustawia zmienną środowiskową tak, aby po uruchomieniu pliku aktywną opcją w menu była opcja pierwsza. Kolejne cztery przypisują zmiennej opcjax różne ciągi znaków. Ostatnia linijka powoduje ustawienie ECHO w wartość domyślną (on).

:procrysuj

CLS

ECHO

ECHO

IF NOT %pos%==1 ECHO ←[37;40m

If %pos%==1 ECHO ←[34;47m

ECHO ←[15C1 - %opcja1%

IF NOT %pos%==2 ECHO ←[37;40m

If %Pos%==2 Echo ←[34;47m

ECHO ←[15C2 - %opcja2%

IF not %pos%==3 ECHO ←[37;40m

IF %pos%==3 Echo ←[34;47m

ECHO ←[15C3 - %opcja3%

IF NOT %pos%==4 ECHO ←[37;40m

IF %pos%==4 ECHO ←[34;47m

Pierwszym krokiem jest zadeklarowanie etykiety „procrysuj”, następnie czyszczenie ekranu.

Kolejne linie przypisują różne kolory liter i tła, w zależności od tego, czy dana opcja została wybrana lub nie oraz rozmieszczają wyświetlane linie w odpowiednim miejscu na ekranie monitora. Np:

IF NOT %pos%==1 ECHO ←[37;40m - jeśli aktywną opcją nie jest opcja pierwsza, to białe litery i czarne tło

If %pos%==1 ECHO ←[34;47m - jeśli aktywną opcją jest opcja pierwsza to niebieskie litery i białe tło

ECHO ←[15C1 - %opcja1% - przesuń kursor o 15 kolumn w prawo i wyświetl napis: „1 - <to co pod zmienną opcja1>”.

ECHO Pozycja nr %pos%

Wyświetla napis „Pozycja nr <nr aktywnej pozycji w menu>”. Numer aktywnej pozycji jest ukryty pod zmienną pos.

:mainproc

CHOICE /C:128 /N

IF ERRORLEVEL==3 GOTO upproc

IF ERRORLEVEL==2 GOTO downproc

IF ERRORLEVEL==1 GOTO exittoDOS

PAUSE

GOTO mainproc

Pierwsza linia deklaruje etykietę „mainproc”. Kolejna deklaruje, które klawisze są dozwolone (na które będzie reagował komputer) przy poruszaniu się po menu, czyli 1, 2, 8; parametr /N powoduje nie wyświetlanie wyborów jakie dokonuje użytkownik.

Kolejne trzy definiują do której etykiety zostanie wykonany skok w zależności od wartości za wartej w ERRORLEVEL. Następna powoduje czekanie na klawisz, a jeszcze następna powoduje skok do etykiety „mainproc”.

:upproc

ECHO upped

IF %pos%==1 SET pos=1

IF %pos%==2 SET pos=1

IF %pos%==3 SET pos=2

IF %pos%==4 SET pos=3

GOTO procrysuj

Ten fragment programu odpowiada za przemieszczanie belki aktywnej opcji do góry. Jeśli belka jest na pozycji pierwszej (dokładnie jeśli zmienna pos ma wartość 1) to ją tam pozostaw (dokładnie - przypisz zmiennej pos wartość 1); dalej jeśli jest na pozycji 2 to przesuń ją na pozycje 1 itd.

:downproc

ECHO downed

IF %pos%==4 SET pos=4

IF %pos%==3 SET pos=4

IF %pos%==2 SET pos=3

IF %pos%==1 SET pos=2

GOTO procrysuj

Ten fragment działa podobnie jak powyższy, tylko odpowiada za przesuwanie belki w dół.

:exittodos

Ostatnia etykieta - za nią nic nie ma, więc program kończy działanie.



Wyszukiwarka

Podobne podstrony:
LABORKA2, Biotechnologia, Fizyka, Labolatorium
LEPKOŚĆmm, Biotechnologia, Fizyka, Labolatorium
Fizyka - Ćw 60, Biotechnologia, Fizyka, Labolatorium
Fizyka - sprawozdanie 49, Biotechnologia, Fizyka, Labolatorium
neonówka, Biotechnologia, Fizyka, Labolatorium
Elektronika, Biotechnologia, Fizyka, Labolatorium
szeregowy rezonans napiŕciowy, Biotechnologia, Fizyka, Labolatorium
LAB110, Biotechnologia, Fizyka, Labolatorium
ĆWICZENIE NR 2A, Biotechnologia, Fizyka, Labolatorium
2a, Biotechnologia, Fizyka, Labolatorium
Fizyka - sprawozdanie 50, Biotechnologia, Fizyka, Labolatorium
Pojęcia w formacie ściągi, Biotechnologia, Fizyka, Labolatorium
drg, Biotechnologia, Fizyka, Labolatorium

więcej podobnych podstron