<!-- If you want to validate or edit this document separately, uncomment
this prolog
<?xml version="1.0" ?>
<!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.1-Based Variant V1.0//EN" "dtd/kdex.dtd">
-->
<chapter id="prog-guide">
<chapterinfo>
<authorgroup>
<author
><firstname
>Alexander</firstname
> <surname
>Dymo</surname
> <affiliation
> <address
><email
>cloudtemple@mksat.net</email
></address>
</affiliation>
</author>
<author
><firstname
>Phil</firstname
> <surname
>Thompson</surname
> <affiliation
> <address
><email
>phil@river-bank.demon.co.uk</email
></address>
</affiliation>
</author>
<othercredit role="translator"
><firstname
>Hans-Frieder</firstname
><surname
>Hirsch</surname
><affiliation
><address
><email
>f.hirsch@t-online.de</email
></address
></affiliation
><contrib
>Deutsche Übersetzung</contrib
></othercredit
>
</authorgroup>
</chapterinfo>
<title
>Das Handbuch für Programmierer</title>
<sect1 id="how-to-use-in-progs">
<title
>Wie Sie &kugar; dazu verwenden können in eigenen Programmen Berichte zu erstellen</title>
<itemizedlist>
<title
>Es gibt verschiedene Möglichkeiten &kugar; zu verwenden</title>
<listitem>
<para
>Erstellen Sie eine temporäre Datei und speichern Sie dort Daten, die mit der <link linkend="kugardata-dtd"
>KugarData Document Type Definition</link
> übereinstimmen. Dann geben Sie den<command
>Kugar</command
> Shell Befehl ( <cmdsynopsis
> <command
>kugar</command
> <group
> <option
>-d <replaceable
>Kugar Daten Datei</replaceable
></option
> </group
> <group
> <option
>-r <replaceable
>Kugar Vorlagen Datei </replaceable
></option
> </group
> </cmdsynopsis
> ). Damit können Sie sich den Bericht anzeigen lassen und ausdrucken. Ausführliche Informationen dazu finden Sie im Abschnitt<link linkend="prog-using-for-preview"
>Die &kugar; Shell für Berichtsvorschau</link
> . </para>
</listitem>
<listitem>
<para
>Verwenden Sie &kugar; direkt im Code der Anwendung. Genauere Informationen dazu finden Sie unter <link linkend="prog-using-widget"
>Erstellen Sie ein &TQt;-Designer-Plugin. Verwenden Sie es, um die Anwendungsoberfläche (&GUI;) im Designer zu erstellen und verknüpfen Sie es dynamisch mit dem Programm. Einzelheiten dazu finden Sie im Abschnitt <link linkend="prog-designer-plugin"
>Die beiden letzten Wege sind für &TQt; und &tde; Entwickler annehmbar. Aber &kugar; wurde als Bericht-Generator entworfen, der unabhängig von einer Programmiersprache und/oder <acronym
> funktioniert. Er verwendet das &XML;-Format zur Beschreibung von Berichtvorlagen- und Daten-Dateien. Deshalb kann jedes Programm eine Ausgabe im &kugar; Daten-Dateiformat, wie es in <link linkend="kugardata-dtd"
>KugarData <acronym
>DTD</acronym
></link
> beschrieben ist, oder auch im Berichtvorlagen -Dateiformat erzeugen (vergleichen Sie dazu <link linkend="template-dtd"
>KugarTemplate <acronym
>DTD</acronym
></link
>). Eine &kugar; Shell (Bericht Vorschaufenster) kann dazu verwendet werden, einen erzeugten Bericht in einer Vorschau anzuzeigen und zu drucken. </para>
</sect1>
<sect1 id="prog-using-for-preview">
<title
>Die &kugar; Shell zur Vorschau von Berichten verwenden</title>
<orderedlist>
<title
>Sie können Berichte und eine Berichtvorschau (Druck) erstellen, indem Sie:</title>
<listitem>
<para
>Eine Bericht-Vorlage mit &kudesigner; erstellen </para>
</listitem>
<listitem>
<para
>Erstellen Sie eine Daten-Datei mit Spaltenwerten für Detail-Gruppen des Berichtes. Verwenden sie dazu<link linkend= "kugardata-dtd"
>KugarData <acronym
>DTD</acronym
></link
> um korrekte Daten-Dateien zu erzeugen. </para>
</listitem>
<listitem>
<para
>Starten Sie die &kugar; Shell für Bericht-Vorschau und -Druck. Um das zu tun (zum Beispiel in C oder C++ Sprachen), führen Sie aus:</para>
<programlisting
><function
>System(<option
>"kugar -r <replaceable
>Vorlage_Datei.ktf</replaceable
>-d <replaceable
>Daten_Datei.kdf</replaceable
>"</option
>)</function
>.
</programlisting>
<para
>Vergessen Sie dabei nicht<filename class="headerfile"
>stdlib.h</filename
> einzuschließen ("include stdlib.h"). </para>
</listitem>
</orderedlist>
</sect1>
<sect1 id="prog-using-widget">
<title
>&kugar; Klassen für Berichte verwenden</title>
<para
>Die &kugar;-Bibliothek enthält zwei Bedienelemente, die Sie verwenden können. </para>
<para
>Die Klasse <classname
>KReportViewer</classname
> ist für &kde;-Entwickler gedacht. Sie unterstützt das &kde;-Drucksystem und die lokale &UNIX;-Sprachanpassung durch <function
> ist für &TQt;-Entwickler entworfen und erlaubt echte Plattform-übergreifende Lösungen. Sie kann nicht nur auf &UNIX;-, sondern auch auf &Windows;- und &Mac;-Plattformen verwendet werden. </para>
>Ein detailliertes Beispiel dafür, wie &kugar; Klassen verwendet werden können, finden Sie im <filename class="directory"
>/shell</filename
> Verzeichnis in den &kugar; Quelltexten. </para>
<para
>Die Klassen <classname
>MReportViewer</classname
> (und auch <classname
>KReportViewer</classname
>) enthalten verschiedene "Public" Methoden, die Sieverwenden können. </para>
<funcsynopsis>
<funcprototype>
<funcdef
>void <function
>renderReport</function
></funcdef>
<void/>
</funcprototype>
<funcsynopsisinfo
>Zeigt den Bericht auf einem Bildschirm an.</funcsynopsisinfo>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef
>void <function
>printReport</function
></funcdef>
<void/>
</funcprototype>
<funcsynopsisinfo
>Ruft den Druck-Dialog auf, um den Bericht zu drucken.</funcsynopsisinfo>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef
>void <function
>clearReport</function
></funcdef>
<void/>
</funcprototype>
<funcsynopsisinfo
>Löscht den Bericht vom Bildschirm und entbindet die Berichtdaten. Führen Sie diesen Befehl aus, bevor Sie einen neuen Bericht öffnen.</funcsynopsisinfo>
> sein. Ein Beispiel: um eine Berichtvorlage aus einem Speicher im Netzwerk oder einer Datenbank zu erhalten, erstellen Sie einen TQIODevice-Nachfolger und definieren die Funktionalität neu. </funcsynopsisinfo>