# Algõpe

Käesolev algõppekursus püüab lühidalt ja kokkuvõtlikult tutvustada Kugari põhiomadusi.

Me näitame, kuidas luua raportimall &kudesigner;iga, andmefail ning lõpuks genereerime terve raporti.

Näidismallide ja -andmefailide lähtekoodi võib uurida &kugar;ile kaasa pandud failides `sample1.kut` ja `sample1.kud`.

## Raportimalli loomine &kudesigner;i abil

Käivita Kugar Disainer, andes käsu `kudesigner`.

Pärast käivitamist vali käsk Fail|Uus ning määra paberi suuruseks Letter ja suunaks Rõhtpaigutus. Vasakule ja paremale äärele anna väärtuseks 48, ülemisele ja alumisele 40. Kõik mõõtmed &kudesigner;is (lehekülje ääred, asukohad jne.) on millimeetrites. Dialoog Uus raport

Nüüd luuakse uus raport ning kõik elemendiriba ja sektsiooniriba nupud muutuvad aktiivseks (samuti analoogsed menüüelemendid menüüdes Elemendid ja Sektsioonid). Tühja raporti dialoog

Nüüd on aeg lisada raportile mõned sektsioonid ja määrata kindlaks nende suurus. Me lisame raporti päise ja jaluse, lehekülje päise ja jaluse ning ühe detailisektsiooni. Raporti päised ja jalused on näha raporti esimesel ja viimasel leheküljel vastavalt enne ja pärast kõiki raporti andmeid. Raporti jalused on näiteks hea koht arvutuslike väljade jaks. Lehekülje päised ja jalused on iga lehekülje üla- ja alaosas. Meie raportis on üks detailisektsioon tasemel 0. See tähendab, et kõigil andmeridadel on ühesugune struktuur (s.t. väljad). Kui andmestruktuur on keerukam või organiseeritud allutaval põhimõttel, tuleks luua rohkem detailitasandeid. Vaata failidest `sample3.kut` ja `sample3.kud`, kuidas seda teha. Lisainfot leiab mallielemente kirjeldavast osast.

Sektsioone saab lisada menüüst Sektsioonid või sektsiooniriba nuppudega. Lisame nüüd raporti päise ja jaluse, lehekülje päise ja jaluse ning detaili. Detaili lisades seame selle tasemeks 0, nagu näidatud alltoodud pildil. Detaili taseme määramine

Meie raport peaks nüüd välja nägema selline. Sektsioonidega raport

Kõigil sektsioonidel on eelnevalt määratud kõrgus 50 mm. Muudame seda. Selleks klõpsa &HPN;ga raporti päise sektsioonil või klõpsa redigeerimisribal nupul Muuda omadusi ning vali siis sektsioon. Nüüd ilmub omaduste aken. Sektsiooni kõrguse muutmine

Määrame raporti päise kõrguseks 70. Teeme seda ka kõigi ülejäänud nelja sektsiooniga, määrates lehekülje päise kõrguseks 45 ning detaili kõrguseks 30. Lehekülje ja raporti jalused peaksid mõlemad olema 32 mm kõrgused.

Nüüd on meil sobilikus suuruses sektsioonidega raportimall, mis ainult ootab, et teda täitma hakataks. Erineva suurusega sektsioonidega raport

Raportile saab nüüd lisada elemente. Neid on olemas viis erinevat tüüpi. Pealdis on ristkülikuline piirkond, mille piiride vahele võib sisestada suvalisi tekstiandmeid. Pealdise teksti ja tausta värvi, samuti fonte on võimalik muuta, samuti piirde tüüpi ja värvi. Välja võib lisada detailisektsiooni. Väljad tähistavad andmevälju, nende andmed hangitakse raporti loomisel andmefailist. Summasid, keskmisi ja muid selliseid väärtusi saab raportis esitada arvutatud väljal. Eriomadustega väljad kujutavad endast eelnevalt määratud tekstiga pealdisi, kus tekstiks on näiteks käesolev kuupäev või leheküljenumber vms. Raporti üldist välimust saab viimistleda joontega.

Elemendi lisamiseks raportile klõpsa vastavalt elemendil elemendiribal ja uue klõpsuga aseta see vajalikku sektsiooni. Valitud element asetatakse sektsiooni nii, et tema ülemine vasak nurk asuks määratud asukohas. Muud omadused vastavad vaikeväärtustele ning neid saab muuta dialoogis Raportielemendi valikud (see sarnaneb sektsiooni kõrguse muutmisega).

Lisame nüüd raporti ja lehekülje päisele pealdised, nagu näidatud allpool oleval pildil. Pane tähele, et pealdise Mutiny Bay Software piirde stiil ja piirde laius on väärtusega 0 ning pealdisel Software Inventory Report on need -1. Kõik värvid on antud kolme värvi (RGB ehk punane, roheline ja sinine) kombinatsioonina, väärtuste eraldajaks komad.

Lisame ka väljaelemendi detailisektsiooni. Oletame, et meil läheb vaja nelja välja (tiitel, versioon, platvorm ja eksemplaride arv). Seega tuleb asetada paika neli välja ning kõigi väljade omadused paika määrata. Pane tähele, et omadus Tekst on automaatselt `[`field_name`]`

Lehekülje jalus on just sobilik koht käesoleva kuupäeva ja leheküljenumbri esitamiseks, seega lisame siia kaks eriomadustega välja ning määrame nende omaduse Tüüp väärtuseks vastavalt 0 ja 1, kus 0 tähistab kuupäeva ja 1 leheküljenumbrit. Pane tähele, et eriomadustega välja omadus Tekst muutub seepeale automaatselt.

Viimasena lisame arvutusliku välja meie eksemplaride väljale. Et seal ikka arvutataks välja summa (ehk siis eksemplaride arv), määra omaduseks Väli eksemplarid ning omaduseks Arvutuse tüüp 1 ehk summa.

Lõpuks peaks meie raportimall välja nägema selline. Valmis raport

## Raporti andmefaili loomine

Üldiselt saab andmefaile luua mitmel moel. Võib näiteks kasutada XSL teisendustabelit mingist XML dokumendist (näiteks KSpreadi arvutustabel) sobiva XML-i genereerimiseks. Võib kasutada ka mingit oma rakendust andmete hankimiseks andmebaasist ja nende andmefaili seadmiseks. Siinses algõppekursuses lahendame asjad vajalikku faili käsitsi luues. Meie näidise lähtekoodi leiab failis `sample1.kud`, selle võib ka lihtsalt kopeerida allpool toodud näitest.

    <?xml version=1.0 encoding=UTF-8?>

    <!DOCTYPE KugarData [
        <!ELEMENT KugarData (Row* )>
        <!ATTLIST KugarData
            Template CDATA #REQUIRED>

        <!ELEMENT Row EMPTY>
        <!ATTLIST Row
            level CDATA #REQUIRED
            title CDATA #REQUIRED
            version CDATA #REQUIRED
            platform CDATA #REQUIRED
            copies CDATA #REQUIRED>
    ]>

    <KugarData Template="sample1.kut">
        <Row level="0" title="  BRU" version="15.0" platform="x86" copies="1"/>
        <Row level="0" title="  Caldera Open Linux" version="2.2" platform="x86" copies="3"/>
        <Row level="0" title="  K Desktop" version="1.1.1" platform="x86" copies="1"/>
        <Row level="0" title="  Netscape Communicator" version="4.6" platform="x86" copies="10"/>
        <Row level="0" title="  Redhat Linux" version="5.0" platform="x86" copies="11"/>
        <Row level="0" title="  Redhat Linux" version="5.1" platform="x86" copies="12"/>
        <Row level="0" title="  Redhat Linux" version="5.2" platform="x86" copies="14"/>
        <Row level="0" title="  Redhat Linux" version="6.0" platform="x86" copies="15"/>
        <Row level="0" title="  Star Office" version="5.0" platform="x86" copies="1"/>
        <Row level="0" title="  Star Office" version="5.1" platform="x86" copies="3"/>
        <Row level="0" title="  Microsoft Windows NT" version="3.1" platform="x86" copies="1"/>
        <Row level="0" title="  Microsoft Windows NT" version="3.51" platform="x86" copies="1"/>
        <Row level="0" title="  Microsoft Windows NT" version="4.0" platform="x86" copies="1"/>
        <Row level="0" title="  Microsoft Windows NT" version="5.0" platform="x86" copies="1"/>
        <Row level="0" title="  Sun Solaris" version="2.5" platform="Sparc" copies="1"/>
    </KugarData>

## Raporti genereerimine

Nüüd on meil olemas raportimall (`sample1.kut`ja raporti andmed (`sample1.kud`).

Raporti genereerimiseks anna käsureal korraldus: `kugar `-r sample1.kut` `-d sample1.kud``

See peaks nüüd avama Kugari põhiakna, kus loodud raport on ilusasti näha. Genereeritud raport