home *** CD-ROM | disk | FTP | other *** search
/ Gambler 34 A / GAMBLERCD34A.BIN / Utils / GP / Progs / MSG / DOC / DOS / MSG.TXT < prev   
Text File  |  1998-12-31  |  46KB  |  1,033 lines

  1.  
  2.   Plik ten jest z polskimi znakami w standardzie Latin II
  3.  ---------------------------------------------------------
  4.  
  5.  
  6.             _/             _/     _/ _/ _/ _/         _/ _/ _/ _/
  7.           _/ _/        _/_/   _/             _/   _/              _/
  8.         _/    _/   _/  _/      _/ _/ _/ _/      _/
  9.       _/       _/    _/                  _/   _/         _/ _/ _/
  10.     _/             _/    _/             _/    _/             _/
  11.   _/             _/       _/_/ _/ _/ _/        _/ _/ _/ _/ _/
  12.  
  13.        Modify                Save                  Game
  14.  
  15.          Version 1.05 Copyright (c) 1997-99 by Fubrus
  16.  
  17.  
  18.   Wprowadzenie
  19.   ~~~~~~~~~~~~
  20.   Prezentowany program jest próbÑ uproszczenia dziaêaΣ majÑcych na celu
  21. zmian⌐ zawartoÿci jakiegoÿ pliku binarnego. W zaêo╛eniach jest to program
  22. do zmiany zapisów stanów gier, tym nie mniej pozwala on na modyfikacj⌐
  23. równie╛ innych plików.
  24.  
  25.   I. Uruchomienie programu
  26.   ~~~~~~~~~~~~~~~~~~~~~~~~
  27.   Program MSG uruchamiamy poprzez wydanie komendy MSG.EXE w katalogu programu.
  28. W przypadku, gdy program znajduje si⌐ w katalogu zdefiniowanym w zmiennej
  29. ÿrodowiskowej DOS PATH, wpisanie komendy MSG.EXE równie╛ powinno zaowocowaå
  30. startem programu.
  31.   Wymagania programu sÑ stosunkowo niewielkie. Do uruchomienia go wymagany
  32. jest komputer z:
  33.   * 350 KB wolnej konwencjonalnej pami⌐ci operacyjnej,
  34.   * procesorem AT min. 80286,
  35.   * kartÑ grafiki VGA z 256 KB RAM karty,
  36.   * aktywnym sterownikiem myszy.
  37.   Program pracuje w DOS'ie wersji nowszej ni╛ 3.1.
  38.   Program przy starcie próbuje rozpoznaå niektóre zamontowane komponenty.
  39. Chodzi tu o kart⌐ muzycznÑ, CD-ROM, itp. Gdyby program miaê problemy przy
  40. starcie to mo╛na wymusiå zaniechanie wykrywania zamontowanego sprz⌐tu.
  41. Dokonujemy tego za pomocÑ opcji /S:
  42.  
  43.                            MSG.EXE /S
  44.  
  45.   Dodatkowo do programu MSG doêÑczam program START.EXE. Jest to program
  46. interpretujÑcy przekazany mu w linii komend skrypt. Wywoêanie jego ma
  47. postaå:
  48.  
  49.                    START.EXE NazwaSkryptu[.SCR] [/B]
  50.  
  51.   Dodanie przeêÑcznika /B powoduje utworzenie kopii bezpieczeΣstwa modyfikowa-
  52. nych plików. Robi on dokêadnie to samo co moduê z programu MSG. DoêÑczam go
  53. poniewa╛ umo╛liwia on modyfikacje plików z poziomu programów BAT.
  54.  
  55.  
  56.   II. Tryby pracy programu MSG
  57.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  58.   Bezpoÿrednio po uruchomieniu programu mamy dost⌐p do dwóch gêównych moduêów
  59. programu. SÑ to:
  60.   * Moduê edycyjny pozwalajÑcy na modyfikacj⌐ i tworzenie nowych skryptów,
  61.   * Moduê startowy pozwalajÑcy na wybór interesujÑcego nas skryptu i jego
  62.     wykonanie.
  63.   Z poziomu ka╛dego z tych moduêów oraz z poziomu menu startowego mamy mo╛-
  64. liwoÿå ustalenia opcji systemowych. Ustalamy tam czy program i/lub skrypty
  65. majÑ tworzyå kopie modyfikowanych plików. W oknie tym mo╛emy obejrzeå równie╛
  66. krótkÑ charakterystyk⌐ systemu na którym zostaê uruchomiony program. W przy-
  67. padku menu gêównego mamy mo╛liwoÿå chwilowego wyjÿcia do DOS'u lub uruchomie-
  68. nie dowolnego innego programu. Mo╛na równie╛ ustawiå opcje edycji skryptu
  69. w rozdzielczoÿci 800x600.
  70.  
  71.  
  72.   III. Skróty klawiszowe
  73.   ~~~~~~~~~~~~~~~~~~~~~~
  74.   Program zostaê przystosowany do pracy z myszÑ i bez niej nie uruchomi si⌐.
  75. Wynika to z tego, ╛e cz⌐ÿå poleceΣ nie mo╛na wybraå bez bezpoÿredniego wska-
  76. zania ich myszÑ. Po mimo tego praca z programem mo╛e si⌐ odbywaå prawie bez
  77. u╛ycia tego urzÑdzenia. Wszystkie polecenia z jawnie podkreÿlonÑ literÑ
  78. skrótu wybieramy poprzez wciÿni⌐cie danego klawisza na klawiaturze. Gdy
  79. natomiast nie zostaêa ╛adna litera w nazwie polecenia zakreÿlona to mo╛na
  80. spróbowaå wywoêaå to polecenie z kombinacjÑ klawiszy Alt+Litera. Nie zawsze
  81. to poskutkuje, np. w przypadku gdy wyst⌐pujÑ dwa polecenia rozpoczynajÑce si⌐
  82. tÑ samÑ literÑ to zostanie wybrane to pierwsze; to drugie nale╛y wybraå
  83. za pomocÑ myszy. W module edycji po wybraniu interesujÑcego nas zestawu
  84. funkcji, wybór funkcji dokonujemy bez klawisza Alt - wciskamy klawisz z literÑ
  85. odpowiadajÑcy pierwszej literze nazwy funkcji. W przypadku gdy dwie funkcje
  86. majÑ identycznÑ liter⌐ poczÑtkowÑ, klawiszem wybieramy t⌐ pierwszÑ, drugÑ
  87. za pomocÑ myszy.
  88.   Te wszystkie zalecenia odnoszÑ si⌐ do wi⌐kszoÿci okien dialogowych za
  89. wyjÑtkiem okna edycyjnego. W tym oknie przyciski zatwierdzenia i zaniechania
  90. mo╛na wybraå tylko za pomocÑ myszy lub ENTER to zatwierdzenia a ESC - zanie-
  91. chanie (Alt sêu╛y do wprowadzania "polskich" znaków).
  92.  
  93.  
  94.   IV. Edytor skryptów
  95.   ~~~~~~~~~~~~~~~~~~~
  96.   Program MSG wyposa╛yêem w doÿå prosty edytor. Nie jest on co prawda bardzo
  97. wygodny (a taki miaê byå w zaêo╛eniach), ale pozwala poprawnie zdefiniowaå
  98. zawartoÿå skryptu do wykonania. Pomimo tego, ╛e podam spis funkcji i sposób
  99. ich zapisu to zalecam tworzenie skryptów tym narz⌐dziem a ewentualne poprawki
  100. robiå w zwykêym edytorze ASCII. Wynika to z tego, ╛e tylko ten edytor pozwala
  101. pami⌐taå o wszystkich warunkach poprawnoÿci skryptów.
  102.  
  103.  
  104.   IV.A. Obsêuga
  105.   ~~~~~~~~~~~~~
  106.   Edytor obsêuguje si⌐ za pomocÑ klawiatury i myszy. Wybór czynnoÿci obrazujÑ
  107. odpowiednie przyciski. Po samym skrypcie przesuwamy si⌐ za pomocÑ kursorów.
  108. W oknie informacyjnym znajduje si⌐ opis czynnoÿci jaka zostanie wykonana po
  109. wciÿni⌐ciu przycisku myszy.
  110.  
  111.   Dost⌐pne klawisze:
  112.     W, F2 - Zapis skryptu w pliku
  113.     L, F3 - Wczytanie skryptu z pliku
  114.     S - Opcje
  115.     A - Logo programu
  116.     F - Poszukiwanie okreÿlonego tekstu w skrypcie
  117.     N - Nast⌐pne wystÑpienie tekstu w skrypcie
  118.     R, ESC - Powrót do menu startowego
  119.     ENTER - Edycja wskazanej linii
  120.  
  121.     F7 - Wstawienie rozkazu powrotu z podprogramu
  122.     F8 - Wstawienie etykiety do skryptu
  123.     F9 - Wstawienie rozkazu skoku do etykiety w skrypcie
  124.     F10 - Wstawienie rozkazu wywoêania podprogramu w skrypcie
  125.     BackSpace - Zamiana komendy/komentarza na komentarz/komend⌐
  126.     Insert - Wstawienie komentarza
  127.     Del - Usuni⌐cie komentarza
  128.  
  129.     Alt+F - Wybór podmenu Files
  130.     Alt+S - Wybór podmenu Search
  131.     Alt+G - Wybór podmenu Go To
  132.     Alt+R - Wybór podmenu Read
  133.     Alt+W - Wybór podmenu Write
  134.     Alt+C - Wybór podmenu Compare
  135.     Alt+L - Wybór podmenu List
  136.     Alt+A - Wybór podmenu Array
  137.     Alt+M - Wybór podmenu More
  138.  
  139.     Alt+E - Menu edycji
  140.  
  141.     Ctrl+C - Skopiowanie linii
  142.     Ctrl+C - Wstawienie skopiowanej linii
  143.     Ctrl+X - Wyci⌐cie linii
  144.  
  145.   Aby utworzyå nowy skrypt nale╛y w selektorze plików w mask⌐ pliku wpisaå
  146. ╛ÑdanÑ przez u╛ytkownika nazw⌐. Program po stwierdzeniu, ╛e nie ma takiego
  147. pliku spyta si⌐ czy ma go utworzyå. Przy tworzeniu nale╛y równie╛ podaå nazw⌐
  148. gry do jakiej jest przeznaczony skrypt. Nazwa ta wykorzystywana jest przez
  149. selektor skryptów w module wykonawczym.
  150.  
  151.  
  152.   IV.B. Konwencja opisu komendy skryptu
  153.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  154.   Komenda skryptu posiada ogólnÑ budow⌐ w postaci:
  155.  
  156.           NR_Komendy [Parametr(y)]
  157.  
  158.   Zapisywana jest ona w pliku tekstowym, bez znaków formatujÑcych - czysty
  159. kod ASCII.
  160.   Nr_Komendy b⌐dzie opisywany przy poszczególnych funkcjach. Natomiast
  161. parametr(y) jeÿli wyst⌐pujÑ majÑ nast⌐pujÑcÑ konwencj⌐:
  162.  
  163. [Wartoÿå|[<TEMP>]|[<?> [Min. Wartoÿci [Max. Wartoÿci]] [Label] [Tekst informacyjny]]]
  164.    (1)      (2)    (3)      (4)            (5)           (7)       (6)
  165.  
  166.   Jest to ogólna postaå parametru. Nawiasy [] oznaczajÑ opcjonalnoÿå wystÑ-
  167. pienia tego elementu (przy braku zostanÑ przyj⌐te standardowe wartoÿci),
  168. element | oznacza wybór jednego z tych elementów. W przypadku odst⌐pstw od
  169. tej formy zapisu zostanie to omówione przy opisywaniu danej funkcji.
  170.   Numery w nawiasach () zostanÑ wykorzystane przy opisie funkcji.
  171.   Zadawanie minimalnej i maksymalnej wartoÿci zale╛y od osoby piszÑcej
  172. skrypt. Nie wszystkim wiadomo, ale podanie wartoÿci maksymalnej wi⌐kszej
  173. od maksymalnej wartoÿci danego typu zmiennej zazwyczaj oznacza poprawnoÿå
  174. takiego zapisu. Wynika to z tego, ╛e wartoÿå zawy╛ona jest brana jako
  175. modulo maksymalny zakres dla danego typu. Np. dla zmiennej typu Byte
  176. maksymalny zakres to 255, jeÿli zaÿ my podamy jako maksymalny zakres 256
  177. to zostanie to potraktowane jako 1 (256 Mod 255 = 1). Nale╛y o tym pami⌐taå
  178. przy pisaniu wêasnych skryptów.
  179.  
  180.  
  181.   IV.C. Wartoÿci
  182.   ~~~~~~~~~~~~~~
  183.   Program przyjmuje wartoÿci podawane dziesi⌐tnie (dotyczy liczb). Jednak
  184. czasami, gdy zajdzie potrzeba podania wartoÿci szesnastkowo to liczb⌐ (ale
  185. nie znak liczby) nale╛y poprzedziå znakiem $, tzn. n.p.: $24, -$35. Nie
  186. nale╛y u╛ywaå takiego zapisu do okreÿlania komendy.
  187.   Program nie rozró╛nia maêych i du╛ych liter. Przy szukaniu tekstu nale╛y
  188. zwróciå na to uwag⌐.
  189.  
  190.  
  191.   IV.D. Zmienne
  192.   ~~~~~~~~~~~~~
  193.   Program operuje na zmiennych pomocniczych. Przypada po jednej zmiennej
  194. na ka╛dy typ danej. Dodatkowo jest jedna zmienna pomocnicza Point typu
  195. Long Integer do sterowania pracÑ skryptu (p⌐tle). Nale╛y uwa╛aå na to
  196. aby przypadkowo nie zmieniå ich zawartoÿci, gdy tego nie chcemy.
  197.  
  198.  
  199.   IV.E. Funkcje
  200.   ~~~~~~~~~~~~~
  201.   Program pozwala na wykorzystanie w skryptach nast⌐pujÑcych funkcji:
  202.  __________________________________________________
  203.  
  204.  * Files - operacje plikowe.
  205.    - Open File - otwarcie pliku. Podajemy bezpoÿrednio nazw⌐ pliku lub
  206.                  znak ?, który wymusza spytanie si⌐ u╛ytkownika o nazw⌐
  207.                  pliku do modyfikacji. Aby wszystko wyglÑdaêo jak chce
  208.                  u╛ytkownik to po znaku ? nale╛y podaå pytanie z jakim
  209.                  program si⌐ zwróci do u╛ytkownika. Brak tego pytanie
  210.                  spowoduje wyÿwietlenie standardowego pytania programu.
  211.  
  212.                  Parametry: (1) lub (3) i (6)
  213.                  Nr komendy: 10
  214.                  Dost⌐p: Alt+F, O
  215.  
  216.    - Select File - wybór pliku. Funkcja to powoduje otwarcie okna do
  217.                    r⌐cznego, interaktywnego wyboru pliku. W celu wyboru
  218.                    kryterium poszukiwania musimy podaå mask⌐ przeszukiwania
  219.                    katalogu z plikami.
  220.  
  221.                    Parametry: (1)
  222.                    Nr komendy: 11
  223.                    Dost⌐p: Alt+F, S
  224.  
  225.    - Create File - utworzenie nowego pliku. Podajemy bezpoÿrednio nazw⌐ pliku
  226.                    lub znak ?, który wymusza spytanie si⌐ u╛ytkownika o nazw⌐
  227.                    pliku do utworzenia. Po znaku ? nale╛y podaå pytanie
  228.                    z jakim program si⌐ zwróci do u╛ytkownika. Brak tego
  229.                    pytanie spowoduje wyÿwietlenie standardowego pytania
  230.                    programu. Tworzony jest nowy plik o zerowej dêugoÿci, do
  231.                    którego mo╛na dopisaå dane. Jeÿli jest ju╛ plik o podanej
  232.                    nazwie to program upewni si⌐ co do intencji u╛ytkownika.
  233.                    Utworzony plik jest domyÿlnie aktualnym plikiem danych na
  234.                    którym operuje skrypt.
  235.  
  236.                    Parametry: (1) lub (3) i (6)
  237.                    Nr komendy: 12
  238.                    Dost⌐p: Alt+F, C
  239.  
  240.    - Get Size - Pod zmiennÑ Long Integer nast⌐puje podstawienie dêugoÿci
  241.                 aktualnie otwartego pliku. Mo╛na nast⌐pni⌐ t⌐ wartoÿå
  242.                 porównaå funkcjÑ Compare.
  243.  
  244.                 Parametry: Brak
  245.                 Nr komendy: 13
  246.                 Dost⌐p: Alt+F, G
  247.  
  248.       Po wyborze pliku, plik ten jest otwierany do operacji wejÿcia/wyjÿcia.
  249.    Jeÿli poprzednio byê otwarty inny plik to zostaje on definitywnie
  250.    zamkni⌐ty. Plik do modyfikacji nie powinien mieå ustawionych atrybutów
  251.    Read Only, Hidden ani System, poniewa╛ program nie b⌐dzie mógê ich
  252.    otworzyå.
  253.  __________________________________________________
  254.  
  255.  * Search - Szukanie okreÿlonej wartoÿci lub tekstu w pliku.
  256.    - Byte - Szukanie wartoÿci typu Byte (1 bajt bez znaku). Podajemy
  257.             konkretnÑ wartoÿå lub [?, Temp], a nast⌐pnie minimalnÑ wartoÿå
  258.             jakÑ mo╛e nadaå u╛ytkownik, wartoÿå maksymalnÑ oraz
  259.             polecenie sêowne do u╛ytkownika.
  260.  
  261.             Parametry: (1), (2) lub (3) oraz ewentualnie (4), (5) i (6)
  262.             Nr Komendy: 30
  263.             Dost⌐p: Alt+S, B
  264.  
  265.    - Word - Szukanie wartoÿci typu Word (2 bajty bez znaku). Podajemy
  266.             konkretnÑ wartoÿå lub [?, Temp], a nast⌐pnie minimalnÑ wartoÿå
  267.             jakÑ mo╛e nadaå u╛ytkownik, wartoÿå maksymalnÑ oraz
  268.             polecenie sêowne do u╛ytkownika.
  269.  
  270.             Parametry: (1), (2) lub (3) oraz ewentualnie (4), (5) i (6)
  271.             Nr Komendy: 31
  272.             Dost⌐p: Alt+S, W
  273.  
  274.    - Short Integer - Szukanie wartoÿci typu ShortInt (1 bajt ze znakiem).
  275.            Podajemy konkretnÑ wartoÿå lub [?, Temp], a nast⌐pnie minimalnÑ
  276.            wartoÿå jakÑ mo╛e nadaå u╛ytkownik, wartoÿå maksymalnÑ oraz
  277.            polecenie sêowne do u╛ytkownika.
  278.  
  279.            Parametry: (1), (2) lub (3) oraz ewentualnie (4), (5) i (6)
  280.            Nr Komendy: 32
  281.            Dost⌐p: Alt+S, S
  282.  
  283.    - Integer - Szukanie wartoÿci typu Integer (2 bajty ze znakiem). Podajemy
  284.                konkretnÑ wartoÿå lub [?, Temp], a nast⌐pnie minimalnÑ wartoÿå
  285.                jakÑ mo╛e nadaå u╛ytkownik, wartoÿå maksymalnÑ oraz
  286.                polecenie sêowne do u╛ytkownika.
  287.  
  288.                Parametry: (1), (2) lub (3) oraz ewentualnie (4), (5) i (6)
  289.                Nr Komendy: 33
  290.                Dost⌐p: Alt+S, I
  291.  
  292.    - Long Integer - Szukanie wartoÿci typu LongInt (4 bajty ze znakiem).
  293.                     Podajemy konkretnÑ wartoÿå lub [?, Temp], a nast⌐pnie
  294.                     minimalnÑ wartoÿå jakÑ mo╛e nadaå u╛ytkownik, wartoÿå
  295.                     maksymalnÑ oraz polecenie sêowne do u╛ytkownika.
  296.  
  297.                     Parametry: (1), (2) lub (3) oraz (4), (5) i (6)
  298.                     Nr Komendy: 34
  299.                     Dost⌐p: Alt+S, L
  300.  
  301.    - Text - Szukanie tekstu w pliku (Max. 30 znaków). Podajemy konkretnÑ
  302.             treÿå lub [?, Temp], a nast⌐pnie polecenie sêowne do u╛ytkownika.
  303.             Program nie rozró╛nia maêych i du╛ych liter podczas przeszukiwa-
  304.             nia.
  305.  
  306.             Parametry: (1), (2) lub (3) oraz ewentualnie (6)
  307.             Nr Komendy: 35
  308.             Dost⌐p: Alt+S, T
  309.  
  310.    - New find - Nowe funkcje wyszukiwania danych. Zmianie ulegêa reakcja
  311.                 interpretera w momencie nie znalezienia poszukiwanej
  312.                 danej. W starszych funkcjach w tej sytuacji nast⌐powaêo
  313.                 zakoΣczenie skryptu, teraz mo╛na go kontynuowaå. Je╛eli
  314.                 poszukiwana wartoÿå zostanie znaleziona przez nowÑ funkcj⌐
  315.                 to nast⌐puje pomini⌐cie nast⌐pnej wa╛nej linii w skrypcie.
  316.                 Normalnie znajduje si⌐ tam komenda skoku do etykiety, która
  317.                 jest wywoêywana, gdy ta dana nie zostanie znaleziona.
  318.                 Odpowiednie opracowanie tego zdarzenia pozwala na kontynu-
  319.                 owanie skryptu.
  320.                 Po wybraniu tego elementu podmenu wybieramy czego dotyczyêo
  321.                 b⌐dzie wyszukiwanie - tak jak w przypadku starszej wersji
  322.                 funkcji wyszukiwanie.
  323.  
  324.                 Parametry: patrz wy╛ej dla koment [30..35]
  325.                 Nr Komendy: [40..45]
  326.                 Dost⌐p: Alt+S, N, [B|W|S|I|L]
  327.  
  328.    Funkcje sÑ odpowiedzialne za poszukiwanie danych w pliku. Przeszukiwanie
  329. mo╛na przerwaå w dowolnym momencie. W przypadku starszych komend nie znale-
  330. zienie szukanej wartoÿci koΣczy prac⌐ skryptu.
  331.    Szukanie rozpoczyna si⌐ od aktualnego miejsca w pliku. Wynika stÑd, ╛e:
  332.  - jeÿli szukamy czegoÿ w caêym pliku to przed wydaniem komendy Search
  333.    nale╛y ustawiå si⌐ na poczÑtku pliku;
  334.  - jeÿli wiemy gdzie mniej wi⌐cej znajduje si⌐ szukana wartoÿå do mo╛na
  335.    ustawiå si⌐ w pliku w pobli╛u tego miejsca i dopiero rozpoczÑå szukanie.
  336.  
  337.    UWAGA !!!
  338.    Po znalezieniu szukanej wartoÿci program ustawia wska½nik pliku tak aby
  339. mo╛na byêo t⌐ wartoÿå odczytaå (cofa si⌐).
  340.    Wartoÿå poszukiwana jest podstawiana pod wartoÿå odpowiedniej zmiennej
  341. tymczasowej.
  342.  __________________________________________________
  343.  
  344.  * Go To - Poruszanie si⌐ po pliku.
  345.    - Begin File - Ustawienie si⌐ na poczÑtku pliku. Funkcja bezparametrowa.
  346.  
  347.                   Parametry: Brak
  348.                   Nr Komendy: 50
  349.                   Dost⌐p: Alt+G, B
  350.  
  351.    - Absolute - Ustawienie si⌐ w okreÿlonym miejscu pliku. Podajemy wartoÿå
  352.                 od poczÑtku pliku (0 - poczÑtek pliku).
  353.  
  354.                 Parametry: (1)
  355.                 Nr Komendy: 51
  356.                 Dost⌐p: Alt+G, A
  357.  
  358.    - Forward - Przesuni⌐cie si⌐ w pliku do przodu. Podajemy ró╛nic⌐ bajtów
  359.                o jakÑ ma si⌐ przesunÑå wska½nik poêo╛enia danych w pliku.
  360.  
  361.                 Parametry: (1)
  362.                 Nr Komendy: 52
  363.                 Dost⌐p: Alt+G, F
  364.  
  365.    - Backward - Przesuni⌐cie si⌐ w pliku do tyêu. Podajemy ró╛nic⌐ bajtów
  366.                 o jakÑ ma si⌐ przesunÑå wska½nik poêo╛enia danych w pliku.
  367.  
  368.                 Parametry: (1)
  369.                 Nr Komendy: 53
  370.                 Dost⌐p: Alt+G, Wybór myszÑ
  371.  
  372.    - End File - Ustawienie si⌐ na koΣcu pliku. Funkcja bezparametrowa.
  373.  
  374.                 Parametry: Brak
  375.                 Nr Komendy: 54
  376.                 Dost⌐p: Alt+G, A
  377.  __________________________________________________
  378.  
  379.  * Read - Odczytanie wartoÿci lub tekstu z pliku w aktualnej pozycji.
  380.    - Byte - Odczytanie wartoÿci typu Byte (1 bajt bez znaku).
  381.  
  382.             Parametry: Brak
  383.             Nr Komendy: 70
  384.             Dost⌐p: Alt+R, B
  385.  
  386.    - Word - Odczytanie wartoÿci typu Word (2 bajty bez znaku).
  387.  
  388.             Parametry: Brak
  389.             Nr Komendy: 71
  390.             Dost⌐p: Alt+R, W
  391.  
  392.    - Short Integer - Odczytanie wartoÿci typu ShortInt (1 bajt ze znakiem).
  393.  
  394.             Parametry: Brak
  395.             Nr Komendy: 72
  396.             Dost⌐p: Alt+R, S
  397.  
  398.    - Integer - Odczytanie wartoÿci typu Integer (2 bajty ze znakiem).
  399.  
  400.             Parametry: Brak
  401.             Nr Komendy: 73
  402.             Dost⌐p: Alt+R, I
  403.  
  404.    - Long Integer - Odczytanie wartoÿci typu LongInt (4 bajty ze znakiem).
  405.  
  406.             Parametry: Brak
  407.             Nr Komendy: 74
  408.             Dost⌐p: Alt+R, L
  409.  
  410.    - Text - Odczytanie tekstu w pliku (Max. 30 znaków). Podajemy dêugoÿå
  411.             tekstu.
  412.  
  413.             Parametry: (1)
  414.             Nr Komendy: 75
  415.             Dost⌐p: Alt+R, T
  416.  
  417.    Funkcje te czytajÑ wartoÿå z pliku i umieszcza w zmiennej pomocniczej.
  418. CzytajÑ t⌐ wartoÿå w aktualnym poêo╛eniu wska½nika w pliku. Mo╛na porównywaå
  419. t⌐ wartoÿå (komenda Compare) w celu sprawdzenia czy plik jest odpowiedniego
  420. typu (sprawdzenie nagêówka).
  421.  
  422.    UWAGA !!!
  423.    Po odczytaniu wartoÿci wska½nik pozycji w pliku znajduje si⌐ za odczytanÑ
  424. danÑ.
  425.  __________________________________________________
  426.  
  427.  * Write - Zapis okreÿlonej wartoÿci lub tekstu w pliku.
  428.    - Byte - Zapis wartoÿci typu Byte (1 bajt bez znaku). Podajemy
  429.             konkretnÑ wartoÿå lub ?, a nast⌐pnie minimalnÑ wartoÿå
  430.             jakÑ mo╛e nadaå u╛ytkownik, wartoÿå maksymalnÑ oraz
  431.             polecenie sêowne do u╛ytkownika. Ewentualnie mo╛emy
  432.             wpisaå zamiast ? sêowo TEMP co b⌐dzie oznaczaêo
  433.             rozkaz zapisu do pliku aktualnej wartoÿci zmiennej
  434.             pomocniczej.
  435.  
  436.             Parametry: (1) lub (2) lub (3) oraz ewentualnie (4), (5) i (6)
  437.             Nr Komendy: 90
  438.             Dost⌐p: Alt+W, B
  439.  
  440.    - Word - Zapisanie wartoÿci typu Word (2 bajty bez znaku). Podajemy
  441.             konkretnÑ wartoÿå lub ?, a nast⌐pnie minimalnÑ wartoÿå
  442.             jakÑ mo╛e nadaå u╛ytkownik, wartoÿå maksymalnÑ oraz
  443.             polecenie sêowne do u╛ytkownika. Ewentualnie mo╛emy
  444.             wpisaå zamiast ? sêowo TEMP co b⌐dzie oznaczaêo
  445.             rozkaz zapisu do pliku aktualnej wartoÿci zmiennej
  446.             pomocniczej.
  447.  
  448.             Parametry: (1) lub (2) lub (3) oraz ewentualnie (4), (5) i (6)
  449.             Nr Komendy: 91
  450.             Dost⌐p: Alt+W, W
  451.  
  452.    - Short Integer - Zapisanie wartoÿci typu ShortInt (1 bajt ze znakiem).
  453.             Podajemy konkretnÑ wartoÿå lub ?, a nast⌐pnie minimalnÑ wartoÿå
  454.             jakÑ mo╛e nadaå u╛ytkownik, wartoÿå maksymalnÑ oraz
  455.             polecenie sêowne do u╛ytkownika. Ewentualnie mo╛emy
  456.             wpisaå zamiast ? sêowo TEMP co b⌐dzie oznaczaêo
  457.             rozkaz zapisu do pliku aktualnej wartoÿci zmiennej
  458.             pomocniczej.
  459.  
  460.             Parametry: (1) lub (2) lub (3) oraz ewentualnie (4), (5) i (6)
  461.             Nr Komendy: 92
  462.             Dost⌐p: Alt+W, S
  463.  
  464.    - Integer - Zapisanie wartoÿci typu Integer (2 bajty ze znakiem). Podajemy
  465.             konkretnÑ wartoÿå lub ?, a nast⌐pnie minimalnÑ wartoÿå
  466.             jakÑ mo╛e nadaå u╛ytkownik, wartoÿå maksymalnÑ oraz
  467.             polecenie sêowne do u╛ytkownika. Ewentualnie mo╛emy
  468.             wpisaå zamiast ? sêowo TEMP co b⌐dzie oznaczaêo
  469.             rozkaz zapisu do pliku aktualnej wartoÿci zmiennej
  470.             pomocniczej.
  471.  
  472.             Parametry: (1) lub (2) lub (3) oraz ewentualnie (4), (5) i (6)
  473.             Nr Komendy: 93
  474.             Dost⌐p: Alt+W, I
  475.  
  476.    - Long Integer - Zapisanie wartoÿci typu LongInt (4 bajty ze znakiem).
  477.             Podajemy konkretnÑ wartoÿå lub ?, a nast⌐pnie minimalnÑ wartoÿå
  478.             jakÑ mo╛e nadaå u╛ytkownik, wartoÿå maksymalnÑ oraz
  479.             polecenie sêowne do u╛ytkownika. Ewentualnie mo╛emy
  480.             wpisaå zamiast ? sêowo TEMP co b⌐dzie oznaczaêo
  481.             rozkaz zapisu do pliku aktualnej wartoÿci zmiennej
  482.             pomocniczej.
  483.  
  484.             Parametry: (1) lub (2) lub (3) oraz ewentualnie (4), (5) i (6)
  485.             Nr Komendy: 94
  486.             Dost⌐p: Alt+W, L
  487.  
  488.    - Text - Zapisanie tekstu w pliku (Max. 30 znaków). Podajemy konkretnÑ
  489.             wartoÿå lub ?, a nast⌐pnie polecenie sêowne do u╛ytkownika.
  490.  
  491.             Parametry: (1) lub (3) oraz ewentualnie (6)
  492.             Nr Komendy: 95
  493.             Dost⌐p: Alt+W, T
  494.  
  495.    Funkcje te zapisujÑ wartoÿå do pliku w aktualnym poêo╛eniu wska½nika
  496. w pliku.
  497.  
  498.    UWAGA !!!
  499.    Po zapisaniu wartoÿci wska½nik pozycji w pliku znajduje si⌐ za zapisanÑ
  500. danÑ.
  501.    Nie nast⌐puje tutaj zapami⌐tanie zapisywanej wartoÿci w zmiennej tymcza-
  502. sowej odpowiedniego typu.
  503.  __________________________________________________
  504.  
  505.  * Compare - Porównanie zmiennej pomocniczej z okreÿlonÑ wartoÿciÑ
  506.              lub tekstem.
  507.    - Byte - Porównanie zmiennej pomocniczej typu Byte (1 bajt bez znaku)
  508.             z zadanÑ wartoÿciÑ tego samego typu. Podajemy konkretnÑ
  509.             wartoÿå lub ?, a nast⌐pnie minimalnÑ wartoÿå jakÑ mo╛e
  510.             nadaå u╛ytkownik, wartoÿå maksymalnÑ oraz polecenie sêowne
  511.             do u╛ytkownika.
  512.  
  513.             Parametry: (1) lub (3) oraz ewentualnie (4), (5) i (6)
  514.             Nr Komendy: 110
  515.             Dost⌐p: Alt+C, B
  516.  
  517.    - Word - Porównanie zmiennej pomocniczej typu Word (2 bajty bez znaku)
  518.             z zadanÑ wartoÿciÑ tego samego typu. Podajemy konkretnÑ
  519.             wartoÿå lub ?, a nast⌐pnie minimalnÑ wartoÿå jakÑ mo╛e
  520.             nadaå u╛ytkownik, wartoÿå maksymalnÑ oraz polecenie sêowne
  521.             do u╛ytkownika.
  522.  
  523.             Parametry: (1) lub (3) oraz ewentualnie (4), (5) i (6)
  524.             Nr Komendy: 111
  525.             Dost⌐p: Alt+C, W
  526.  
  527.    - ShortInt - Porównanie zmiennej pomocniczej typu Short Integer (1 bajt ze
  528.                 znakiem) z zadanÑ wartoÿciÑ tego samego typu. Podajemy
  529.                 konkretnÑ wartoÿå lub ?, a nast⌐pnie minimalnÑ wartoÿå jakÑ
  530.                 mo╛e nadaå u╛ytkownik, wartoÿå maksymalnÑ oraz polecenie
  531.                 sêowne do u╛ytkownika.
  532.  
  533.                 Parametry: (1) lub (3) oraz ewentualnie (4), (5) i (6)
  534.                 Nr Komendy: 112
  535.                 Dost⌐p: Alt+C, S
  536.  
  537.    - Integer - Porównanie zmiennej pomocniczej typu Integer (2 bajty ze
  538.                znakiem) z zadanÑ wartoÿciÑ tego samego typu. Podajemy
  539.                konkretnÑ wartoÿå lub ?, a nast⌐pnie minimalnÑ wartoÿå jakÑ
  540.                mo╛e nadaå u╛ytkownik, wartoÿå maksymalnÑ oraz polecenie
  541.                sêowne do u╛ytkownika.
  542.  
  543.                Parametry: (1) lub (3) oraz ewentualnie (4), (5) i (6)
  544.                Nr Komendy: 113
  545.                Dost⌐p: Alt+C, I
  546.  
  547.    - LongInt - Porównanie zmiennej pomocniczej typu Long Integer (4 bajty ze
  548.                znakiem) z zadanÑ wartoÿciÑ tego samego typu. Podajemy
  549.                konkretnÑ wartoÿå lub ?, a nast⌐pnie minimalnÑ wartoÿå jakÑ
  550.                mo╛e nadaå u╛ytkownik, wartoÿå maksymalnÑ oraz polecenie
  551.                sêowne do u╛ytkownika.
  552.  
  553.                Parametry: (1) lub (3) oraz ewentualnie (4), (5) i (6)
  554.                Nr Komendy: 114
  555.                Dost⌐p: Alt+C, L
  556.  
  557.    - Text - Porównanie zmiennej pomocniczej typu Text (Max. 30 znaków)
  558.             z zadanÑ wartoÿciÑ tego samego typu. Podajemy konkretnÑ
  559.             wartoÿå lub ?, a nast⌐pnie polecenie sêowne do u╛ytkownika.
  560.  
  561.             Parametry: (1) lub (3) oraz ewentualnie (6)
  562.             Nr Komendy: 115
  563.             Dost⌐p: Alt+C, T
  564.  
  565.    - Point - Porównanie zmiennej roboczej typu Long Integer (4 bajty ze
  566.              znakiem) z zadanÑ wartoÿciÑ tego samego typu. Podajemy
  567.              konkretnÑ wartoÿå.
  568.  
  569.              Parametry: (1)
  570.              Nr Komendy: 116
  571.              Dost⌐p: Alt+C, P
  572.  
  573.    Funkcje te porównujÑ aktualnÑ wartoÿå danej zmiennej pomocniczej z war-
  574. toÿciÑ zadanÑ. Jeÿli wartoÿci te sÑ równe to jest wykonywana kolejna wa╛na
  575. linia (po porównaniu program edycyjny pyta si⌐ o to do której etykiety ma
  576. przeskoczyå gdy te wartoÿci sÑ równe i dopisuje dodatkowÑ lini⌐) a jeÿli nie
  577. to przeskakuje do nast⌐pnej w kolejnoÿci linii.
  578.  __________________________________________________
  579.  
  580.  * List - Tworzy list⌐ danych z ich opisem i wyÿwietla okno do wyboru
  581.           tego elementu.
  582.    - Byte, Word, ShortInt, Integer, LongInt - Po spotkaniu w treÿci skryptu
  583.           komendy utworzenia listy nast⌐puje wczytywanie elementów tej listy
  584.           do momentu wystÑpienia komendy ró╛nej ni╛ element listy. Proces
  585.           tworzenia wymaga podania liczby elementów tej listy, jednak
  586.           przy interpretacji ta liczba jest ignorowana. Przy deklaracji
  587.           podajemy opcjonalnie nazw⌐ listy. Po deklaracji wczytywane sÑ
  588.           kolejne wartoÿci i ich opisy i dopisywane sÑ do skryptu.
  589.  
  590.           - Byte
  591.             Parametry: (1) oraz ewentualnie (6)
  592.             Nr Komendy: 130
  593.             Dost⌐p: Alt+L, B
  594.               Element listy Byte
  595.               Parametry: (1) oraz ewentualnie (6)
  596.               Nr Komendy: 150
  597.  
  598.           - Word
  599.             Parametry: (1) oraz ewentualnie (6)
  600.             Nr Komendy: 131
  601.             Dost⌐p: Alt+L, W
  602.               Element listy Word
  603.               Parametry: (1) oraz ewentualnie (6)
  604.               Nr Komendy: 151
  605.  
  606.           - ShortInt
  607.             Parametry: (1) oraz ewentualnie (6)
  608.             Nr Komendy: 132
  609.             Dost⌐p: Alt+L, S
  610.               Element listy ShortInt
  611.               Parametry: (1) oraz ewentualnie (6)
  612.               Nr Komendy: 152
  613.  
  614.           - Integer
  615.             Parametry: (1) oraz ewentualnie (6)
  616.             Nr Komendy: 133
  617.             Dost⌐p: Alt+L, I
  618.               Element listy Integer
  619.               Parametry: (1) oraz ewentualnie (6)
  620.               Nr Komendy: 153
  621.  
  622.           - LongInt
  623.             Parametry: (1) oraz ewentualnie (6)
  624.             Nr Komendy: 134
  625.             Dost⌐p: Alt+L, L
  626.               Element listy LongInt
  627.               Parametry: (1) oraz ewentualnie (6)
  628.               Nr Komendy: 154
  629.  
  630.    Funkcje ustawiajÑ zmiennÑ pomocniczÑ tego samego typu co typ listy. ZmiennÑ
  631. tÑ mo╛na nast⌐pnie zapisaå w pliku danych za pomocÑ komendy Write z paramet-
  632. rem <TEMP>. Mo╛na równie╛ jÑ odczytywaå za pomocÑ komendy Compare (tworzyå
  633. Menu).
  634.  
  635.    - Add element - dodaje element danego typu do listy. Nie jest sprawdzane
  636.                    czy lista jest ju╛ utworzona. Pozwala to na modyfikacj⌐
  637.                    aktualnie zapisanej listy.
  638.  
  639.                    Parametry: (1) i (6)
  640.                    Nr Komendy: 150-154   (Byte - Long Integer)
  641.                    Dost⌐p: Alt+L, A, B | W | S | I | L
  642.  
  643.    - File of List - wskazujemy nazw⌐ pliku, w którym jest umieszczona struk-
  644.                     tura listy. Po nazwie pliku podajemy etykiet⌐, gdzie
  645.                     w pliku danych nale╛y szukaå tej listy - mo╛na w pliku
  646.                     przechowywaå kilka list pod róznymi etykietami. Jest to
  647.                     rozszerzenie skryptu. Mo╛na tworzyå kod skryptu a dane
  648.                     przechowywaå w pliku danych. Plik danych ma struktur⌐
  649.                     podobnÑ do skryptu. Jako przykêad mo╛e sêu╛yå skrypt
  650.                     i plik danych do skryptu dla gry Albion: Albion.Scr oraz
  651.                     Albion.Dat.
  652.  
  653.                     Parametry: (1) i (7)
  654.                     Nr Komendy: 155
  655.                     Dost⌐p: Alt+L, F
  656.  
  657.  __________________________________________________
  658.  
  659.  * Array - Tworzy rekord danych z ich opisem i wyÿwietla okno do jego
  660.            modyfikacji.
  661.    - Declare - Deklaracja rekordu. Najpierw podajemy wielkoÿå rekordu, iloÿå
  662.                rekordów, które program ma odczytaå oraz nazw⌐ struktury.
  663.                W przypadku, gdy odczytywany b⌐dzie jeden rekord to jego
  664.                wielkoÿå jest oboj⌐tna. Dane zostanÑ odczytane z aktualnego
  665.                poêo╛enia w pliku. Po zamkni⌐ciu okna edycyjnego program
  666.                ustawia si⌐ w pliku na poczÑtku ostatniego rekordu (jak jest
  667.                jeden rekord to poêo╛enie w pliku po odczytaniu danych
  668.                nie ulega zmianie). Po deklaracji mo╛emy dodawaå elementy
  669.                rekordu. MogÑ to byå wartoÿci pi⌐ciu typów: Byte, Word,
  670.                ShortInt, Integer, LongInt.
  671.  
  672.                Parametry: (1)+(1) oraz ewentualnie (6)
  673.                Nr Komendy: 190
  674.                Dost⌐p: Alt+A, D
  675.  
  676.    - Byte, Word, ShortInt, Integer, LongInt - Podajemy poêo╛enie danej
  677.           wzgl⌐dem poczÑtku (+/-). Nast⌐pnie podajemy zakresy zmian danej,
  678.           nast⌐pnie podajemy etykiet⌐ pod którÑ znajduje si⌐ opis danych
  679.           a na koΣcu opis danej.
  680.  
  681.           - Byte
  682.             Parametry: (1), (4), (5) oraz ewentualnie (7) i (6)
  683.             Nr Komendy: 200 lub 220 przy (7)
  684.             Dost⌐p: Alt+A, B
  685.  
  686.           - Word
  687.             Parametry: (1), (4), (5) oraz ewentualnie (7) i (6)
  688.             Nr Komendy: 201 lub 221 przy (7)
  689.             Dost⌐p: Alt+A, W
  690.  
  691.           - ShortInt
  692.             Parametry: (1), (4), (5) oraz ewentualnie (7) i (6)
  693.             Nr Komendy: 202 lub 222 przy (7)
  694.             Dost⌐p: Alt+A, S
  695.  
  696.           - Integer
  697.             Parametry: (1), (4), (5) oraz ewentualnie (7) i (6)
  698.             Nr Komendy: 203 lub 223 przy (7)
  699.             Dost⌐p: Alt+A, I
  700.  
  701.           - LongInt
  702.             Parametry: (1), (4), (5) oraz ewentualnie (7) i (6)
  703.             Nr Komendy: 204 lub 224 przy (7)
  704.             Dost⌐p: Alt+A, L
  705.  
  706.    W momencie spotkania innej komendy ni╛ element rekordu nast⌐puje odczytanie
  707. zdeklarowanych danych z pliku i istnieje mo╛liwoÿå edycji tych danych. Mo╛emy
  708. zmieniaå wartoÿå tych danych za pomocÑ kursorów o 1 (z klawiszem Ctrl o 100)
  709. jak równie╛ po wskazaniu myszÑ zaznaczonego okienka (lub klawiszem ENTER) wpi-
  710. saå ╛ÑdanÑ wartoÿå to okienka edycyjnego (ewentualnie wybraå z listy jeÿli
  711. zostanie zadeklarowana struktura z opisem danych). Zmiana aktualnego rekordu
  712. dokonujemy za pomocÑ przycisków z lewej strony okna.
  713.    Funkcje 200-204 sÑ one domyÿlnie ustawiane przy edycji jeÿli nie wystÑpiêa
  714. deklaracja etykiety (parametr (7) - funkcje 220-224). W przypadku, gdy zadek-
  715. larujemy etykiet⌐, pod którÑ znajduje si⌐ opis danych to zostanÑ te informacje
  716. automatycznie wczytane jeÿli w oknie edycji zmienna ta zostanie podÿwietlona.
  717. Podczas zmiany wartoÿci danej jeÿli ma ta wartoÿå opis to zostanie on wyÿ-
  718. wietlony. Opis tworzymy identycznie jak dla funkcji - lista. Mo╛liwe jest aby
  719. dla kilku danych w rekordzie edycyjnym wyst⌐powaê ten sam opis - wystarczy
  720. wpisaå t⌐ samÑ etykiet⌐. Program nie ╛Ñda podczas edycji skryptu aby stosowny
  721. opis danych zostaê utworzony. Powinna o tym pami⌐taå osoba piszÑca skrypt.
  722. Brak edykiety podczas interpretowania skryptu powoduje, ╛e funkcja z zakresu
  723. 220-224 zostanie przedefiniowana na funkcje z zakresu 200-204 bez zgody
  724. u╛ytkownika.
  725.    W przypadku funkcji 220-224 aby wpisaå wartoÿå innÑ ni╛ ta zadeklarowana
  726. w liÿcie (lub wartoÿå z listy ale bez wywoêywania okienka z wyborem elementu)
  727. mo╛emy wykorzystaå kombinacj⌐ klawiszy Ctrl+ENTER.
  728.  
  729.  __________________________________________________
  730.  
  731.  * More - Zastaêy tu zebrane inne pomocne funkcje takie jak:
  732.    - InfoBox - okienko informacyjne. Podajemy tutaj tekst jaki zostanie wyÿ-
  733.                wietlony po napotkaniu tej komendy. Znaki sterujÑce:
  734.                 Ctrl+-> - Wyÿrodkowanie tekstu
  735.                 Ctrl+PgUp - Tekst do lewej
  736.                 Ctrl+PdDn - Tekst do prawej
  737.                 ^ - Zmiana intensywnoÿci koloru linii
  738.                 | - Zmiana linii
  739.  
  740.                 Parametry: (1)
  741.                 Nr Komendy: 170
  742.                 Dost⌐p: Alt+M, I
  743.  
  744.    - QuestBox - okienko decyzyjne. Podajemy tekst pytania do u╛ytkownika.
  745.                 Nast⌐pnie podajemy gdzie nale╛y wykonaå skok gdy odpowied½
  746.                 jest twierdzÑca. Gdy odpowied½ jest negatywna zostanie
  747.                 pomini⌐ta pierwsza wa╛na linia (nie komentarz lub error).
  748.                 Znaki sterujÑce identyczne jak dla InfoBox.
  749.  
  750.                 Parametry: (1)
  751.                 Nr Komendy: 171
  752.                 Dost⌐p: Alt+M, Q
  753.  
  754.    - Exit Script - KoΣczy dziaêania skryptu przed dojÿciem do jego koΣca.
  755.  
  756.                 Parametry: Brak
  757.                 Nr Komendy: 172
  758.                 Dost⌐p: Alt+M, E
  759.  
  760.    - Set Point - Ustawienie zmiennej roboczej. Podajemy jej wartoÿå poczÑt-
  761.                  kowÑ. Zmienna ta pozwala na np. wypeênianie jakiegoÿ obszaru
  762.                  w pliku tymi samymi danymi. Ustawiamy jej wartoÿå na poczÑtek
  763.                  obszaru, deklarujemy etykiet⌐, zapisujemy danÑ, zwi⌐kszamy
  764.                  wartoÿå zmiennej o 1 (Inc Point) i sprawdzamy czy osiÑgn⌐êa
  765.                  górnÑ wartoÿå obszaru za pomocÑ komendy Compare; jeÿli nie
  766.                  to skok do zadeklarowanej etykiety.
  767.  
  768.                  Parametry: (1)
  769.                  Nr Komendy: 175
  770.                  Dost⌐p: Alt+M, S
  771.  
  772.    - Inc Point - Zwi⌐kszenie wartoÿci zmiennej roboczej Point o podanÑ war-
  773.                  toÿå. Podajemy wielkoÿå o jakÑ nale╛y zmieniå wartoÿå zmien-
  774.                  nej.
  775.  
  776.                  Parametry: (1)
  777.                  Nr Komendy: 176
  778.                  Dost⌐p: Alt+M, Wybór za pomocÑ myszy
  779.  
  780.    - Fill Area - Menu do obsêugi funkcji wypeêniajÑcych obszar w pliku
  781.                  tymi samymi danymi
  782.       - Zestaw funkcji odpowiedzialnych za wypeênianie okreÿlonego
  783.         obszaru w pliku danych pewnÑ wartoÿciÑ. Mo╛na na przykêad odsêaniaå
  784.         map⌐ w pliku zapisu stanu gry. Wybieramy jakim typem danych b⌐dziemy
  785.         wypeêniaå plik, iloÿå elementów oraz wartoÿå jakÑ ma byå plik wypeê-
  786.         niony. Wypeênianie rozpoczyna si⌐ od aktualnej pozycji w pliku.
  787.  
  788.         Opis funkcji:
  789.  
  790.         - Byte Fill
  791.             Parametry: (1) i (1)
  792.             Nr Komendy: 240
  793.             Dost⌐p: Alt+M, F, B
  794.  
  795.         - Word Fill
  796.             Parametry: (1) i (1)
  797.             Nr Komendy: 241
  798.             Dost⌐p: Alt+M, F, W
  799.  
  800.         - ShortInt Fill
  801.             Parametry: (1) i (1)
  802.             Nr Komendy: 242
  803.             Dost⌐p: Alt+M, F, S
  804.  
  805.         - Integer Fill
  806.             Parametry: (1) i (1)
  807.             Nr Komendy: 243
  808.             Dost⌐p: Alt+M, F, I
  809.  
  810.         - LongInt Fill
  811.             Parametry: (1) i (1)
  812.             Nr Komendy: 244
  813.             Dost⌐p: Alt+M, F, L
  814.  
  815.  
  816.    - Label - Menu do obsêugi etykiet w skrypcie
  817.       - Set Label - Deklaracja etykiety. Podajemy nazw⌐. Wa╛ne aby w skrypcie
  818.                     nie wyst⌐powaêy dwie te same etykiety. Nie jest to co
  819.                     prawda bêÑd ale poniewa╛ przeszukiwanie etykiet zawsze od-
  820.                     bywa si⌐ od poczÑtku skryptu to zawsze jest wybierana
  821.                     pierwsza etykieta o tej samej nazwie.
  822.  
  823.                     Parametry: (1)
  824.                     Nr Komendy: 173
  825.                     Dost⌐p: Alt+M, L, S | F8
  826.  
  827.       - Go To Label - Przejÿcie do etykiety. Podajemy nazw⌐. Dzi⌐ki temu
  828.                       mo╛na zap⌐tliå dziaêanie skryptu.
  829.  
  830.                     Parametry: (1)
  831.                     Nr Komendy: 174
  832.                     Dost⌐p: Alt+M, L, G | F9
  833.  
  834.       - Call Label - Wywoêanie etykiety. Podajemy nazw⌐. Funkcja ró╛ni si⌐
  835.                      od poprzedniej tym, ╛e zapami⌐tuje aktualne poêo╛enie
  836.                      w skrypcie i w pliku danych. Pozwala to nast⌐pnej
  837.                      funkcji - Return Call - na powrót do stanu z przed wywo-
  838.                      êania etykiety. Dane sÑ odkêadane na specjalnym stosie
  839.                      danych. Ka╛de nowe wywoêanie powoduje zwi⌐kszenie
  840.                      wska½nika o jeden i zapami⌐tanie nowych danych. Maksy-
  841.                      malnie wska½nik mo╛e zostaå zwi⌐kszony do 10. Po przekro-
  842.                      czeniu tej wartoÿci nastÑpi zakoΣczenie skryptu z bê⌐dem.
  843.  
  844.                      Parametry: (1)
  845.                      Nr Komendy: 177
  846.                      Dost⌐p: Alt+M, L, C | F10
  847.  
  848.       - Return Call - Powrót z podprogramu. Funkcja odtwarza zapami⌐tany
  849.                       ostatnio przez funkcje - Call Label - stan skryptu.
  850.                       Ka╛de wywoêanie powoduje odczytanie zmiennych,
  851.                       zmiana stanu skryptu i pliku danych oraz zmniejszenie
  852.                       wska½nika poêo╛enia danych na stosie. W przypadku
  853.                       gdy nie ma zapami⌐tanych danych na stosie i nastÑpi
  854.                       wywoêanie tej funkcji nastÑpi zakoΣczenie skryptu
  855.                       z bê⌐dem.
  856.  
  857.                       Parametry: (1)
  858.                       Nr Komendy: 178
  859.                       Dost⌐p: Alt+M, L, R | F7
  860.  
  861.    - Comment - Menu do obsêugi komentarzy w skrypcie.
  862.       - Insert - Wstawienie komentarza do tekstu skryptu. Wszystkie napotkane
  863.                  podczas interpretacji skryptu komentarze sÑ wyÿwietlane
  864.                  w specjalnym oknie. Za komentarz program traktuje ka╛dÑ lini⌐
  865.                  rozpoczynajÑcÑ si⌐ ÿrednikiem ";".
  866.  
  867.                  Parametry: (1)
  868.                  Dost⌐p: Alt+M, C, I | Insert
  869.  
  870.       - To Comment - zamiana linii skryptu b⌐dÑcej komendÑ na komentarz. Tylko
  871.                      takie linie mogÑ zostaå nast⌐pnie usuni⌐to. Jest to za-
  872.                      bezpieczenie przed przypadkowym wykasowaniem wa╛nej
  873.                      linii.
  874.  
  875.                      Parametry: Brak
  876.                      Dost⌐p: Alt+M, C, T | BackSpace
  877.  
  878.       - To Command - zamiana komentarza na komend⌐
  879.  
  880.                      Parametry: Brak
  881.                      Dost⌐p: Alt+M, C, Wybór za pomocÑ myszy | BackSpace
  882.  
  883.       - Delete - Usuni⌐cie komentarza ze skryptu
  884.  
  885.                  Parametry: Brak
  886.                  Dost⌐p: Alt+M, C, D | Delete
  887.  
  888.    - User Func - Funkcja u╛ytkownika. Mo╛emy tutaj wywoêaå specjalnie
  889.                  napisane przez u╛ytkownika programy. Program taki musi
  890.                  speêniå kilka zaêo╛eΣ:
  891.                  - musi kontrolowaå fakt wywaêania go z programu MSG.
  892.                    Podczas wywoêania takiego programu, jako pierwszy
  893.                    parametr podawany jest automatycznie ciÑg znaków: MSG.
  894.                    Wynika z tego faktu to, ╛e pierwszy parametr wa╛ny dla
  895.                    programu jest przesuni⌐ty o jeden, tzn. pierwszy to
  896.                    drugi, itd. Iloÿå parametrów te╛ jest zwi⌐kszona o jeden.
  897.                  - musi od poczÑtku pracowaå w trybie graficznym - do tego
  898.                    specjalnie ustawionym. Musi zatem zapami⌐taå stan ekranu,
  899.                    który b⌐dzie zakrywaê.
  900.                  - nie mo╛e piszÑcy ten program korzystaå z moduêu CRT
  901.                    Turbo Pascal'a. Moduê ten podczas inicjalizacji resetuje
  902.                    aktualny tryb graficzny. Cz⌐ÿå funkcji i procedur z tego
  903.                    moduêu zawiera moduê Graphics.
  904.                  - musi w katalogu wskazywanym przez zmiennÑ ÿrodowiskowÑ
  905.                    TEMP przekazywaå w pliku tekstowym MSG$$$$$.TMP wartoÿå
  906.                    do programu MSG. Format informacji przekazywanej w jednej
  907.                    linii wyglÑda nast⌐pujÑco:
  908.                    - na paczÑtku linii nale╛y wskazaå jaki jest typ przekazy-
  909.                      wanej wartoÿci w postaci liczby. Znaczenie liczb:
  910.                            0 - Nic nie rób
  911.                            1 - Byte
  912.                            2 - Word
  913.                            3 - Short Integer
  914.                            4 - Integer
  915.                            5 - Long Integer
  916.                      Liczby sÑ podawane dziesiÑtkowo - bez znaku $.
  917.                    - Po spacji podajemy przekazywanÑ wartoÿå. Wartoÿå mo╛emy
  918.                      przedstawiå w postaci szesnastkowej (z poprzedzajÑcym
  919.                      znakiem $).
  920.                    Przekazywana wartoÿå jest umieszczana w zmiennej tymcza-
  921.                    sowej danego typu.
  922.                    Po przekazaniu plik wymiany jest kasowany.
  923.                  - musi to byå niewielki stosunkowo program - wymagania
  924.                    pami⌐ciowe.
  925.                  - wskazane byêoby aby jego wyglÑd graficzny byê podobny
  926.                    do programu MSG.
  927.                  - Zamiast tworzyå list⌐ dla funkcji typu Array, mo╛emy równie╛
  928.                    wywoêaå program zewn⌐trzny a wartoÿå z tego programu
  929.                    zostanie przekazana do zmiennej z tych funkcji.
  930.  
  931.                  Mo╛na równie╛ przekazywaå do programu wÿród parametrów
  932.                  aktualne wartoÿci zmiennych roboczych. Dokonuje si⌐ tego
  933.                  poprzez podanie jednego z parametrów:
  934.                  - <TB> -> podstawienie za ten parametr aktualnej wartoÿci
  935.                            zmiennej roboczej typu Bajt,
  936.                  - <TW> -> tak jak wy╛ej ale dla zmiennej typu Word,
  937.                  - <TS> -> tak jak wy╛ej ale dla zmiennej typu Short Integer,
  938.                  - <TI> -> tak jak wy╛ej ale dla zmiennej typu Integer,
  939.                  - <TL> -> tak jak wy╛ej ale dla zmiennej typu Long Integer,
  940.                  - <TT> -> tak jak wy╛ej ale dla zmiennej typu Text. Znaki
  941.                            spacji sÑ zast⌐powane znakiem podkreÿlenia - '_'.
  942.                  - <FN> -> nazwa aktualnie otwartego pliku danych.
  943.                  Wa╛ne jest aby podawaå te parametry du╛ymi literami.
  944.                  W przypadku przekazania do programu zewn⌐trznego nazwy
  945.                  pliku danych nast⌐puje zamkni⌐cie tego pliku przed wywoêa-
  946.                  niem programu zewn⌐trznego (z zapami⌐taniem aktualnej pozy-
  947.                  cji) aby program zewn⌐trzny mógê na nim operowaå. Po powrocie
  948.                  z tego programu nast⌐puje próba otwarcia pliku danych i wy-
  949.                  pozycjonowanie w zapami⌐tanej pozycji - jeÿli si⌐ niepowie-
  950.                  dzie nale╛y koniecznie zakoΣczyå skrypt.
  951.  
  952.                  Przykêad sposobu pisania takiego programu zostaê przedsta-
  953.                  wiony w programie BE.Pas - jest to wybór bitów z caêej
  954.                  zmiennej. Program ten jest kilkukrotnie wykorzystany w skryp-
  955.                  tach.
  956.  
  957.                  Parametry: (1)
  958.                  Nr komendy: 254
  959.                  Dost⌐p: Alt+M, U
  960.  
  961.    - Convert - Wywoêanie konwertera miedzysystemowego. Mo╛emy podej╛eå
  962.                jakÑ wartoÿå ma zmienna w czterech podstawowych systemach:
  963.                dwójkowym, ósemkowym, dziesi⌐tnym i szesnastkowym.
  964.  
  965.  __________________________________________________
  966.  
  967.  Inne komendy:
  968.  
  969.  255 - Charakteryzuje ona gr⌐, do której jest przeznaczony skrypt.
  970.  253 - Wersja skryptu.
  971.  
  972.  
  973.   V. Selektor skryptów
  974.   ~~~~~~~~~~~~~~~~~~~~~
  975.   Moduê ten jest odpowiedzialny za wybór skryptu do wykonania oraz wykonuje
  976. wybrany skrypt.
  977.  
  978.  
  979.   V.A. Obsêuga
  980.   ~~~~~~~~~~~~
  981.   Selektor obsêuguje si⌐ podobnie jak Edytor
  982.  
  983.   Dost⌐pne klawisze:
  984.  
  985.     1..0, A..Z - Ustawia si⌐ na pierwszym pliku z nazwÑ gry na danÑ liter⌐.
  986.  
  987.     ESC - Powrót do menu startowego
  988.     ENTER - Edycja wskazanej linii
  989.  
  990.     Alt+D - Zmiana katalogu ze skryptami
  991.     Alt+F - Szukanie interesujÑcej nas gry
  992.     Alt+S - Wybór okna System
  993.     Alt+A - Logo programu
  994.     Alt+R - Powrót do menu startowego
  995.  
  996.   Po wybraniu interesujÑcej nas gry wciskamy ENTER lub potwierdzamy wybór
  997. myszÑ co powoduje uruchomienie skryptu.
  998.   Selektor szuka skryptów zawsze w aktualnym katalogu. W przypadku ich
  999. braku nale╛y wskazaå katalog ze skryptami.
  1000.   UWAGA !!!
  1001.   Zawsze sÑ wybierane pliki z rozszerzeniem *.SCR. Pozostaêe sÑ pomijane.
  1002.  
  1003.  
  1004.   VI. Ograniczenia
  1005.   ~~~~~~~~~~~~~~~~
  1006.  
  1007.   Jak wi⌐kszoÿå programów pisana pod DOS w trybie rzeczywistym program MSG
  1008. posiada ograniczenia. Wynika to z maksymalnej wielkoÿci struktury danych 64 KB.
  1009. Oto najwa╛niejsze ograniczenia:
  1010.   * Dla selektora plików (nie skryptów) maksymalna liczba plików danego
  1011.     typu w katalogu to 255. W przypadku wi⌐kszej liczby plików mo╛na
  1012.     narzuciå zmodyfikowanÑ mask⌐ poszukiwania lub te╛ wpisaå peênÑ nazw⌐
  1013.     pliku do wybrania;
  1014.   * Maksymalna iloÿå linii skryptu ograniczona jest wielkoÿciÑ pami⌐ci
  1015.     konwencionalnej pozostaêej po uruchomieniu programu. Maksymalna dêugoÿci 
  1016.     linii mo╛e wynosiå do 255 znaków.
  1017.   * Maksymalna iloÿå elementów w listach i rekordach ograniczona jest
  1018.     do: 1024 dla list i 255 elementów dla rekordów. Jest to jak mi si⌐ wydaje
  1019.     i tak zawy╛ona wartoÿå i wÑtpi⌐ aby ktoÿ to wykorzystaê praktycznie.
  1020.  
  1021.  
  1022.   Mam cichÑ nadziej⌐, ╛e ten program si⌐ komuÿ przyda. Jeÿli zauwa╛ysz jakiÿ
  1023. bêÑd lub nieÿcisêoÿå jak równie╛ b⌐dziesz miaê jakieÿ pytania to b⌐d⌐ Ci
  1024. wdzi⌐czny za uwagi. DoêÑczam peêne ½ródêo programu MSG w celach dydakty-
  1025. cznych i poglÑdowych.
  1026.  
  1027.                                                Fubrus
  1028.  
  1029.   Oto mój adres:
  1030.     Artur FARBIù
  1031.     ul. Sandomierska 16m73
  1032.     26-611 RADOM
  1033.