# Snelcursus

Deze snelcursus is een korte inleiding in het gebruik van Kugar.

U leert hoe u een rapportsjabloon maakt met &kudesigner;, een gegevensbestand maakt en een compleet rapport genereert.

De broncode voor sjablonen en gegevensbestanden kunt u vinden in de bestanden `sample1.ktf` en `sample1.kdf` die met &kugar; meegeleverd worden.

## De rapportsjabloon creëren met &kudesigner;

Start Kugar Designer door het commando `kudesigner` in een terminal te typen.

Als de designer gestart is, kiest u Bestand|Nieuw. Stel de paginagrootte in op Letter en de oriëntatie op Landschap. Stel de linker- en rechtermarge in op 48, de boven- en ondermarge op 40. Alle afmetingen in &kudesigner; (paginamarges, grootten, posities, &etc;) worden opgegeven in millimeters. Het dialoogvenster Nieuw Rapport

Er is nu een nieuw rapport gecreëerd. Alle knoppen op de Werkbalk Items en Werkbalk SectiesToolbar zijn beschikbaar (de overeenkomstige items in de menu's Items en Secties zijn eveneens beschikbaar). Venster met leeg rapport

Nu wordt het tijd om enkele secties aan het rapport toe te voegen en hun afmetingen in te stellen. We gaan een rapportkoptekst en -voettekst, een paginakoptekst en -voettekst en één detail toevoegen. Rapportkopteksten en -voetteksten worden op de eerste en op de laatste pagina van het rapport afgedrukt, voor en na alle andere rapportgegevens. Rapportvoetteksten zijn geschikte plaatsen om berekende velden in te voegen. Paginakopteksten en -voetteksten worden bovenaan en onderaan elke pagina afgedrukt. Ons rapport krijgt één detailsectie met niveau 0. Dit betekent dat al onze gegevensrijen een identieke structuur (&ie; velden) hebben. Als de structuur van de gegevens complexer is of als deze volgens een hiërarchie ingedeeld is, moeten er meer niveaus gecreëerd worden. In `sample3.ktf` en `sample3.kdf` kunt u hier een voorbeeld van vinden. U kunt aanvullende informatie vinden in Beschrijving van sjabloonelementen.

Secties kunnen worden toegevoegd via het menu Secties of door de Werkbalk Secties te gebruiken. Voeg nu een rapportkoptekst en -voettekst, een paginakoptekst en -voettekst en een detail toe. Stel het niveau van het detail in op 0, zoals op de schermafdruk hieronder te zien is. Het detailniveau instellen

Het rapport moet er nu uitzien zoals in de schermafdruk. Rapport met secties

Alle secties hebben een voorgedefinieerde hoogte van 50mm. We gaan dit wijzigen. Klik met de &RMB; op de sectie "Rapportkoptekst" of klik op de knop Eigenschappen bewerken op de Werkbalk Bewerken en kies een sectie. Het venster "Eigenschappen" wordt nu geopend. De hoogte van de sectie wijzigen

Stel de hoogte van de rapportkoptekst in op 70. We zullen alle andere secties ook meteen wijzigen. Stel de hoogte van de paginakoptekst in op 45, de hoogte van het detail op 30, de hoogte van de pagina- en rapportvoetteksten op 32 mm.

De rapportsjabloon heeft nu secties waarvan de afmetingen aangepast zijn. Nu kunnen de rapportitems toegevoegd worden. Rapport met secties waarvan de afmetingen aangepast zijn

U kunt nu items aan de secties in het rapport toevoegen. Er kunnen vijf verschillende typen items aan het rapport toegevoegd worden. Label is een rechthoekig gebied dat randen kan hebben en waar elke soort tekst in geplaatst kan worden. De voorgrond- en achtergrondkleur, evenals het lettertype in het label kan gewijzigd worden. De lijnstijl en de kleur van de rand kunnen ook aangepast worden. Een Veld kan in een detailsectie geplaatst worden. Velden representeren gegevensvelden; de waarden worden uit een gegevensbestand gehaald tijdens het genereren van het rapport. Aantallen, totalen, gemiddelden, &etc; kunnen in het rapport afgedrukt worden met behulp van Berekende velden. Speciale velden zijn labels met een voorgedefinieerde tekst, zoals de huidige datum of een paginanummer. Het uiterlijk van het rapport kan nog verder aangepast worden door het gebruik van Lijnen.

Om een rapportitem toe te voegen klikt u op de overeenkomstige knop op de Werkbalk Items en klikt u op de gewenste plaats in de sectie. Het gekozen item wordt in de geselecteerde sectie geplaatst met de linkerbovenhoek op de opgegeven coördinaten. Andere eigenschappen zijn ingesteld op de standaardwaarden en kunnen in het dialoogvenster Rapport-item-opties gewijzigd worden (op dezelfde manier waarop we de hoogte van de secties gewijzigd hebben).

We gaan nu labels aan de rapport- en paginakoptekst toevoegen zoals op de schermafdruk hieronder. Het label Mutiny Bay Software heeft een Randstijl en Randdikte die ingesteld zijn op 0, voor het label Software Inventaris Rapport zijn deze ingesteld op 1mm. Alle kleuren worden ingesteld als een combinatie van drie waarden (RGB - red,green,blue), gescheiden door komma's.

We gaan nu veldelementen aan de detailsectie toevoegen. We nemen aan dat we vier velden hebben - titel, versie, platform en aantal. We voegen dus vier Veldelementen toe en stellen hun eigenschappen in. De eigenschap Tekst wordt automatisch ingesteld op [`field_name`].

De paginavoettekst is een geschikte plaats voor de huidige datum en het paginanummer. We voegen twee speciale velden toe en stellen de eigenschappen van het Type in op 0 en 1. Een speciaal veld met Type=0 representeert de datum, met Type=1 het paginanummer. De eigenschap Tekst van een speciaal veld wordt automatisch gewijzigd.

Het laatste element dat we toevoegen is een Berekend veld voor het veld aantal. Om het aantal te berekenen stelt u de eigenschap Veld in op aantal en het Berekenigstype op 1 (somfunctie).

Uiteindelijk moet de rapportsjabloon er zo uitzien: Het complete rapport

## Het gegevensbestand voor het rapport creëren

In het algemeen kunnen gegevensbestanden op verscheidene manieren gecreëerd worden. U kunt xsl-transformatietabellen gebruiken om correcte &XML; van een ander &XML;-document te genereren (zoals een &kspread;-spreadsheet); een andere mogelijkheid is om een eigen programma te gebruiken dat de gegevens uit een database haalt en in het gegevensbestand zet. In deze snelcursus creëren we het gegevensbestand handmatig. U kunt de broncode voor het voorbeeld in het bestand `sample1.kdf` vinden of van het onderstaande voorbeeld kopiëren.

    <?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.ktf">
        <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>

## Het rapport genereren

We hebben nu een rapportsjabloon (`sample1.ktf`) en een rapportgegevensbestand (`sample1.kdf`).

Om een rapport te genereren typt u het volgende commando in de shell: `kugar `-r `sample1.ktf`` `-d `sample1.kdf```

Het venster van de &kugar;-shell wordt geopend met het gegenereerde rapport. Gegenereerd rapport