# Handledning

Den här handledningen tjänar som en kortfattad inledning till Kugar.

Antag att du vill skapa en exempelrapportmall med &kudesigner;, en exempeldatafil, och till sist skapa en fullständig rapport.

Källkoden för exempelmallar och datafiler finns i `sample1.kut` och `sample1.kud` som levereras med &kugar;.

## Att skapa rapportmallen med &kudesigner;

Kör Kugar Designer genom att skriva `kudesigner` i en terminal.

Efter du startat designer, välj Arkiv | Ny och ställ in sidstorleken till Letter och sidorienteringen till Liggande. Ställ in vänster och höger marginal till 48, övre och nedre marginal till 40. Alla dimensioner i &kudesigner; (sidmarginaler, storlekar, positioner, etc.) anges i millimeter. Dialogrutan Ny rapport

Den nya rapporten har nu skapats, och alla knappar i verktygsraderna Objektverktygsrad och Sektionsverktygsrad är nu aktiva (motsvarande menyalternativ i menyerna Objekt och Sektioner är också aktiva). Tom rapportdialogruta

Nu är det dags att lägga till några sektioner i rapporten, och avgöra deras storlekar. Vi lägger till sidhuvud och sidfot för rapport, sidhuvud och sidfot och en enda detaljsektion. Sidhuvud och sidfot för rapporten skrivs ut på första och sista sidan av rapporten före och efter all annan rapportdata. En sidfot för rapporten är ett bra ställe att ha beräknade fält. Sidhuvud och sidfot skrivs ut längst upp och längst ner på varje sida. Vår rapport har en detaljsektion med nivå 0. Det betyder att alla datarader har identisk struktur (dvs. fält). Om datastrukturen är mer komplicerad, eller är organiserad i med förhållandet huvud-detalj, bör fler detaljnivåer skapas. Se `sample3.kut` och `sample3.kud`, för ett exempel på hur detta kan göras. Titta i beskrivningen av mallelement för ytterligare information.

Sektioner läggs till genom att använda menyn Sektioner eller Sektionsverktygsraden. Lägg nu till Sidhuvud för rapport, sidhuvud, sidfot och därefter detaljsektionen. När detaljsektionen läggs till, ange nivån till 0, som visas på skärmbilden nedan. Ange detaljnivå

Vår rapport bör nu se ut som den på skärmbilden. Rapport med sektioner

Alla våra sektioner har en förinställd höjd - 50 mm. Låt oss ändra den. För att göra det, högerklicka på sektionen sidhuvud för rapport, eller klicka på knappen Redigera egenskaper och välj sedan en sektion. Egenskapsfönstret ska visas. Redigera höjden på sektionerna

Ändra nu höjden för rapportens sidhuvud till 70. Låt oss utföra samma procedur för alla andra sektioner. Ändra sidhuvudets höjd till 45, och detaljsektionens till 30. Rapportens sidfot ska vara 32 mm hög.

En rapportmall med sektioner som har riktigt storlek är klar att fylla i med rapportobjekt. Rapport med sektioner som har rätt storlek

Nu kan man lägga till objekt till sektionerna i rapporten. Fem olika sorters objekt kan läggas till i rapporten. Etikett är ett rektagulärtrektangulärt område som kan ha kanter, och kan fyllas med vilken textdata som helst. Text- och bakgrundsfärger samt teckensnitt kan ändras för etiketter. Typ av kantlinje och linjefärger kan också anpassas. Fält kan placeras i en detaljsektion. Fält representerar datafält, deras värden hämtas från en datafil när en rapport skapas. Antal, summor, medelvärden, etc. för fältvärden kan skrivas ut i rapporten med hjälp av beräknade fält. Specialfält är etiketter med fördefinerad text, som dagens datum eller sidnummer. Allmänt rapportutseende kan förfinas med Linjer.

För att lägga till ett rapportobjekt, klicka på motsvarande objektknapp på Objektverktygsraden och placera (klicka) det på sektionen. Det valda objektet kommer att placeras på den markerade sektionen med övre vänstra hörnet på de angivna koordinaterna. Andra egenskaper sätts till normalvärden, och kan ändras i dialogrutan Rapportobjektalternativ (på samma sätt som vi ändrade höjd för sektionerna).

Låt oss alltså lägga till etiketter till rapportens sidhuvud, och sidhuvudet som visas på skärmbilden nedan. Observera att etiketten Mutiny Bay Software har sin kantstil och kantbredd angiven till 0 mm, och Inventarierapport för programvara till 1 mm. Alla färger anges som en kombination av tre värden (RGB, röd, grön, blå) avgränsade med kommatecken.

Lägg också till fältobjekt i detaljsektionen. Antag att vi bara har fyra fält: titel, version, plattform och antal kopior. Alltså ska fyra Fält-objekt placeras, och deras egenskap Fält anges. Observera att egenskapen Text är automatiskt satt till [`fält_namn`].

Vår sidfot är ett bra ställe att visa dagens datum och sidnummer, så lägg till två specialfält och ange deras egenskap Typ till 0 och 1. Ett specialfält med typ = 0 representerar datum, och ett men typ = 1 sidnummer. Observera att specialfältens egenskap Text ändras automatiskt.

Det sista objektet som ska placeras är ett Beräknat fält för antal kopior. För att hämta en summa(antal kopior), ändra det beräknade fältets egenskap Fält till antal kopior, och Beräkningstyp till 1 (summeringsfunktion).

Till sist bör vår rapportmall se ut så här. Fullständig rapport

## Skapa rapportdatafilen

I allmänhet kan datafiler skapas på flera sätt. Någon kanske använder xsl-transformeringstabeller för att skapa en riktig xml från ett annat xml-dokument (som ett Kspread kalkylblad), någon annan använder ett eget program för att hämta data i en databas och fylla i datafilen. I den här handledningen skapar vi den helt enkelt för hand. Källkoden för exemplet finns i filen `sample1.kud`, eller kan kopieras från exemplet nedan.

    <?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>

## Skapa rapporten

Vi detta tillfälle har vi en rapportmall (`sample1.kut`) och rapportdata (`sample1.kud`).

För att skapa rapporten, skriv följande kommandon i en terminal: `kugar `-r sample1.kut` `-d sample1.kud``

Då visas ett Kugar-skalfönster med den skapade rapporten. Skapad rapport