Další díl toho co mne zaujalo a co jsem si zapsal pro pozdější použití. Dnes JS nástroj na zvýrazňování syntaxe pro Pascal, návod na FastCube, něco o konverzi hlavičkových souborů, CodeTyphon a další efektové. A samozřejmě offtopic nakonec.
Erik Salaj aka winsoft.sk vytvořit Syntax Hightlighter pro Pascal v JS a dal mi licenci pro Delphi.cz. Momentálně je zde na serveru totiž používán můj kód Syntax Hightlighter, který je ale produkován na serveru, což sice funguje, ale mate to jak vyhledávače tak to má jiné side efekty (a proto poslední dobou ho nepoužívám).
Řešení v JS má to výhodu, že robot při procházení webu dostane čistý text (neprochází JS) a ušetří se čas na serveru (což mi je jedno, jelikož jsem si upravil server tak, že se stránky předpočítávají a ukládají se vygenerované - celý web je psán ve Wiki). Každopádně Erikovo řešení asi použiji. Moc díky.
Chtěl jsem odkázat na demo Rubikovy kostky ve Firemonkey, ale nějak mi to špatně funguje, ale třeba budete mít více štěstí. Rubikova kostka.
Když už jsem u FireMonkey: s překvapením jsem zjistil, že FireMonkey v XE2 neumí gestures. Hmm.
Konverze hlavičkových souborů
Potřeboval jsem převést cca 60K .h souborů (většinou plné enumů) a tak jsem si řekl, že si usnadním práci nějakým nástrojem. Bohužel nakonec jsem to musel udělal ručně, ale aspoň jsem zjistil co jsou za nástroje (resp. co znám). Předem říkám, že to jsou jen pomůcky.
V podstatě se jedná o dva nástroje:
- headconv a jeho následovník jdarth (doporučovaný i delphi-jedi, obsahuje zdrojové kódy)
- h2pas z instalace freepascalu
Šlo mi hlavně o enumy, takže: první už není vyvíjen a z nějakého důvodu převedl z každého enum tak max. 8 položek, nepřiřadil hodnoty ze zdrojového .h (jako pro Delphi cca 3) a odstranil komentáře, takže nic moc.
Druhý mi enumy ignoroval, zato to vypadá, že to prochází syntakticky, protože mi vyhodil syntax error na složitějších konstrukcích. Po jejich odstranění enum stejně ignoroval.
Máte někdo ještě jiný nápad? Resp. konvertoval jste někdo hlavičky pro MAC? Tohle mne mate (myslím si, že to Delphi nějak pro MAC dělá samo - myslím tu dvojí dereferenci - ale jistý si nejsem).
#ifdef WIN32
#define NK_DEREF(a) ((LPVPTR)a) // Windows actually is a single dereference
#else
// Macs use a double dereference
#define NK_DEREF(a) (StripAddress(*((Ptr*)(a))))
#endif
FastCube
Minule jsem psal o tom co to FastCube je, na problémy s instalací atd. Na blogu FastReportu je článek krok za krokem
na minimální použití FastCube. Něco takového jsem chtěl napsat :-).
Konkurence nespí
Ačkoliv Embarcadero hrne Delphi dopředu "jak sviňa" (uvidíte sami), tak konkurence nespí. Nejenže FreePascal ve verzi 2.6 výrazně zlepšil kompatibilitu s Delphi, ale byl jsem upozorněn na CodeTyphon, což je Multi OS a MultiPlatform Programming Studio na bázi FPC s knihovnami.
Druhý zajímavý projekt je SmartMobileStudio, už to tu šlo, ale jedná se o PAS to JS kompilátor. Nové demo ukazuje klasické demo z instalace Delphi (Meteors) přeložené prakticky bez úprav - Delphi Meteors JS. Smekám.
Jednou větou
Objevil jsem Precision Helper, český freeware na práci s helpem, psaný v Delphi, s opravdu moc pěkným a moderním uživatelským rozhraním a velkou funkčností.
Sem tam zde zveřejním inzerát a jsem rád, že většinou mi zadavatel napíše, že díky němu někoho mají. Je to prima pocit (a pár kaček k tomu).
Pro zajímavost statistika uveřejnění delphi.cz offline: 140 stažení za 10 dní, z toho 2/3 během prvních dvou dní, 1x donate.
Díky těm, co hodnotí články pomocí hodnocení - je to pro mne dobrá informace.
Nedávno jsem psal o tom, že nějaký JT je novým product managerem RAD Studia (mají být celkem dva - druhý se hledá). Trochu jsem se v tom vrtal a JT je
John Ray Thomas, dřívejší Borland's Linux RAD Product Manager (kolem Kylixu - 2002), resp. pozdější C++ Product Manager (2004). Pak odešel nebo byl odejít a vrátil se kolem XE2. Tak třeba ten Linux není tak daleko.
Offtopinka
Tento týden je to 30 let co se začalo prodávat ZX Spectrum a stále není mrtvé, viz. Speccy2010 - ZX Spectrum Clone for the 21st Century! Kompletní HW jako jedna deska s FPGA. Emulace úplně všeho, SD karta, atd. Nádhera.