S Palm Piloty na internet snadno a rychle (3)

Dnes si nastavíme emulátor POSE tak, abychom na něm mohli vyzkoušet naši první aplikaci, která se jedním stiskem tlačítka k internetu připojí a druhým odpojí.

3. Nastavení emulátoru POSE

Špatně napsaná aplikace může způsobit restart počítače Palm Pilot i ztrátu cenných dat. Proto je třeba před nahráním každé aplikace do počítače Palm Pilot tuto vyzkoušet v emulátoru POSE. Pro všechny aplikace, které využívají síťové funkce PalmOS, to platí dvojnásob.

Před prvním vyzkoušením našeho programu musíme emulátor nastavit tak, aby bylo možné testovat síťové aplikace. Pro toto nastavení je třeba otevřít dialog Properties a zaškrtnout políčko Redirect NetLib calls to host TCPIP, podobně jako na následujícím obrázku.

Zaškrtneme-li toto políčko, jsou všechna volání funkcí knihovny Net.lib přesměrována na volání odpovídajících funkcí operačního systému Microsoft Windows. Emulátor se v takovém případě chová jako počítač Palm Pilot, který je připojen k internetu. Na takto nastaveném emulátoru můžeme zkoušet naše síťové aplikace bez obav ze ztráty dat.

4. První aplikace

V předchozím dílu jsme si popsali základní obalující funkce SitPripojit(), SitOdpojit() a SitPripojena(), které vyzkoušíme v našem prvním programu. Na začátku programu deklarujeme dvě globální proměnné, ve kterých bude uložena informace o inicializované knihovně Net.lib.

Boolean gKnihovnaNahrana;
UInt16 gNetLibReference;

Pokud se podařilo knihovnu Net.lib inicializovat, má proměnná gKnihovnaNahrána hodnotu true a v proměnné gNetLibReference je uloženo referenční číslo knihovny Net.lib. Obalující funkce, která nastaví obě proměnné, je v následujícím rámečku.

static Boolean SitInicializovat()
{
    Err err;

    if((err = SysLibFind( "Net.lib", &gNetLibReference)) != 0 )
    {
        gKnihovnaNahrana = false;
    }
    else
    {
        gKnihovnaNahrana = true;
    }
    
    return gKnihovnaNahrana;
}

Funkci SitInicializovat() budeme volat ve funkci ZacatekAplikace(). Pokud se knihovnu inicializovat nepodařilo, můžeme se rozhodnout zobrazit na začátku programu chybovou hlášku a skončit. Také máme možnost jen omezit síťové funkce naší aplikace.

Po spuštění naší aplikace zobrazíme na displeji formulář s jediným tlačítkem. Po stisknutí tohoto tlačítka se naše aplikace pokusí připojit k síti internet voláním funkce SitPripojit(). Při opakovaném stisknutí bude volána funkce SitOdpojit(). Zpracování stisknutí tlačítka ve funkci formuláře bude následující:

        case ctlSelectEvent:

            if(udalost->data.ctlSelect.controlID == PrepinacAkce)
            {
                if(SitPripojena())
                {
                    SitOdpojit();
                }
                else
                {
                    SitPripojit();
                }

                ...
                zpracovano = true;
            }
            break;

Po spuštění aplikace bude tlačítko neaktivní. Po jeho stisknutí zahájí PalmOS proces připojení k internetu. Na displeji se objeví známý formulář, který nás informuje o postupu připojení k síti (viz obrázek)

Pro připojení k internetu je použito standardní nastavení z aplikace Preferences. Pokud se spojení podaří, zobrazí se na displeji zpráva, tak jako na obrázku dole; v opačném případě uvidíme informaci o chybě. Dalším stisknutím tlačítka se od internetu odpojíme.

Spustíme-li aplikaci v emulátoru POSE, tak se po stisknutí tlačítka zobrazí informace o tom, že jsme se připojili úspěšně. Jinak se ale nestane nic; máte-li stolní počítač připojující se na internet telefonem, nezačne ani vytáčet telefonní číslo. Pro vyzkoušení toho, že po jednom stisku tlačítka PalmOS vytočí příslušné číslo a připojí se k internetu a po druhém stisknutí zavěsí, musíme program otestovat přímo na počítači Palm Pilot.

Vyřešili jsme první úkol - připojili jsme se s počítačem Palm Pilot k internetu. Všimněte si, jak je to snadné. Celé síťové rozhraní PalmOS je koncipováno tak jednoduše, aby ani začínající uživatelé neměli problémy jej používat.

Zdrojový text aplikace si můžete stáhnout zde.


V příštím dílu si popíšeme adresy v síti internet a naučíme se vyhledávat počítače na internetu.