home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Komputer 1996 May
/
PCW596.iso
/
polskie
/
eduk
/
wykres
/
opis.txt
next >
Wrap
Text File
|
1995-11-26
|
8KB
|
262 lines
A-M-S-T-U-D-I-O
Andrzej Mazur
ul.Sportowa 42/2
55-200 O¥AWA
tel. 37-707
Opis programów:
* GUZICZEK.EXE
============ program jest maêym edytorem graficznym
potrafiÑcym obrabiaå rysunki do maksymalnej wielkoÿci 32 na
32 punkty. Jego gêównym zadaniem jest tworzenie tzw. "Ikon"
czyli maêych rysunków symbolizujÑcych pewne funkcje w
programie. Efektem pracy programu sÑ dwa pliki. Pierwszy
.BIN jest plikiem binarnym którego zawartoÿå mo╛na
przekonwertowaå za pomocÑ programu BINOBJ.EXE (zawartym w
pakiecie Turbo Pascala lub BGIOBJ.EXE z pakietu Borland C++)
do postaci pliku .OBJ, którego zawartoÿå mo╛na "dolinkowaå"
do wêasnego programu i pó½niej wyÿwietliå na ekranie za
pomocÑ PutImage. Drugi plik z rozszerzeniem .PAS zawiera
definicj⌐ staêej tablicowej, której zawartoÿå mo╛na
bezpoÿrednio podaå dla proc. PutImage i wyÿwietliå na
ekranie.
A oto przykêad post⌐powania:
- rysujemy maêy 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" ustalajÑc przy
okazji rozmiar rysunku (standardowo 32x32 p.) i inne
parametry. Efektem naszej pracy sÑ np. dwa pliki:
1) _ICONA.BIN
2) _ICONA.PAS
Nast⌐pnie mo╛emy postÑpiå dwojako:
1).
- wczytujemy plik _ICONA.PAS do edytora danego kompilatora
- kopiujemy staêÑ tablicowÑ BitIcon do naszego programu,
oto przykêad takiej staêej:
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 wêasnym programie mo╛emy posêu╛yå si⌐ procedurÑ
PutImage w celu wyÿwietlenia rysunku, oto przykêad:
PutImage (10,10,BitIcon,NormalPut);
- i to ju╛ wszystko.
- Uwaga: programujÑcy w C lub C++ muszÑ przeksztaêciå
staêÑ tablicowÑ do formatu akceptowalnego przez ten
kompilator, wartoÿci liczbowe (hexadecymalne) najêatwiej
dostosowaå funkcjÑ "Search|Replace" edytora, zamieniajÑc
$ -> 0x.
2).
- wywoêujemy program BINOBJ.EXE (lub BGIOBJ.EXE dla C++)
w celu konwersji pliku binarnego _ICONA.BIN do pliku
.OBJ, oto przykêadowe u╛ycie:
BINOBJ _ICONA.BIN ICONA.OBJ MiniRysunek
- nast⌐pnie we wêasnym programie tworzymy sztucznÑ
procedur⌐ zewn⌐trznÑ (traktowanÑ jako struktur⌐ danych)
która "doklei-dolinkuje" nasz plik .OBJ, oto przykêad
jak powinno to wyglÑdaå:
Procedure MiniRysunek; External;
{$L ICONA.OBJ}
- teraz mo╛emy ju╛ wyÿwietliå nasz rysunek procedurÑ
PutImage, oto najprostszy sposób:
PutImage (10,10,@MiniRysunek^,NormalPut);
- i to ju╛ koniec, gdyby nie inne sposoby wyÿwietlania
naszych rysunków. Te które przedstawiêem wy╛ej powodujÑ
╛e rysunki stajÑ si⌐ integralnÑ cz⌐ÿciÑ programu (przez
co roÿnie dêugoÿå kodu naszych programów). Mo╛liwe jest
tak╛e inne podejÿcie, na przykêad odczyt plików .BIN
bezpoÿrednio z dysku, a to przykêad procedury
realizujÑcej takie zadanie:
Procedure Icona_z_dysku;
Var
F :File;
Img :Pointer;
Size:Word;
Begin
Assign(F,'_ICONA.BIN'); { zwiÑzanie z plikiem }
Reset(F,1);
Size:=FileSize(F);
GetMem(Img,Size); { alokacja pami⌐ci }
BlockRead(F,Img^,Size); { odczyt z pliku }
Close(F);
PutImage(300,150,Img^,NormalPut); { rysowanie icony }
FreeMem(Img,Size); { zwolnienie pami⌐ci }
End;
Teraz to ju╛ naprawd⌐ wszystko, lecz chciaêbym zauwa╛yå
╛e sposobów na wyÿwietlanie plików .BIN jest jeszcze co
najmniej kilkanaÿcie. Te zaprezentowane przeze mnie sÑ
najprostszymi (to nie znaczy ╛e najgorszymi, wr⌐cz
przeciwnie) jakie znam.
WYMAGANIA:
- komputer typu PC, co najmniej AT
- DOS 3.30 lub nowszy
- 640 KB RAM
* RYSKURSO
======== jest tak╛e edytorem, tyle ╛e wyglÑdu kursora
ekranowego. Pozwala na wygodne przygotowanie wzorca wyglÑdu
kursora w postaci dwóch staêych tablicowych (Maski i Wzoru)
które sêu╛Ñ procedurze DefKursor do zmiany wyglÑdu kursora
jak i okreÿlenia punktu aktywnego kursora graficznego.
O szczegóêy teoretyczne odsyêam np. do czasopisma:
"KOMPUTER" 6(27) - 10(31)/88 a tak╛e pod wêasny adres, gdzie
odpowiem indywidualnie na te czy inne pytanie (je╛eli
b⌐d⌐ wiedziaê oczywiÿcie). SamÑ treÿå procedury DefKursor
nagrywa tak╛e sam program RYSKURSO (po odfajkowaniu pola
"DoêÑcz treÿå procedury") wraz z wy╛ej opisanymi staêymi
tablicowymi.
Oto przykêadowa zawartoÿå pliki _KURSOR.PAS który jest
efektem dziaêania programu RYSKURSO:
{** Plik zawierajÑcy stale rekordowo-tablicowe z definicja
wyglÑdu 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 staêej rekordowej z dwoma staêymi
tablicowymi, i dwoma polami X i Y do okreÿlenia punktu
aktywnego kursora / pola te nale╛y wypeêniå r⌐cznie,
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 pozwalajÑca zmieniå wyglÑd 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 zawierajÑcy kilka operacji
matematycznych, takich jak tworzenie wykresu funkcji jednej
zmiennej, obliczanie miejsc zerowych, wyznaczanie caêki
oznaczonej i pola powierzchni pod krzywÑ funkcji,
interpolacja i aproksymacja funkcji. Dodatkowo zawiera tak╛e
(nie dokoΣca skoΣczony) kalkulator naukowy.
WYMAGANIA:
- komputer typu PC, co najmniej AT
- DOS 3.30 lub nowszy
- 640 KB RAM
* DEMO
==== to program zawierajÑcy kilka podprogramów (moduêów)
które mogÑ zostaå doêÑczone do ka╛dego programu powstajÑcego
przy zastosowaniu mojego ÿrodowiska AMstudio.
W zastawie mo╛emy znale½å dwie gry logiczne, kilka drobnych
efektów graficznych i znany ju╛ z programu WYKRES
kalkulator naukowy. Jak ka╛dy program tak╛e i ten posiada
mo╛liwoÿå 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 posiadajÑcym olbrzymie mo╛liwoÿci
konfiguracyjne, poczynajÑc od zmiany czasu zegara
systemowego a koΣczÑc na zmianie tapety (obrazka na tle
ekranu).
Niestety nie wszystkie opcje ju╛ dziaêajÑ. Nie dziaêa
opcja zapisu konfiguracji na dysk. Co uniemo╛liwia
ustawienia parametrów raz na zawsze. Nast⌐pne wersje
programów na pewno b⌐dÑ uzupeênione o nie dziaêajÑce opcje i
usuni⌐te zostanÑ z nich jeszcze nie zauwa╛one bê⌐dy.
Wszystkich zach⌐cam do zapoznania si⌐ z moimi programami
a firmy zajmujÑce si⌐ promocjÑ lub/i dystrybucjÑ prosz⌐ o
kontakt z celu nawiÑzania wspóêpracy.
Zainteresowanych zakupem prosz⌐ o zapoznanie si⌐ z opcjÑ
"Info" w ka╛dym z programów, gdzie opisane si⌐ warunki
sprzeda╛y.
Prosz⌐ tak╛e o korespondencj⌐, w sprawie programów i nie
tylko, a programistów o wymian⌐ doÿwiadczeΣ.
* * *
Opis plików:
AMSTUDIO\*.EXE - programy opisane wy╛ej,
\*.PCX - tapety (obrazki na têo) które mogÑ byå bez
obaw usuni⌐te z dysku baz szkody na
dziaêanie programów. (tapety o takiej samej
nazwie jak programy sÑ automatycznie
wczytywane po ich uruchomieniu)
[Polskie znaki w standardzie Latin2]
Andrzej Mazur