Generátor virtuální městské zástavby
Výtvarná informatika - školní projekt
O mě Moje zájmy Projekty a tvorba Různé designy Univerzální instalační program AlešGame



Vítejte na stránkách univerzálního instalačního programu.
Instalák v. 1.02 beta



Dokumentace k mému instalačnímu programu.

I. Idea


Pod pojmem univerzální program si představuji program, který ve své podstatě není omezen jakýmkoliv návrhem programátora. Jinými slovy, není omezen nějakým úvodním schématem, které bylo navrženo. To nás přivádí k myšlence, že jediná správná možnost jak minimalizovat toto omezení je zvýšení vyjadřovací síly skriptu, kterým se řídí program. Dovedeme-li tuto myšlenku do konce, dojdeme k názoru, že samotný skript musí být víceméně také program psaný ve specifickém programovacím jazyku (ovšem velmi zjednodušeném, aby se neztratila výhoda napsání skriptu oproti napsání celého programu) a že náš univerzální program bude v podstatě plnit funkci jak překladače, tak i samotného programu.



II. Konkrétní požadavky


Co všechno tedy musí náš skript umět, aby pomocí něj bylo možné sestavit průběh libovolné instalace?

(má ovšem mnohem širší možnosti uplatnění)
Musí umět manipulovat s parametry okna na kterém beží aplikace.
Musí umět vytvořit objekty jako jsou tlačítka a pod.
Musí umět kopírovat soubory dle zadaných parametrů, případně provádět jejich dekomprimaci.
Musí umět používat proměnné se krerými umožní základní operace jako je sčítaní čísel, nebo zřetězení textových řetězců a musí umožnit jejich používání kdekoliv mohou zastoupit nějakou hodnotu.
Grafika musí být zcela libovolně nastavitelná
Musí umět získat hodnoty proměnných z editačních polí a pod.
Musí umět reagovat na stlačení tlačítek a pod.
Musí umět používat rozhodovací událost typu : POKUD, seznam podmínek, POTOM udělej, seznam úkolů, JINAK, seznam úkolů
Musí umět upozornit programátora skriptu na kterém řádku má chybu
Musí umět spouštět externí programy



III.Nástin algoritmických řešení


Každý jednotlivý příkaz ve skriptu spustí nějakou proceduru, nebo funkci v hlavním programu (např. příkaz pro zkopírovaní souboru spustí proceduru,která daný soubor zkopíruje, případně dekomprimuje). Proměnné jsou uloženy v dynamických strukturách (viz dynamika.bmp).Stejně tak objekty. Proto nejsou omezeny svým počtem, jak by tomu mohlo být při statickém použití. Pro pohyb mezi jednotlivými částmi programu lze využívat příkazy skoku. Dají se tak vytvářet například cykly. U pomíněných příkazů se skok používá pro skok do části, pro splněnou podmínku, nebo pro skok do části, která bude reagovat na nesplnění podmínky.



IV. Poznámky k samotnému psaní skriptu

Text za "~" se bere jako komentář a tedy je ignorován stejně jako prazdné řádky.

Proměnnou lze používat místo textových řetezců, nebo číselných hodnot použitím značky ^ před jménem proměnné. Např ^pocet udává hodnotu proměnné jména pocet značky skoku jsou ignorovány dokud nepřijde příkaz k samotnému skoku

V. Samotné příkazy,jejich popis a příklady použití Kompletní dokumentace


VI. Závěrem


Tento program je pouze narychlo naprogramovaná ilustrační beta verze, která obsahuje pouze část příkazů, případně nastavení(i když se pomocí ní již lze bez problémů vyinstalovat takřka cokoliv). Také programový kód by mohl být ještě trochu efektivnější(žádný program nemá nejefektivnější kód již v první verzi). Závěrem tedy pár slov k tomu, jak bych si představoval finální verzi...

Přibude více objektů, než pouze edit a tlačítko (např. checkbuton,radiobutton a pod.), vyšší rozmanitost typů,plné vyhodnocování aritmetických výrazů a logických výrazů, komplexnější operace s textem. Přibudou cykly, rozhodovací Case systém, spouštění externích programů, absolutní grafická volnost, možnost přehrávání multimedií.

Programovací jazyk v betě se skládá z jedno,nebo dvouznakových příkazů, ale nejsou příliš roztříděné do souvislostí a tedy i poněkud nepřehledné při prvním seznámení se s tímto prostředím. Ve výsledném programu bych mohl jít dál a vytvořit místo dvouznakových zkratek zcela české programovací prostředí, ve které bude jak pro absolutně jednoduchou manipulaci, tak i pro mnohem komplexnější užití.

Uvažoval jsem také o možnosti vytvoření editoru na skripty, kde by si v podstatě uživatel vytvořil vlastní průběh instalace způsobem podobným jako se tvoří prezentace v powerpointu, čímž by ani nemusel mít představu o jakémkoliv psaní skriptu jenom by "umístil pár tlačítek" a program by se postaral o vygenerování skriptu.

Stáhnout Instalák v.1.02 beta ve formátu zip.


Seznam poznámek k beta verzi:

Tento projekt je implementován v Borland Delphi.

Úplně jsem zapoměl na funkci pro vytvoření aresáře, takže program nahlásí chybu při pokusu o kopírování do neexistujícího adresáře.

Pro funkčnost ukázkové instalace je potřeba buť rozbalit celé na c:\ tak, že install.ini bude mít cestu c:\instalak\install.ini, nebo změnit dva řádky na začátku. Po otevření souboru je myslím zcela intuitivní, které dva to jsou.




Jan Kytýr