home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1996 May / PCW596.iso / polskie / eduk / wykres / opis.txt next >
Text File  |  1995-11-26  |  8KB  |  262 lines

  1.  
  2. A-M-S-T-U-D-I-O
  3. Andrzej Mazur
  4. ul.Sportowa 42/2
  5. 55-200 O¥AWA
  6. tel. 37-707
  7.  
  8. Opis programów:
  9.  
  10.  
  11. * GUZICZEK.EXE
  12.   ============  program jest maêym edytorem graficznym
  13. potrafiÑcym obrabiaå rysunki do maksymalnej wielkoÿci 32 na
  14. 32 punkty. Jego gêównym zadaniem jest tworzenie tzw. "Ikon"
  15. czyli maêych rysunków symbolizujÑcych pewne funkcje w
  16. programie. Efektem pracy programu sÑ dwa pliki. Pierwszy
  17. .BIN jest plikiem binarnym którego zawartoÿå mo╛na
  18. przekonwertowaå za pomocÑ programu BINOBJ.EXE (zawartym w
  19. pakiecie Turbo Pascala lub BGIOBJ.EXE z pakietu Borland C++)
  20. do postaci pliku .OBJ, którego zawartoÿå mo╛na "dolinkowaå"
  21. do wêasnego programu i pó½niej wyÿwietliå na ekranie za
  22. pomocÑ PutImage. Drugi plik z rozszerzeniem .PAS zawiera
  23. definicj⌐ staêej tablicowej, której zawartoÿå mo╛na
  24. bezpoÿrednio podaå dla proc. PutImage i wyÿwietliå na
  25. ekranie.
  26. A oto przykêad post⌐powania:
  27.  
  28.  - rysujemy maêy rysunek za pomocÑ programu GUZICZEK,
  29.  - gdy nasz program pracuje ze standardowÑ (default) paletÑ
  30.    barw, rysunek konwertujemy za pomocÑ opcji
  31.     "Konwert | z Guziczek na Default VGA"
  32.  - efekt pracy zapisujemy opcjÑ "Zachowaj" ustalajÑc przy
  33.    okazji rozmiar rysunku (standardowo 32x32 p.) i inne
  34.     parametry. Efektem naszej pracy sÑ np. dwa pliki:
  35.    1) _ICONA.BIN
  36.    2) _ICONA.PAS
  37.  
  38. Nast⌐pnie mo╛emy postÑpiå dwojako:
  39.  
  40. 1).
  41.  - wczytujemy plik _ICONA.PAS do edytora danego kompilatora
  42.  - kopiujemy staêÑ tablicowÑ BitIcon do naszego programu,
  43.    oto przykêad takiej staêej:
  44.  
  45. Const
  46.    BitIcon :array[0..66] of Word=(
  47. $000F,$000F,$0000,$0000,$0000,$0000,$0000,$0000,$FE7F,$0000,
  48. $0000,$0000,$FE7F,$0000,$0000,$0000,$FE7F,$0000,$0000,$0000,
  49. $FE7F,$0000,$0000,$0000,$FE7F,$0000,$0000,$0000,$FE7F,$0000,
  50. $0000,$0000,$FE7F,$0000,$0000,$0000,$FE7F,$0000,$0000,$0000,
  51. $FE7F,$0000,$0000,$0000,$FE7F,$0000,$0000,$0000,$FE7F,$0000,
  52. $0000,$0000,$FE7F,$0000,$0000,$0000,$FE7F,$0000,$0000,$0000,
  53. $FE7F,$0000,$0000,$0000,$0000,$0000,$D406);
  54.  
  55.  - we wêasnym programie mo╛emy posêu╛yå si⌐ procedurÑ
  56.    PutImage w celu wyÿwietlenia rysunku, oto przykêad:
  57.  
  58. PutImage (10,10,BitIcon,NormalPut);
  59.  
  60.  - i to ju╛ wszystko.
  61.  - Uwaga: programujÑcy w C lub C++ muszÑ przeksztaêciå
  62.    staêÑ tablicowÑ do formatu akceptowalnego przez ten
  63.    kompilator, wartoÿci liczbowe (hexadecymalne) najêatwiej
  64.    dostosowaå funkcjÑ "Search|Replace" edytora, zamieniajÑc
  65.    $ -> 0x.
  66.  
  67. 2).
  68.  - wywoêujemy program BINOBJ.EXE (lub BGIOBJ.EXE dla C++)
  69.    w celu konwersji pliku binarnego _ICONA.BIN do pliku
  70.    .OBJ, oto przykêadowe u╛ycie:
  71.  
  72. BINOBJ _ICONA.BIN ICONA.OBJ MiniRysunek
  73.  
  74.  - nast⌐pnie we wêasnym programie tworzymy sztucznÑ
  75.    procedur⌐ zewn⌐trznÑ (traktowanÑ jako struktur⌐ danych)
  76.    która "doklei-dolinkuje" nasz plik .OBJ, oto przykêad
  77.    jak powinno to wyglÑdaå:
  78.  
  79. Procedure MiniRysunek; External;
  80. {$L ICONA.OBJ}
  81.  
  82.  - teraz mo╛emy ju╛ wyÿwietliå nasz rysunek procedurÑ
  83.    PutImage, oto najprostszy sposób:
  84.  
  85. PutImage (10,10,@MiniRysunek^,NormalPut);
  86.  
  87.  - i to ju╛ koniec, gdyby nie inne sposoby wyÿwietlania
  88.    naszych rysunków. Te które przedstawiêem wy╛ej powodujÑ
  89.    ╛e rysunki stajÑ si⌐ integralnÑ cz⌐ÿciÑ programu (przez
  90.    co roÿnie dêugoÿå kodu naszych programów). Mo╛liwe jest
  91.    tak╛e inne podejÿcie, na przykêad odczyt plików .BIN
  92.    bezpoÿrednio z dysku, a to przykêad procedury
  93.    realizujÑcej takie zadanie:
  94.  
  95. Procedure Icona_z_dysku;
  96. Var
  97.    F   :File;
  98.    Img :Pointer;
  99.    Size:Word;
  100. Begin
  101.    Assign(F,'_ICONA.BIN');   { zwiÑzanie z plikiem }
  102.    Reset(F,1);
  103.    Size:=FileSize(F);
  104.    GetMem(Img,Size);         { alokacja pami⌐ci }
  105.    BlockRead(F,Img^,Size);    { odczyt z pliku }
  106.    Close(F);
  107.  
  108.    PutImage(300,150,Img^,NormalPut);  { rysowanie icony }
  109.    FreeMem(Img,Size);        { zwolnienie pami⌐ci }
  110. End;
  111.  
  112. Teraz to ju╛ naprawd⌐ wszystko, lecz chciaêbym zauwa╛yå
  113. ╛e sposobów na wyÿwietlanie plików .BIN jest jeszcze co
  114. najmniej kilkanaÿcie. Te zaprezentowane przeze mnie sÑ
  115. najprostszymi (to nie znaczy ╛e najgorszymi, wr⌐cz
  116. przeciwnie) jakie znam.
  117.  
  118. WYMAGANIA:
  119.  - komputer typu PC, co najmniej AT
  120.  - DOS 3.30 lub nowszy
  121.  - 640 KB RAM
  122.  
  123.  
  124.  
  125.  
  126.  
  127. * RYSKURSO
  128.   ======== jest tak╛e edytorem, tyle ╛e wyglÑdu kursora
  129. ekranowego. Pozwala na wygodne przygotowanie wzorca wyglÑdu
  130. kursora w postaci dwóch staêych tablicowych (Maski i Wzoru)
  131. które sêu╛Ñ procedurze DefKursor do zmiany wyglÑdu kursora
  132. jak i okreÿlenia punktu aktywnego kursora graficznego.
  133.  
  134. O szczegóêy teoretyczne odsyêam np. do czasopisma:
  135. "KOMPUTER" 6(27) - 10(31)/88 a tak╛e pod wêasny adres, gdzie
  136. odpowiem indywidualnie na te czy inne pytanie (je╛eli
  137. b⌐d⌐ wiedziaê oczywiÿcie). SamÑ treÿå procedury DefKursor
  138. nagrywa tak╛e sam program RYSKURSO (po odfajkowaniu pola
  139. "DoêÑcz treÿå procedury") wraz z wy╛ej opisanymi staêymi
  140. tablicowymi.
  141.  
  142.    Oto przykêadowa zawartoÿå pliki _KURSOR.PAS który jest
  143. efektem dziaêania programu RYSKURSO:
  144.  
  145. {** Plik zawierajÑcy stale rekordowo-tablicowe z definicja
  146.     wyglÑdu kursora. **}
  147.  
  148. Type
  149.    RasterM= array[0..15] of Word;   { typy pomocnicze }
  150.  
  151.    DefMysz=
  152.       Record
  153.          Maska :RasterM;
  154.          Wzor  :RasterM;
  155.          X     :0..15;
  156.          Y     :0..15;
  157.       End;
  158.  
  159. { rysunek zakodowany w staêej rekordowej z dwoma staêymi
  160.   tablicowymi, i dwoma polami X i Y do okreÿlenia punktu
  161.   aktywnego kursora / pola te nale╛y wypeêniå r⌐cznie,
  162.   program wpisuje tam zera/ }
  163.  
  164. Const
  165.    Kursor :DefMysz=(
  166. Maska:($FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF);
  167. Wzor :($0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000);
  168. X:0;Y:0);
  169.  
  170. { Procedura pozwalajÑca zmieniå wyglÑd kursora }
  171.  
  172. Procedure DefKursor (Const Wzorzec :DefMysz);
  173. Var
  174.    r     :Registers;
  175. Begin
  176.    r.AX:=9;
  177.    r.BX:=Wzorzec.X;
  178.    r.CX:=Wzorzec.Y;
  179.    r.DX:=Ofs (Wzorzec);
  180.    r.ES:=Seg (Wzorzec);
  181.    Intr ($33,r);
  182. End;
  183.  
  184. WYMAGANIA:
  185.  - komputer typu PC, co najmniej AT
  186.  - DOS 3.30 lub nowszy
  187.  - 640 KB RAM
  188.  
  189.  
  190. * WYKRES
  191.   ====== to program zawierajÑcy kilka operacji
  192. matematycznych, takich jak tworzenie wykresu funkcji jednej
  193. zmiennej, obliczanie miejsc zerowych, wyznaczanie caêki
  194. oznaczonej i pola powierzchni pod krzywÑ funkcji,
  195. interpolacja i aproksymacja funkcji. Dodatkowo zawiera tak╛e
  196. (nie dokoΣca skoΣczony) kalkulator naukowy.
  197.  
  198. WYMAGANIA:
  199.  - komputer typu PC, co najmniej AT
  200.  - DOS 3.30 lub nowszy
  201.  - 640 KB RAM
  202.  
  203. * DEMO
  204.   ==== to program zawierajÑcy kilka podprogramów (moduêów)
  205. które mogÑ zostaå doêÑczone do ka╛dego programu powstajÑcego
  206. przy zastosowaniu mojego ÿrodowiska AMstudio.
  207. W zastawie mo╛emy znale½å dwie gry logiczne, kilka drobnych 
  208. efektów graficznych i znany ju╛ z programu WYKRES 
  209. kalkulator naukowy. Jak ka╛dy program tak╛e i ten posiada
  210. mo╛liwoÿå konfiguracji ÿrodowiska pracy.
  211.  
  212. WYMAGANIA:
  213.  - komputer typu PC, co najmniej AT
  214.  - DOS 3.30 lub nowszy
  215.  - 640 KB RAM
  216.  
  217.                      *       *       *
  218.  
  219.    Wszystkie te programy pracujÑ z tym samym, jednolitym
  220. interfejsem graficznym posiadajÑcym olbrzymie mo╛liwoÿci
  221. konfiguracyjne, poczynajÑc od zmiany czasu zegara
  222. systemowego a koΣczÑc na zmianie tapety (obrazka na tle
  223. ekranu).
  224.    Niestety nie wszystkie opcje ju╛ dziaêajÑ. Nie dziaêa
  225. opcja zapisu konfiguracji na dysk. Co uniemo╛liwia
  226. ustawienia parametrów raz na zawsze. Nast⌐pne wersje
  227. programów na pewno b⌐dÑ uzupeênione o nie dziaêajÑce opcje i
  228. usuni⌐te zostanÑ z nich jeszcze nie zauwa╛one bê⌐dy.
  229.  
  230.  
  231.    Wszystkich zach⌐cam do zapoznania si⌐ z moimi programami
  232. a firmy zajmujÑce si⌐ promocjÑ lub/i dystrybucjÑ prosz⌐ o
  233. kontakt z celu nawiÑzania wspóêpracy.
  234.  
  235.    Zainteresowanych zakupem prosz⌐ o zapoznanie si⌐ z opcjÑ
  236. "Info" w ka╛dym z programów, gdzie opisane si⌐ warunki
  237. sprzeda╛y.
  238.  
  239.    Prosz⌐ tak╛e o korespondencj⌐, w sprawie programów i nie
  240. tylko, a programistów o wymian⌐ doÿwiadczeΣ.
  241.  
  242.  
  243.                      *       *       *
  244.  
  245.    Opis plików:
  246.  
  247. AMSTUDIO\*.EXE - programy opisane wy╛ej,
  248.         \*.PCX - tapety (obrazki na têo) które mogÑ byå bez
  249.                  obaw usuni⌐te z dysku baz szkody na
  250.                  dziaêanie programów. (tapety o takiej samej
  251.                  nazwie jak programy sÑ automatycznie
  252.                  wczytywane po ich uruchomieniu)
  253.  
  254.  
  255. [Polskie znaki w standardzie Latin2]
  256.  
  257.  
  258.                                               Andrzej Mazur
  259.  
  260.  
  261.  
  262.