A-M-S-T-U-D-I-O Andrzej Mazur ul.Sportowa 42/2 55-200 OAWA tel. 37-707 Opis programw: * GUZICZEK.EXE ============ program jest maym edytorem graficznym potraficym obrabia rysunki do maksymalnej wielkoci 32 na 32 punkty. Jego gwnym zadaniem jest tworzenie tzw. "Ikon" czyli maych rysunkw symbolizujcych pewne funkcje w programie. Efektem pracy programu s dwa pliki. Pierwszy .BIN jest plikiem binarnym ktrego zawarto mona przekonwertowa za pomoc programu BINOBJ.EXE (zawartym w pakiecie Turbo Pascala lub BGIOBJ.EXE z pakietu Borland C++) do postaci pliku .OBJ, ktrego zawarto mona "dolinkowa" do wasnego programu i pniej wywietli na ekranie za pomoc PutImage. Drugi plik z rozszerzeniem .PAS zawiera definicj staej tablicowej, ktrej zawarto mona bezporednio poda dla proc. PutImage i wywietli na ekranie. A oto przykad postpowania: - rysujemy may rysunek za pomoc programu GUZICZEK, - gdy nasz program pracuje ze standardow (default) palet barw, rysunek konwertujemy za pomoc opcji "Konwert | z Guziczek na Default VGA" - efekt pracy zapisujemy opcj "Zachowaj" ustalajc przy okazji rozmiar rysunku (standardowo 32x32 p.) i inne parametry. Efektem naszej pracy s np. dwa pliki: 1) _ICONA.BIN 2) _ICONA.PAS Nastpnie moemy postpi dwojako: 1). - wczytujemy plik _ICONA.PAS do edytora danego kompilatora - kopiujemy sta tablicow BitIcon do naszego programu, oto przykad takiej staej: Const BitIcon :array[0..66] of Word=( $000F,$000F,$0000,$0000,$0000,$0000,$0000,$0000,$FE7F,$0000, $0000,$0000,$FE7F,$0000,$0000,$0000,$FE7F,$0000,$0000,$0000, $FE7F,$0000,$0000,$0000,$FE7F,$0000,$0000,$0000,$FE7F,$0000, $0000,$0000,$FE7F,$0000,$0000,$0000,$FE7F,$0000,$0000,$0000, $FE7F,$0000,$0000,$0000,$FE7F,$0000,$0000,$0000,$FE7F,$0000, $0000,$0000,$FE7F,$0000,$0000,$0000,$FE7F,$0000,$0000,$0000, $FE7F,$0000,$0000,$0000,$0000,$0000,$D406); - we wasnym programie moemy posuy si procedur PutImage w celu wywietlenia rysunku, oto przykad: PutImage (10,10,BitIcon,NormalPut); - i to ju wszystko. - Uwaga: programujcy w C lub C++ musz przeksztaci sta tablicow do formatu akceptowalnego przez ten kompilator, wartoci liczbowe (hexadecymalne) najatwiej dostosowa funkcj "Search|Replace" edytora, zamieniajc $ -> 0x. 2). - wywoujemy program BINOBJ.EXE (lub BGIOBJ.EXE dla C++) w celu konwersji pliku binarnego _ICONA.BIN do pliku .OBJ, oto przykadowe uycie: BINOBJ _ICONA.BIN ICONA.OBJ MiniRysunek - nastpnie we wasnym programie tworzymy sztuczn procedur zewntrzn (traktowan jako struktur danych) ktra "doklei-dolinkuje" nasz plik .OBJ, oto przykad jak powinno to wyglda: Procedure MiniRysunek; External; {$L ICONA.OBJ} - teraz moemy ju wywietli nasz rysunek procedur PutImage, oto najprostszy sposb: PutImage (10,10,@MiniRysunek^,NormalPut); - i to ju koniec, gdyby nie inne sposoby wywietlania naszych rysunkw. Te ktre przedstawiem wyej powoduj e rysunki staj si integraln czci programu (przez co ronie dugo kodu naszych programw). Moliwe jest take inne podejcie, na przykad odczyt plikw .BIN bezporednio z dysku, a to przykad procedury realizujcej takie zadanie: Procedure Icona_z_dysku; Var F :File; Img :Pointer; Size:Word; Begin Assign(F,'_ICONA.BIN'); { zwizanie z plikiem } Reset(F,1); Size:=FileSize(F); GetMem(Img,Size); { alokacja pamici } BlockRead(F,Img^,Size); { odczyt z pliku } Close(F); PutImage(300,150,Img^,NormalPut); { rysowanie icony } FreeMem(Img,Size); { zwolnienie pamici } End; Teraz to ju naprawd wszystko, lecz chciabym zauway e sposobw na wywietlanie plikw .BIN jest jeszcze co najmniej kilkanacie. Te zaprezentowane przeze mnie s najprostszymi (to nie znaczy e najgorszymi, wrcz przeciwnie) jakie znam. WYMAGANIA: - komputer typu PC, co najmniej AT - DOS 3.30 lub nowszy - 640 KB RAM * RYSKURSO ======== jest take edytorem, tyle e wygldu kursora ekranowego. Pozwala na wygodne przygotowanie wzorca wygldu kursora w postaci dwch staych tablicowych (Maski i Wzoru) ktre su procedurze DefKursor do zmiany wygldu kursora jak i okrelenia punktu aktywnego kursora graficznego. O szczegy teoretyczne odsyam np. do czasopisma: "KOMPUTER" 6(27) - 10(31)/88 a take pod wasny adres, gdzie odpowiem indywidualnie na te czy inne pytanie (jeeli bd wiedzia oczywicie). Sam tre procedury DefKursor nagrywa take sam program RYSKURSO (po odfajkowaniu pola "Docz tre procedury") wraz z wyej opisanymi staymi tablicowymi. Oto przykadowa zawarto pliki _KURSOR.PAS ktry jest efektem dziaania programu RYSKURSO: {** Plik zawierajcy stale rekordowo-tablicowe z definicja wygldu kursora. **} Type RasterM= array[0..15] of Word; { typy pomocnicze } DefMysz= Record Maska :RasterM; Wzor :RasterM; X :0..15; Y :0..15; End; { rysunek zakodowany w staej rekordowej z dwoma staymi tablicowymi, i dwoma polami X i Y do okrelenia punktu aktywnego kursora / pola te naley wypeni rcznie, program wpisuje tam zera/ } Const Kursor :DefMysz=( Maska:($FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF); Wzor :($0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000); X:0;Y:0); { Procedura pozwalajca zmieni wygld kursora } Procedure DefKursor (Const Wzorzec :DefMysz); Var r :Registers; Begin r.AX:=9; r.BX:=Wzorzec.X; r.CX:=Wzorzec.Y; r.DX:=Ofs (Wzorzec); r.ES:=Seg (Wzorzec); Intr ($33,r); End; WYMAGANIA: - komputer typu PC, co najmniej AT - DOS 3.30 lub nowszy - 640 KB RAM * WYKRES ====== to program zawierajcy kilka operacji matematycznych, takich jak tworzenie wykresu funkcji jednej zmiennej, obliczanie miejsc zerowych, wyznaczanie caki oznaczonej i pola powierzchni pod krzyw funkcji, interpolacja i aproksymacja funkcji. Dodatkowo zawiera take (nie dokoca skoczony) kalkulator naukowy. WYMAGANIA: - komputer typu PC, co najmniej AT - DOS 3.30 lub nowszy - 640 KB RAM * DEMO ==== to program zawierajcy kilka podprogramw (moduw) ktre mog zosta doczone do kadego programu powstajcego przy zastosowaniu mojego rodowiska AMstudio. W zastawie moemy znale dwie gry logiczne, kilka drobnych efektw graficznych i znany ju z programu WYKRES kalkulator naukowy. Jak kady program take i ten posiada moliwo konfiguracji rodowiska pracy. WYMAGANIA: - komputer typu PC, co najmniej AT - DOS 3.30 lub nowszy - 640 KB RAM * * * Wszystkie te programy pracuj z tym samym, jednolitym interfejsem graficznym posiadajcym olbrzymie moliwoci konfiguracyjne, poczynajc od zmiany czasu zegara systemowego a koczc na zmianie tapety (obrazka na tle ekranu). Niestety nie wszystkie opcje ju dziaaj. Nie dziaa opcja zapisu konfiguracji na dysk. Co uniemoliwia ustawienia parametrw raz na zawsze. Nastpne wersje programw na pewno bd uzupenione o nie dziaajce opcje i usunite zostan z nich jeszcze nie zauwaone bdy. Wszystkich zachcam do zapoznania si z moimi programami a firmy zajmujce si promocj lub/i dystrybucj prosz o kontakt z celu nawizania wsppracy. Zainteresowanych zakupem prosz o zapoznanie si z opcj "Info" w kadym z programw, gdzie opisane si warunki sprzeday. Prosz take o korespondencj, w sprawie programw i nie tylko, a programistw o wymian dowiadcze. * * * Opis plikw: AMSTUDIO\*.EXE - programy opisane wyej, \*.PCX - tapety (obrazki na to) ktre mog by bez obaw usunite z dysku baz szkody na dziaanie programw. (tapety o takiej samej nazwie jak programy s automatycznie wczytywane po ich uruchomieniu) [Polskie znaki w standardzie Latin2] Andrzej Mazur