Řešil jsem problém s Matlabem a předáním neznámých z handleru eventu. Klasickým způsobem jako u standardních funkcí to řešit nelze. Vymyslel jsem několik způsobů s mými dosavadními znalostmi – zápis neznámých do .mat souboru, do .txt souboru nebo pomocí globálních proměnných. Zřejmě by také bylo možné (a nejelegantnější, i když složitější) vytvoření vlastní třídy a volání její příslušné metody. Moje řešení mi fungovali při spuštění grafického uživatelského rozhraní přímo z Matlabu, nikoli však po zkompilování aplikace do samostatného .exe souboru. Dlouho mě nic nenapadalo, ale řešení je, jak to už tak bývá, až nemile primitivní. Kompilátor Matlabu nezahrnuje do kompilace soubor s handlerem, pokud mu to výslovně neřeknete. Obecně všechny soubory, na které je ve zdrojovém kódu odkazováno pouze uvnitř nějakého stringu, nejsou do kompilace zahrnuty. Tuto funkci je potřeba ve skriptu definovat jako „%#funcion function_name“ nebo při kompilování pomocí příkazu mmc explicitně doplňkové soubory jmenovat. Takže si na to dejte pozor, pokud narazíte na tuto malou zradu, která se jen špatně odhaluje.
Tvorba MSI: Advanced Installer
Udělali jste nějaký zajímavý program a chce uživatelům usnadit jeho zprovoznění? Řešením je vytvořit instalátor, např. na základě MSI (Microsoft Installer), který provede setup aplikace na jakémkoli počítači. K dispozici je hned několik free programům, od kterých si můžete nechat instalatór vytvořit. Program Advanced Installer ale pravděpodobně nemá konkurenci. Spojuje pokročilé funkce a zároveň si zachovává přijatelnou míru uživatelské příležitosti. K dispozici je hned několi balíčků předvytvořených themes. Zajímavou funkcí je registrace dll knihoven v cílovém počítači, takže není potřeba chít tuto činnost po uživateli udělat manuálně. Můžete si zvolit spoustu tzv. Prerequisites, tedy povinného softwaru, které je potřeba do počítače nainstalovat pro správný běh samotné aplikace. Možnost je i online kontrola nejnovější verze aplikace. Mimo jiné lze nastavit i licencování pomocí vygenerovných sériových čísel a mnoho dalšího.
MSI: Microsoft Installer DLL error
Při pokusu o instalaci některého programu pomocí Microsoft Installer vyskočí hned na počátku hláška o chybějících knihovných DLL a kontaktování prodejce programu. Problém bývá ten, že MSI nemá povolený přístup do složky C:\Users\x\AppData\Local\Temp. Je potřeba mu toto oprávnění povolit. Spustíme příkazový řádek (cmd), změníme složku na tu, kde se nachází instalační msi soubor (cd path) a napíšeme: msiexec /i packagename.msi.
Tím udělíme instalátoru administrátorská práva a pokud ve složce temp ony potřebné knihovny jsou, instalátor je již najde.
Trvalá změna ikony exe souboru
Změnit ikonu u zástupce nějakého programu problém není – pravé tlačítko myši, vlastnosti, změnit ikonu. U samotného exe souboru, kde je obrázek ikonu integrován přímo uvnitř struktury, je to složitější. Je potřeba si vytvořit ikonu vhodných rozměrů (max. 256×256) a vhodné barevné hloubky (32bit až 4bit). Některé programy ikonu změní, ale nikoli trvale. Ikonu neintegrují přimo do souboru a na jiném počítači tak naskočí opět stará ikona. Pokračovat ve čtení „Trvalá změna ikony exe souboru“
ATControl: Leica AT401, AT402 Matlab controlling application
I have written an application, based on Matlab scripting language, which is controlling Leica AT40x (AT401, AT402, AT403) absolute laser tracker. Reason to write this application is that the official software by Leica (Tracker Pilot) does not allow to register all needed data. Commercial solutions (Polyworks, Spatial Analyzer) are very expensive and huge software packages which are primarily designed to be used in industrial metrology (car and airplain industry). Pokračovat ve čtení „ATControl: Leica AT401, AT402 Matlab controlling application“
LaTex, TexLive, TexMaker
LaTex je balík maker programu Tex, který je určen k sázení písma. TexMaker je software, který psaní zprostředkovává a zjednodušuje. TexLive je live distribuce Texu, která je volně ke stažení na internetu. Proč se vzdát oblíbeného Wordu a začít experimentovat s LaTexem? Pokud jste někdy narazili na nějaké omezení či error ve wordu, tak vězte, že v LaTexu si můžete vše udělat podle svého a nemusíte se spoléhat na grafické rozhraní Wordu. Můžete ale nemusíte. Lze totiž využít některou z předdefinovaných šablon, např. vysoké školy často poskytují šablony pro psaní závěrečných prací. A právě pro takové případy, kdy je potřebné se držet určitého stylu, považuji LaTex za výhodný. Já osobně v něm vytvářím prezentace podle šablony. Nemusím se starat o formátování textu či grafiky, to vše je nastaveno v hlavičce souboru pomocí výběru šablony. Pro začátečníky může být problém překonat počáteční zděšení nad tím, že je potřeba vše psát v kódu, kód kompilovat a zobrazovat jako PDF. A jelikož formát Tex není u nás příliš rozšířený, často narazíte na problém, pokud by bylo potřeba text někomu předávat. Nicméně s LaTexem se dají dělat i profesionální sazby a specialitky jako např. sazba not, takže je rozhodně dobré vědět, že tato alternativa tu existuje, a v případě potřeby ji využít.