Môj malý most medzi internetom a mobilnou sieťou pomocou androidovského telefónu


Tak som videl v telke reklamu nemenovaného operátora, ktorý pri prechode na jeho služby ponúka pol roka SMSkovania zadarmo. Rozmýšľal som, ako by sme to využili viacerí a tak som dostal nápad, že by sme si mohli naprogramovať SMS bránu. Čo k tomu budeme potrebovať? Ingrediencie: Počítač, Ubuntu, Eclipse, Geany, Android mobilný telefón. Ako to celé bude fungovať ukazuje nasledujúci obrázok:

ako_pracuje_stargate

ako_pracuje_stargate


Celý princíp programu a php skriptu na serveri spočíva v tom, že si napíšeme webrozhranie, ktoré sa postará o prijatie textu SMSky a čísla, kam ju poslať. Údaje sa uložia do databázy. Potom je tu skript, ktorý sa postará o prezentáciu jednotlivých SMS pre mobilný telefón. Telefón pomocou programu napísaného v Android Java skontroluje, čo mu posiela php skript z webu a pošle SMSky na zadané čísla.
zobrazenie android stargate

zobrazenie android stargate


webový vstup pre stargate

webový vstup pre stargate


Tým sme si vlastne napísali softwérový most, ktorý sa postará o to, že môžeme posielať SMSky z ľubovoľnej webstránky. Pre úplnosť dodávam, že sme pre komunikáciu s databázou použili abstraktnú vrstvu adophp. Na záver ešte udávam kompletný zdrojový kód programu stargate: source_stargate

Posted in Linux návody | Zanechať komentár

Minichat v Gambas3


Tak som rozmýšľal, že vlastne všetci používame na chattovanie a pokecanie si cudzie servery. Či už je to skype, icq alebo azet, či facebook. Mňa však napadlo, že by sme si mohli naprogramovať vlastný server na pokecanie si, tzv. minichat, ktorý bude disponovať len mini funkciami a to je chattovanie v reálnom čase pomocou programíku napísaného v Gambas3ke. Celé by to fungovalo tak, že na serveri by bežala databáza, nad ňou by bežal PHP skript, ktorý by bol schopný prijímať od programu jednoduché správy a tie by zaraďoval do databázy. Zároveň by skript vedel poslať, teda zobraziť správy v pokeci s prezývkami tých, ktorí správu poslali, prípadne aj s časom odoslania správy. Ako vyzerá kostra programu, ako aj bežiaci program zobrazujú nasledovné obrázky. Pridal som aj obrázok so zdrojákom v Gambas3ke. Na nasledujúcich obrázkoch teda vidíme, ako môže taký minichat fungovať.

nahlad minichat

nahlad minichat


Screenshot1 - beziaci program Minichat v Gambas3

Screenshot1 - beziaci program Minichat v Gambas3


Screenshot2 - zdrojovy kod minichat v Gambas3

Screenshot2 - zdrojovy kod minichat v Gambas3


Na obrázkoch vyššie teda vidíme, že náš jednoduchý chat môže fungovať aj bez icq, či skype alebo aj bez facebooku. Ja by som povedal, že je to prispôsobená verzia IRC. Prečo prispôsobená? Lebo sme použili to, čo väčšinou freehostingy ponúkajú a to je MySQL a PHP. Na tom sme postavili grafické používateľské rozhranie naprogramované v Gambas3 pre Linux.
Tak toto bol môj malý nápad, ako napísať vlastný minichat v Gambas3ke. Samozrejme moje riešenie je postavené na použití freehostingu, ktorý keďže beží v internete zdarma, nie vždy možno funguje podľa predstáv a niektoré servery sú aj často mimo prevádzku. Ďalej som využil programovací jazyk Linuxu, ktorý je tiež zdarma. Ale myslím si, že tento program postačuje na jednoduchú komunikáciu miestnej ukecanej skupiny :)
Samozrejme dalo by sa ešte dorobiť kopec vecí, aby sa program priblížil vyššie spomínaným masovo používaným programom. Tak toľko náš dnešný minichat. Tu pripájam koncept zdrojáku v Gambas3ke: zdrojak_minichat_gambas3

Posted in Úvod do Gambas3 | Zanechať komentár

Intermezzo: Násobenie jednociferného čísla n číslom 9 v Gambas 3


Predstavme si, že chceme násobiť nejaké jednociferné číslo číslom deväť. Na to môžeme použiť jednoduchý trik a to taký, že výsledná číslica sa bude skladať z dvoch číslic a to takých, že prvá bude (n-1) a druhá bude (10-n). Teda, keby sme chceli násobiť 4×9, to sa rovná 36. Teda naším trikom by to bolo (4-1)a(10-4)=3a6=36, teda 4×9=36. Tento trik si môžeme jednoducho naprogramovať v Gambase3 v tele subrutiny nasledovne:

Dim n, v1, v2 As Integer
Dim vysl As String
n = 4
v1 = (n - 1)
v2 = (10 - n)
vysl = v1 & v2
Print vysl

Tento trik ma naučil Allen v jeho voľnej online knihe, za čo mu ďakujem :)
Dnešný článoček je len takýto mini. Vidíme sa v ďalších častiach o Gambas 3ke.

Posted in Úvod do Gambas3 | Zanechať komentár

Bližší popis IDE Gambas3


Keď začnete v Gamase3 vyvíjať nový projekt, pravdepodobne budete chcieť začať s novým hlavným formulárom. Hlavný formulár je ukázaný hneď po odštartovaní programu a zvyčajne je to prvá vec, ktorú užívateľ vidí. Zvyčajne sa po vytvorení nového projektu tento nový formulár volá Fmain. Na tento formulár môžete pridávať kontrolné prvky a zvyčajne definujete chovanie týchto prvkov. Interakcia medzi užívateľom a rozhraním sa zvyčajne nazýva udalosti (tzv. Events). Kontrolné prvky (tlačítka atď.), ktoré Gambas používa sa nachádzajú vpravo dole v nástrojovej lište (tzv. Toolbox). Je možné meniť vzhľad a správanie kontrolných prvkov nastavovaním ich vlastností (tzv. Properties). Vlastnosti kontrolných prvkov sa nastavujú v okne vlastností na obr. 5 ho vidíme vpravo hore. Na obrázku tiež vidíte kontrolný formulár bez pridaných kontrolných ovládacích prvkov. Obrázok 5 zobrazuje vývojové prostredie IDE Gambas3 po spustení a vytvorení nového projektu. Vľavo vidíme zvislý strom s prvkami formuláre, triedy, moduly a dáta. Vpravo od stromu vidíme prázdny formulár pre pridávanie nových prvkov. Môžeme naň umiestňovať tlačítka, zoznamy prvkov, prípadne iné ovládacie prvky ako sú napr. aj radiobuttons, checkboxes a iné. Pod formulárom vidíme konzolu, kde sa nám vypisujú všetky správy ohľadne programu. Do tejto konzoly môžeme vypisovať príkazom PRINT “toto je správa“ Ale to už predbieham. Vpravo vidíme dve malé podokná. Vpravo hore vidíme podokno vlastností vybraného prvku. Vpravo dole vidíme podokno tzv. toolbox s ovládacími kontrolnými prvkami, ktoré je možné na formulár pridávať. Nižšie uvádzam spomínaný obr. 5:

IDE Gambas3

IDE Gambas3


Keď poklikáme na hlavný formulár v IDE Gambas3, tak sa nám otvorí okno hlavnej triedy FMain.class, ktorá v sebe skrýva dve subrutiny a to je _new(), ktorá sa spúšťa hneď po novovytvorení triedy FMain a potom je to subrutina Form_Open(), ktorá sa spúšťa na otvorenie a vykreslenie formulára FMain.
Zapisovanie kódu v prostredí Gambas3

Zapisovanie kódu v prostredí Gambas3


Jazyk Gambas3 sa podobá na jazyk Basic, no nie je to jeho klon, ale toto hovorí aj jeho rekurzívny akronym Gambas is not Basic. Vývojové prostredie poskytuje aj také vlastnosti ako je zvýrazňovanie syntaxe nielen jazyka Gambas, ale aj HTML a CSS, automatické dokončovanie kľúčových slov ako aj štruktúrované odsadzovanie.

Posted in Úvod do Gambas3 | Zanechať komentár

Gambas3 IDE (Vývojové prostredie-Integrated Development Environment)


Poďme si teraz spolu narýchlo prejsť vývojové prostredie Gambas. Všetky tu uvedené príklady boli testované na Gabas3Alpha. Keď prvýkrát spustíte Gambas, otvorí sa Vám úvodná obrazovka známa z prostredia Gambas2. Aj v Gambas3 sa táto obrazovka zachovala. Následne je potrebné zvoliť si Nový projekt New project a na nasledujúcej obrazovke si zvoliť typ projektu.

Výber projektu Gambas

Výber projektu Gambas


V našom príklade si zvolíme grafický projekt a následne si vyberieme priečinok a názov projektu. Odklikáme Next(Ďalší) a nakoniec nám Gambas oznámi, že projekt bol úspešne vytvorený, čo následne potvrdíme kliknutím na OK. Následne sa dostaneme do vývojového prostredia, v ktorom budeme písať náš kód, program.
Editor kódu Gambas3

Editor kódu Gambas3


Hlavný navigačný nástroj v IDE (Integrated Development Environment) Gambas je prieskumník projektu (Obr.4, zvislá časť všavo). V tomto prieskumníkovi vidíte strom zobrazujúci typy súborov vo Vašom projekte. V tomto stromovom zobrazení vidíte moduly, formuláre, triedy a údaje. Moduly sú súbory obsahujúce procedúry, funkcie, subrutiny, ktoré môžete použiť kdekoľvek vo Vašom projekte. Narozdiel od tried, z modulov nevytvárate objekty a moduly nemahú obsluhovače udalostí (event handlers). Ďalšou položkou stromového prieskumníka sú triedy, ktoré sú akousi šablónou pre vytváranie objektov z týchto tried. Triedy definujú metódy, vlastnosti a obsluhu udalostí(event handlers) v rámci objektov, ktoré ste vytvorili z týchto tried, šablón pre objekty. Formuláre sú okná, ktoré ste vytvorili v projekte. Dáta, údaje zobrazujú súbory Vášho projektu, čo môžu byť aj grafické súbory, ikonky, prípadne HTML súbory. V spodnej časti prieskumníka projektu nájdete stavový riadok, ktorý zobrazuje aktuálnu činnosť Gambasu.
Na tomto mieste by sme pre dnešok skončili a budeme pokračovať v ďalšom článku nabudúce.

Posted in Úvod do Gambas3 | Zanechať komentár

Let’s not open sole gyms – Otvorme nielen telocvične


Eng:
There was an article in some newspaper with huge title Let’s open the gyms. Author of the article wanted to suppress bad behaviour of people in their free time by sport. And in my opinion this is not the only way how to avoid the consequences of the sentence: Idle hands are the devil’s workshop. I think we need to divide the activities of people to sport and leasure and the education in free time. Due to this we need to empower the libraries and open them to people. We need to spread the internet to every human to be free in acquiring the information from various sources. Then we need to enrich the fond of the libraries to give the people chance to find interesting books, articles and information in general for their personal benefit. We can overcome bad times by sport and reading+education in tight cooperation. The result of endowing common people by the information will be the society ready to face the crisis on several levels: intelectual, moral and social. This seems to be a kind of utopian society. But let’s try to imagine better equipped intellectual and fit society. History might be our teacher in the hard times. I see nobody is perfect, we all have our weaknesses but we must admit we have our strenghts. Everything around us many times seems to be the test, the exam evaporating stamina from ourselves. But we can not follow ancient Rome into vnity…
Svk:
Kedysi som videl v novinách článok s veľkým nápisom Otvorme telocvične. Autor článku sa snažil zmeniť nevhodné správanie ľudí vo voľnom čase športovaním. A podľa mňa to nie je jediné riešenie, ako by sme sa vyhli dôsledkom vety: Lenivosť prináša diabolské nápady. Myslím si, že môžeme rozdeliť aktivity ľudí na športovanie ako aj vzdelávanie sa vo voľnom čase. Práve pre toto potrebujeme posilniť knižnice a otvoriť ich ľuďom. Potrebujeme rozšíriť internet pre každého kvôli slobodnému získavaniu informácií z rôznych zdrojov. Mali by sme rozšíriť fond knižníc, aby sa ľudia obohacovali informáciami pre vzájomný prospech. Možno prekonáme zlé časy nielen športovaním, ale aj získavaním informácií a vzdelávaním sa a spoluprácou. Výsledok obohacovania ľudí informáciami bude spoločnosť schopná čeliť kríze na viacerých úrovniach: intelektuálnej, morálnej a sociálnej. Toto vyzerá na utopickú spoločnosť. Ale predstavme si spoločnosť, ktorá bude vzdelaná a fit. Našou učiteľkou v týchto zlých časoch by mohla byť história. Chápem, že nikto nie je dokonalý, ale máme aj svoje slabosti, no i silné stránky. Mnokrát sa všetko okolo nás zdá byť skúškou, ktorá z nás vysáva životnú energiu. Ale uvedomme si, že nemôžeme nasledovať staroveký Rím do zabudnutia…

Posted in Moje komentáre | Zanechať komentár

Čo je Gambas3


Gambas vytvoril Benoit Minisini, programátor žijúci v Paríži. Podľa neho je to podoba Basicu s objektovými rozšíreniami. Samotný názov znamená Gambas almost means Basic – Gambas takmer znamená Baisc. Tento jazyk vznikol na základe Minisiniho skúseností s jazykom Visual Basic. Autor sa snažil odstrániť mnohé chyby a tak vznikol jazyk Gambas. Gambas je licencovaný pod licenciou GNU GPL a stal sa veľmi populárny. Gambas beží na väčšine Linuxových platforiem a aktuálna verzia v dobe písania tohoto článku je verzia 3. Autor tvrdí, že Gambas nie je kompatibilný s jazykom Visual Basic a nikdy ani nešlo o to, aby sa kompatibilným stal. Naopak, tento nový jazyk je oveľa užívateľsky prívetivejší a jednoduchší. Je tu možnosť rýchlo a jednoducho vytvárať programy pomocou grafického rozhrania, často len na pár kliknutí myškou. Gambas bol vytvorený, aby bol čo najviac koherentný, logický a spoľahlivý. Bol vytvorený, aby zachytil, čo možno najviac dobrých vlastností, ktoré môže objektový programovací jazyk ponúknuť. Postupom času sa Gambas začlenil medzi moderné programovacie jazyky používané hlavne v komunite programátorov pre operačný systém Linux.
Architektúra Gambasu
Každý program napísaný v Gambase sa skladá z niekoľkých súborov tvoriacich projekt, ktorý si užívateľ vytvorí. Každý súbor v projekte popisuje jedna trieda tzv class. Súbory s triedami sú kompilované a následne vykonávané interpreterom. Tento spôsob je veľmi podobný spôsobu, akým pracuje jazyk Java. Gambas sa skladá z nasledujúcich programov:
kompilátor
interpreter
balíčkovač
komponent užívateľského rozhrania
vývojové prostredie
Na nasledujúcom obrázku popíšeme, ako pracuje Gambas. Projekt v Gambase obsahuje súbory s triedami, modulmi, formulármi, dátovými súbormi. Gamabs projekt je vždy uložený v jednom priečinku. Počas kompilovania prebieha inkrementálne kompilovanie, ktoré vyžaduje rekompiláciu zmenených, modifikovaných tried. Každá vonkajšia referencia triedy sa rieši dynamicky za behu programu, teda počas runtime behu. Balíčkovač transformuje celú štruktúru priečinka projektu do jedného spustiteľného súboru. Vývojové prostredie Gambasu bolo napísané v samotnom Gambase, aby autor ukázal obrovské možnosti samotného jazyka.

Architektúra Gambas

Architektúra Gambas



Niektoré ďalšie možnosti, ktorými sa Gambas vymyká iným jazykom sú možnosti rozšírenia a celková rozšíriteľnosť jazyka. Prakticky ktokoľvek môže napísať novú knižnicu, ktorá dynamicky pridáva nové vlastnosti. O komponentoch Gambasu si porozprávame neskoršie. Štandardne je interpreter Gambasu konzolový program založený nap príkazovom riadku. Grafické používateľské rozhranie GUI je implementované ako komponent Gambasu. S Gambasom si môžete zvoliť grafické rozhranie Vášho programu ako napríklad GTK+ alebo Qt, prípadne nejaké iné. Ak sa chcete dozvedieť viac o GTK, či Qt, stačí si preštudovať ich manuály.
Úvodná obrazovka Gambas

Úvodná obrazovka Gambas



Ak si chcete stiahnuť PDF tohoto článku, tu je:

Gambas3-1.cast.pdf

Posted in Úvod do Gambas3 | Zanechať komentár