logo

BLITZ Basic II


Bylo, nebylo, svýho času jsem scháněl nějakej slušnej kompilátor Basicu. Proč Basic? Mno, třeba proto, že jsem starej lenoch a nemám čas na to, abych si hrál s céčkem nebo assemblerem (časy se mění - teď naopak do céčka lezu vo sto šest...). A tak jsem si sehnal AMOS Basic v 1.4 u Amiga Info i s českym návodem. Dost dobrej, ale časem jsem u něj oběvil pár závažnejch "chybiček", kvůli kterejm jsem AMOS zavrhnul (hlavně po přechodu na A1200). Abych Vás dál nenapínal, tak Vám hned povim, co mě tak hrozně vadilo. To nejhroznější zjištění bylo, že programy v AMOSU nemakaj s AGA čipama - rozhoděj obrazovku a bez vypnutí AGA se s nima nedá dohodnout. Multitasking ? Tak ten AMOS neznal. A mnoho dalších "botiček" by se dalo vyšťourat. Pravda nebyl to zrovna nejmladší kus softwaru, ale když už jsem měl dvanáctikuli, tak jsem chtěl něco, co mi bude na ní fungovat.

Pár měsíců nato se dali páni z AMIGA News (budiž jim země lehká, aneb proč jste je nechali chcípnout?) slyšet, že existuje suprovej kompilátor Basicu zvanej BLITZ Basic II. A hned o něm napsali několikadílnej seriál.

Zopár měsíců se odbelhalo a já měl BLITZe doma na hadru. Pravda jenom jeho demo, který neumělo kompilovat na disk, ale funkční a bylo... No a po krátký seznamovačce jsem usoudil, že tenhle Basic je to pravý.

        Co se mi na něm líbilo ?

Má rád AGA čipy (OCS/ECS mu snad taky čvachtaj), tyká si s Dr. Multitaskem, využívá systému kde jen může (Hola, Intuition !), svá okna si otvírá na Workbenchi nebo vlastním screenu a co se týká grafiky a zvuku, nemá konkurenci (teda v rámci mě známých Basiců).

A zase pár měsíců (možná tejdnů) se vodplazilo a plná verze BLITZu byla doma. Pro upřesnění, byly to celkem dvě verze - 2.01 (3 diskety) a 2.1 (2 diskety). Instalace nebyla zrovna podle mých představ (viz Instaler...). Znáte to - použij co chceš a dostaň to na hadr (pevný disk). Takže ve stručnosti:

  1. ) Vytvoř nějakej adresář na hadru (např. "BlitzII")
  2. ) Zkopíruj do něj obsah disket(-y) s BLITZem
  3. ) Do User-StartUp přidej assigny "Blitz2:" a "BlitzLibs:" směřující do adresáře, kam sis nakopíroval BLITZ
  4. ) Hmmmm, snad ti to pak bude makat :-)

Po naistalování (tak 5 min. práce), jsem se vrhnul na hloubkový průzkum toho, co jsem si narval na disk. Asi nejvíc místa zabral "Ted" - textový editor, "Blitz2" - vlastní kompilátor, "Deflibs" - soubor obsahující rutiny, které se linkují při kompilaci k Vašemu kódu, a několik adresářů s knihovnami, ježto jsou využívány kompilátorem. Autoři nezapoměli přibalit nějaké ty příkládky napsané (kupodivu) v BLITZu a především jednoduchý popis příkazů obsažených v přibalených knihovnách (prográmek "Help").

Už je tomu víc než rok (Že by dva ? To to letí...), kdy jsem si plnou verzi BLITZe nainstaloval, a můžu Vám říct, že jsem s ním víc než spokojenej. Programy, který dělá, nepadaj, jsou celkem rychlý a nejsou ani moc rozežraný na paměť. Teda s tou padavostí, aby bylo jasno, se nedá počítat zcela na sto procent - sou holt věci, které BLITZ nemá rád, a pak se hroutí. Dá se říct, že když se člověk vyvaruje jistých věcí (časem řeknu kterejch) a pořádně svůj výtvor (program) odladí, tak si může být jistý, že nepouští do světa žádnou padavku.

Nyní tedy pár řádek o vlastním vývojovém prostředí (texťák, kompilátor, atd.). Jak jest výše napsáno, BLITZ využívá pro psaní programů svůj speciální textový editor zvaný "Ted". Mno, není to zrovna nejlepší texťák pod sluncem, ale svému účelu poslouží víc než dobře (navíc se nedá použít žádnej jinej). Umí zvýrazňovat syntaxi (jinou barvou zobrazuje klíčová slova) a má všechny základní editační funkce (Cut/Copy/Paste...). Pokud však čekáte něco jako je lokalizace, tak na to rychle zapomeňte. Zrovna tak na psaní českých textů (hlášek, poznámek) do zdrojáků - tohle v něm taky nejde. Jediný způsob, jak dělat skutečně "české" programy a ne "ceske" programy, je zkompilovat je jako "ceske" a háčky a čárky dodělat v nějakém hexa-editoru (např. FileX). Tady si neodpustím uvést ještě jednu chybu, kterou Ted obsahuje. Projevuje se tehdy, když máte v paměti nataženej zdroják větší než 32KB a chcete ukončit práci s Tedem. Chvilku se nic neděje, ale pak přijde ...(chvilka napětí)... pan GURU ! Dá se tomu však naštěstí zabránit - nahrajte soubor menší než 32KB a GURU nebude.

Kompilátor - rychlej, nenáročnej a odhalí většinu chyb co na něj budete zkoušet. Docela dobrá věc na něm je, že spolupracuje s externím debugerem "DefaultBug", což je docela dobrej prográmek, kterej zachytí i některý závažný run-time chyby a ochrání Vás tak před guráčem. Mávšak i své mouchy. Občas se stane, že zastaví běh programu, ale nedokáže jej vyrvat z paměti a musí následovat reset - jinak při další kompilaci naběhne GURU - Rudá svině :-(.

To ostatní už není nijak zajímavý. Proto se vrhnu na dodávané utility, ježto jsou dost důležitý.

Už jsem se zmínil o souboru DefLibs. Tento soubor je VELMI důležitý, a když už nic jinýho, alespoň jeho si někam zazálohujte. Obsahuje totiž definice, popis a kdo ví co ještě knihoven funkcí dodávaných s BLITZem. BLITZ by byl špatným basicem, kdyby nešel dál rozšiřovat o nové funkce a příkazy. Ktomu slouží právě ony knihovny. Jenomže, ono nestačí přikopírovat novou knihovnu (na správné místo), aby šla hned i použít - chybí její popis v DefLibs. A právě toto zařídí utilita "MakeDefLibs", která je někde v adresáři s BLITZem. Když jí spustíte, prohryže se assignem "BlitzLibs:" a vyplivne nový soubor DefLibs. POZOR ! Starý soubor DefLibs přemaže, tak že si ho nejdříve uložte. Tím vám zpřístupní funkce z Vámi přidané knihovny.

Další možností, jak rozšířit možnosti BLITZu, je využití ".fd" souborů. Tyto soubory obsahují informace o různých knihovnách (každý o jedné z nich - např. "MedPlayer_lib.fd" se týká "MedPlayer.library") - názvy a ofsety funkcí v nich obsažených. Jejich připojení je trošku složitější než běžných Blitz-knihoven, jak jsem popsal o něco vejš. "Efdéčko" (soubor.fd) je totiž potřeba nejdřív převést prográmkem "FDConvert" (dodává se s BLITZem) do podoby poživatelné pro BLITZe. Ale aby to nebylo tak jednoduché, požádá Vás FDConvert u každé nové knihovny vytvářené z efdéčka o její číslo (tušim, že identifikační). Toto číslo nemůže být úplně náhodný, protože některá čísla jsou už využita již dříve nainstalovanými knihovnami. Jak tedy zjistit, které číslo je "volné" ? Jednoduše - utilitou "ViewLibs", která Vám vypíše obsah souboru DefLibs spolu s identifikačními čísly. Stačí si pak vybrat nějaké volné. Proběhne-li všechno OK, nezbývá než vypustit MakeDefLibs a počkat si na výsledek jeho snažení...

Máte DefLibs v pořádku pohromadě ? Jestli ano, pak mi nezbejvá, než Vám pogratulovat a prozradit ještě, jak volat nové funkce. U standartních Blitz-knihoven je používání úplně stejné, jako u ostatních, již zabudovaných, funkcí. U knihoven zplácnutejch z efdéček, je potřeba za název volané funkce přidat podtržítko ('_') BEZ MEZERY. To, jestli jste napsali název funkce správně, Vám BLITZ oznámí, po zkontrolování syntaxe, změnou barvy.

Jo tak to by mohlo zatim stačit. Ktomu ostatnímu se dostanem někdy jindy.

A abych nezapoměl. Můžu Vám slíbit, že o BLITZu ještě uslyšíte tolik, že Vám to poleze KRKEM ! :-).

P.S. Těšte se na zdrojáčky, kterými Vás zavalím...

E.N.I.F.         

 
 
__________________________________________

.  Zpátky do Obsahu