# Didacticiel

Ce didacticiel tente d'être une brève introduction à Kugar.

Vous créerez un modèle de rapport exemple avec &kudesigner;, un fichier de données exemple et finalement, produirez un rapport complet.

Le code source pour les modèles exemples et les fichiers de données peut se trouver dans `sample1.kut` et `sample1.kud` qui sont distribués avec &kugar;.

## Création d'un modèle de rapport avec &kudesigner;

Lancez Kugar Designer en saisissant `kudesigner` en ligne de commande.

Après avoir démarré de concepteur, choisissez Fichier|Nouveau et déterminez la taille de la page à Letter et l'orientation du papier sur Paysage. Déterminez les marges gauche et droite à 48 et les marges haute et basse à 40. Toutes les dimensions dans &kudesigner; (marges, positions, tailles, &etc;) sont données en millimètres. Dialogue Nouveau rapport

Le nouveau rapport est maintenant créé et tous les boutons sur la Barre d'éléments et la Barre de sections deviennent activés (les éléments de menu correspondants de Items et Sections sont aussi activés). Dialogue de rapport vide

Maintenant, c'est le moment d'ajouter des sections au rapport et de déterminer leurs tailles. Nous ajouterons des en-têtes et pieds de rapport, en-têtes et pieds de page et une simple section détail. Les en-têtes et pieds de rapports sont affichés sur les première et dernière pages du rapport et après toute autre donnée du rapport. Les pieds de rapport sont de bons endroits pour les champs calculés. Les en-têtes et pieds de pages sont affichés en haut et en bas de chaque page. Notre rapport aura une section de détail avec le niveau 0. Ceci signifie que toutes nos lignes de données ont une structure identique (c'est-à-dire les champs). Si la structure des données est plus complexe ou si elle est organisée selon une relation maître-détail, il faut créer plus de niveaux de détail. Voyez `sample3.kut` et `sample3.kud` pour un exemple de la manière dont cela peut être fait. Reportez-vous à la description des éléments de modèle pour d'autres informations.

Les sections sont ajoutées en utilisant le menu Sections ou une Barre d'outils de sections. Maintenant, ajoutons un en-tête et un pied de page, puis le détail. Lors de l'ajout de la section de détails, mettons son niveau à 0 comme montré sur l'écran ci-dessous. Déterminer le niveau de détail

Notre rapport devrait maintenant ressembler à celui de la capture d'écran. Rapport avec des sections

Toutes nos sections ont une hauteur prédéfinie - 50 mm. Changeons-la. Pour ce faire, cliquons du &BDS; sur la section En-tête du rapport ou cliquons sur le bouton Modifier les propriétés sur la Barre d'outils d'édition. La fenêtre de propriétés doit être affichée. Hauteur de la section éditable

Maintenant, donnons à l'en-tête du rapport la hauteur de 70. Effectuons cette procédure pour toutes les autres sections. Fixons la hauteur de l'en-têtede page à 45 et les détails à 30. Les pieds de page et de rapport doivent être à 32 mm.

Un modèle de rapport avec des tailles de section proprement établies est prêt à être rempli d'éléments de rapport. Rapport avec des sections à taille définie

Vous pouvez maintenant ajouter des éléments aux sections sur le rapport. Cinq différents types d'éléments peuvent être ajoutés sur le rapport. Libellé est une zone rectangulaire qui a des bordures et peut être remplie de n'importe quelle sorte de données textuelles. Le texte et les couleurs de fond et les polices peuvent être changés pour la bordure du libellé et les couleurs des lignes sont aussi personnalisables. Champ peut être placé sur une section de détails. Les champs représentent les champs de données, leurs valeurs seront collectées d'un fichier de données lors de la génération du rapport. Les comptes, les sommes, moyennes, etc. pour les valeurs des champs peuvent être imprimés sur le rapport au moyen de Champs calculés. Specials sont des libellés avec du texte prédéfini, comme la date courante ou le numéro de page. L'aspect général du rapport peut être raffiné avec Ligne.

Pour ajouter un élément au rapport, cliquez sur le bouton de l'élément correspondant sur la barre d'outils d'éléments et placez-le (clic) sur la section. L'élément choisi sera placé sur la section sélectionnée avec le coin supérieur gauche aux coordonnées données. Les autres propriétés sont mises aux valeurs par défaut et peuvent être changées avec le dialogue Options d'éléments de rapports (de la même manière que nous avons utilisée pour changer la hauteur des sections).

Ainsi, ajoutons des libellés à l'en-tête de rapport et à l'en-tête de page comme montré sur la capture d'écran ci-dessous. Notez que le libellé Mutin Bay Software a son BorderStyle et BorderWidth positionnés à 0 et Software Inventory Report - 1 mm. Toutes les couleurs sont déterminées comme une combinaison de trois valeurs (RGB - rouge, vert, bleu), séparées par des virgules.

Ajoutez aussi des éléments de champ à la section détails. Supposons simplement que nous avons quatre champs - titre, version, plate-forme et copies. Ainsi, quatre éléments Champ doivent être placés et leur propriétés de Champ déterminées. Notez que la propriété de Text est positionnée automatiquement sur [`field_name`]

Le pied de page est une bonne place pour montrer les date et numéros de page courants, vous devez donc ajouter deux champs spéciaux et déterminer leurs propriétés de Type à 0 et 1. Un Spécial avec Type=0 représentera la date et un avec Type=1 le numéro de page. Notez que la propriété du Text d'un élément spécial est changée automatiquement.

Le dernier élément à placer est Champ calculé pour le champ copies. Pour acquérir un sum(copies), positionnez la propriété Field du champ calculé sur copies et CalculationType sur 1 (fonction sum).

Enfin, notre modèle de rapport devrait ressembler à ça. Rapport complet

## Création d'un fichier de données de rapport

D'une manière générale, les fichiers de données peuvent être créés de plusieurs manières. L'une peut utiliser des tables de transformation xsl pour générer un xml à partir d'un autre document xml (comme un tableur KSpread), une autre utilisera son propre programme pour chercher des données dans une base de données et remplira les champs de données. Dans ce didacticiel, nous le créerons simplement à la main. Le code source pour l'exemple se trouve dans le fichier `sample1.kud` ou copié dans l'exemple ci-dessous.

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

## Génération du rapport

À ce moment, nous avons un modèle de rapport (`sample1.kut`) et un rapport de données (`sample1.kud`).

Pour générer un rapport, saisissez la commande suivante dans un shell : `kugar `-r sample1.kut` `-d sample1.kud``

Ceci ouvrira une fenêtre Kugar avec le rapport généré. Rapport généré