Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 1e1ea92856c73c08bff1e7cbb69d985e > files > 98

labplot-doc-de-1.6.0.2-5mdv2009.1.i586.rpm

<html><head><title>Chapter 8. Skripting</title><link rel="stylesheet" href="common/kde-default.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.67.2"><meta name="keywords" content="KDE, LabPlot, Plot"><link rel="start" href="index.html" title="Das LabPlot Handbuch"><link rel="up" href="index.html" title="Das LabPlot Handbuch"><link rel="prev" href="parser-const-gsl.html" title="GSL Konstanten"><link rel="next" href="examples.html" title="Chapter 9. Beispiele"><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.13 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div style="background-image: url(common/top-middle.png); width: 100%; height: 131px;"><div style="position: absolute;                      right: 0px;"><img src="common/top-right-konqueror.png" style="margin: 0px" alt=""></div><div style="position: absolute;                         top: 25px;                          right: 100px;                          text-align: right;                          font-size: xx-large;                          font-weight: bold;                          text-shadow: #fff 0px 0px 5px;                          color: #444">Skripting</div></div><div style="margin-top: 20px; background-color: #white;                        color: black;                       margin-left: 20px;                        margin-right: 20px;"><div style="position: absolute;                          left: 20px;"><a accesskey="p" href="parser-const-gsl.html">Prev</a></div><div style="position: absolute;                          right: 20px;"><a accesskey="n" href="examples.html">Next</a></div><div class="navCenter"> </div></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="scripting"></a>Chapter 8. Skripting</h2></div></div></div><p>Dieses Kapitel erklärt das Skripting Interface von LabPlot, welches die Automatisierung der Arbeit sehr erleichtern kann. Mit Hilfe der Skriptsprache kann man seine Arbeit sehr vereinfachen und seine Produktivität erhöhen. Außerdem lässt sich LabPlot mit dem Skript Interface komplett fernsteuern.</p><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="qsa"></a>QSA</h2></div></div></div><p>LabPlot verwendet <span class="trademark">Qt</span>&#8482; Script for Applications (QSA) von Trolltech, Inc. Es wird unter zwei Lizenzen veröffentlicht- eine kommerzielle and eine GPL Version. Die GPL Version hat einige Einschränkungen, die jedoch nur kommerzielle Software betrifft. </p><p>Natürlich muss LabPlot mit QSA Unterstützung kompiliert werden. Für <span class="acronym">KDE</span> (basierend auf <span class="trademark">Qt</span>&#8482; 3) wird die Version 1.1.X benötigt. </p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="qsa-scripts"></a>Skripts verwenden</h3></div></div></div><p>Skripts sind (kleine) Dateien die Anweisungn zur Ausführung enthalten. Da LabPlot solche Anweisungen auswerten kann, kann das Programm damit automatisiert werden. Skripts könne mit jedem Texteditor bzw. mit dem in LabPlot integrierten QSA Workbench (zu fnden im Menü "Script-&gt;QSA Workbench...") erzeugt und bearbeitet werden. Sollten die Icons nicht automatisch gefunden werden, werfen Sie einen Blick in das <a href="workbench.html" title="QSA Arbeitsbereich"> Workbench Kapitel</a>. </p><p>Um ein Skript auszuführen könne Sie es direkt von der Kommandozeile aufrufen (<strong class="userinput"><code><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span><strong class="command">LabPlot</strong></span></span> <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>script.qs</code></em></span></code></strong>) oder per Drag und Drop in das LabPlotfenster ziehen. Außerdem kann das Menü "Script-&gt;Open Script" benutzt werden um ein Skript auszuführen. </p><p>LabPlot setzt sich zusammen aus verschiedenen Klassen. Für die meisten Funktionen sind nur wenige davon notwendig. Für jede Akton muss nur die entsprechende Funktion aufgerufen werden. Alle verfügbaren Klassen und Funktionen können in der Referenz http://cvs.sourceforge.net/viewcvs.py/*checkout*/labplot/doc/html/hierarchy.html.nachgelesen werden. </p><p>Alle MainWin Funktionen können direkt aufgerufen werden. Fangern wir mal mit <pre class="screen">importData("sample.dat");</pre> an. Das importiert Daten aus der Datei  "sample.dat" in eine Tabelle in LabPlot. Das folgende Bildschirmbild zeigt das Ergebnis. <div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><hr><img src="small_pics/qsa-import.png" alt="Import"><hr></div></div>

</p><p>Wenn man jetzt mit der Tabelle arbeiten will, muss nur die entsprechende Funktion der Tabelle aufgerufen werden. Möchte man aus den Daten ein 2D Plot erstellen, sieht es so aus: <pre class="screen">
importData("sample.dat");
s = activeSpreadsheet();
s.plot2DSimple();
</pre> Das Ergebnis ist <div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><hr><img src="small_pics/qsa-plot.png" alt="Plot"><hr></div></div> Möchte man jetzt mit dem Plot arbeiten, muss man das Arbeitsblatt und den aktiven Plot aufrufen.Das entsprechende Skript sieht so aus:<pre class="screen">
importData("sample.dat");
s = activeSpreadsheet();
s.plot2DSimple();
w = activeWorksheet();
p = w.get2DPlot(w.API());
p.setBackground("green");
w.redraw();
</pre> Mit dem Ergebnis eines grünen Hintergrundes. <div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><hr><img src="small_pics/qsa-green.png" alt="grün"><hr></div></div>

</p><p>Ein komplettes Skript das Daten importiert, eine Einstellungen macht und den Plot als EPS speichert würde dann so aussehen: <pre class="screen">
importData("sample-data/sin.dat");

s = activeSpreadsheet();
s.plot2DSimple();

w = activeWorksheet();
p = w.get2DPlot(w.API());

p.setBackground("green");
p.setGraphBackground("lightblue");

r = p.ActRange(0);
r.setRange(250,750);
r = p.ActRange(1);
r.setRange(-2,2);

l = p.getLegend();
l.setPosition(.5,.4);

t = p.Title();
t.setTitle("example title");
t.setRotation(10);

a = p.getAxis(0);
a.enableMajorGrid();
ll = a.getLabel();
ll.setTitle("different x axis");
font = new Font("SanSerif");
a.setTickLabelFont(font);

p.setMarksEnabled();
mark = p.markX();
mark.setRange(450,550);

p.setRegionEnabled();
p.setRegion(350,650);

// w.redraw();

exportEPS("export.eps");
exit();
</pre> Die verwendeten Funktionen sollten weitestgehend selbsterklärend sein. Die resultierende EPS Datei sieht dann so aus: <div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><hr><img src="small_pics/qsa-session.png" alt="Sitzung"><hr></div></div>

</p><p>Das ist praktisch alles was man wissen muss um Skripte zu verwenden. Viele Beispiele können im Verzeichnis "examples/scripts/" der Quelldistribution und im Daten Verzeichnis von LabPlot gefunden werden. </p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="script-specials"></a>Besonderes</h3></div></div></div><p>Für eine detailierte Beschreibung der Syntax von QSA werfen Sie einen Blick auf die Dokumentation von QSA. Alle Konstanten (enum) von LabPlot können auch in Skripten verwendet werden (definiert in labplot.qs) </p><p>Mit QSA ist es auch möglich Dateinamen per Dialog zu erfragen. Das folgende Beispiel zeigt das <pre class="screen">d = new ImportDialog();

var filename = FileDialog.getOpenFileName( "*.dat" );
if (filename) {
        d.setFilename(filename);
        d.Apply();
}

</pre>

</p></div></div></div><div style="background-color: #white; color: black;                  margin-top: 20px; margin-left: 20px;                  margin-right: 20px;"><div style="position: absolute; left: 20px;"><a accesskey="p" href="parser-const-gsl.html">Prev</a></div><div style="position: absolute; right: 20px;"><a accesskey="n" href="examples.html">Next</a></div><div align="center"><a accesskey="h" href="index.html">Home</a></div></div><div style="background-color: #white;   color: black;         margin-left: 20px;   margin-right: 20px;"><div class="navLeft">GSL Konstanten </div><div class="navRight"> Beispiele</div><div class="navCenter"><a accesskey="u" href="index.html">Up</a></div></div><br><br><div class="bannerBottom" style="background-image: url(common/bottom-middle.png);                                        background-repeat: x-repeat;                                         width: 100%;                                         height: 100px;                                         bottom:0px;"><div class="BannerBottomRight"><img src="common/bottom-right.png" style="margin: 0px" alt=""></div><div class="bannerBottomLeft"><img src="common/bottom-left.png" style="margin: 0px;" alt=""></div><div id="comments" style="position:relative; top: 5px; left: 1em; height:85px; width: 50%; color: #cfe1f6"><p>Would you like to make a comment or contribute an update to this page?<br>
        Send feedback to the <a href="mailto:kde-docs@kdemail.net" style="background:transparent; color:#cfe1f6; text-decoration: underline;">KDE Docs Team</a></p></div></div></body></html>