2023-04-26 13:17:21 +02:00

270 lines
14 KiB
HTML
Executable File

<html>
<head>
<title>ProgressClass v1.0 Anleitung</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.normal { font-family: Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify}
.klein { font-family: Arial, Helvetica, sans-serif; font-size: 10px}
.ueberschrift { font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight: bold}
.unterueberschrift { font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; font-style: italic}
.code { font-family: "Courier New", Courier, mono; font-size: 14px; font-weight: bold; color: #000099; text-align: left}
-->
</style>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p class="normal"><span class="ueberschrift">ProgressClass v1.0 Anleitung<br>
</span>
(c) 2002 Boris Wylutzki / www.edv-internet.de</p>
<table width="100%" border="0" bgcolor="#CCCCCC">
<tr>
<td>
<p class="klein">Dieses Programm ist freie Software. Sie k&ouml;nnen es unter den
Bedingungen der GNU General Public License, wie von der Free
Software Foundation ver&ouml;ffentlicht, weitergeben und/oder
modifizieren, entweder gem&auml;&szlig; Version 2 der Lizenz oder (nach
Ihrer Option) jeder sp&auml;teren Version.<br>
<br>
Die Ver&ouml;ffentlichung dieses Programms erfolgt in der
Hoffnung, da&szlig; es Ihnen von Nutzen sein wird, aber OHNE
IRGENDEINE GARANTIE, sogar ohne die implizite Garantie der
MARKTREIFE oder der VERWENDBARKEIT F&Uuml;R EINEN BESTIMMTEN
ZWECK. Details finden Sie in der GNU General Public License.<br>
<br>
Sie sollten eine <a href="lizenz.txt">Kopie der GNU General Public License</a>
zusammen mit diesem Programm erhalten haben. Falls nicht,
schreiben Sie an die Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307, USA.<br>
<br>
Falls Sie eine Lizenz f&uuml;r die Verwendung in kostenpflichtigen Softwarepaketen ben&ouml;tigen, kontaktieren Sie bitte den Autor unter www.edv-internet.de.</p>
</td>
</tr>
</table>
<p class="unterueberschrift">Programmbeschreibung</p>
<p class="normal">ProgressClass stellt eine PHP-Klasse f&uuml;r die dynamische Anzeige und Ver&auml;nderung eines Fortschrittsbalkens zur Verf&uuml;gung. In einem Fenster im Windows-Stil kann noch w&auml;hrend der Laufzeit des Scripts der Fortschritt angezeigt werden, z.B. beim Laden/Ausgeben der Seite, Versenden von E-Mails oder Bearbeiten von Datenbanken. Am Ende der Seite kann der Fortschrittsbalken wieder ausgeblendet werden. Features: optionaler Abbrechen-Button; dynamische &Auml;nderung von Beschriftung, Farbe, Prozent; freie Gr&ouml;&szlig;e und Positionierung.</p>
<p class="unterueberschrift">Systemvoraussetzungen</p>
<p class="normal">Der Server ben&ouml;tigt PHP 4.x oder h&ouml;her incl. korrekt installierter aktueller <a href="https://www.garykeith.com/browsers/browscap.asp" target="_blank">browscap.ini</a>. Der Client ben&ouml;tigt den IE 5.x oder h&ouml;her bzw. Netscape 6.x oder h&ouml;her. Andere Browser-Hersteller sind nicht getestet. ProgressClass pr&uuml;ft selbst&auml;ndig die Browserversion und zeigt bei zu alter Version keinen Fortschrittsbalken an; eine eigene Browser&uuml;berpr&uuml;fung brauchen Sie nicht zu verwenden.</p>
<p class="unterueberschrift">Installation</p>
<p class="normal">Kopieren Sie einfach die Dateien <span class="code">ProgressClass.php</span> und <span class="code">js.inc.php</span> auf ihren Webspace.</p>
<p class="unterueberschrift">Anwendung</p>
<p class="normal">ProgressClass ist komplett objektorientiert. Es stellt eine Klasse zum Erzeugen, Bearbeiten und L&ouml;schen des Fortschrittsbalkens zur Verf&uuml;gung. Wenn mehrere Fortschrittsbalken ben&ouml;tigt werden, kann die Klasse auch ohne Probleme mehrmals instanziert werden (auch gleichzeitig). Grunds&auml;tzlich stellt sich der Einsatz folgenderma&szlig;en dar:</p>
<ol class="normal">
<li>Einbinden der Klasse:
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">require('ProgressClass.php');</td>
</tr>
</table>
<br>
</li>
<li>Erzeugen einer Instanz der Klasse:
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress=new ProgressClass();</td>
</tr>
</table>
<br>
</li>
<li>Einstellen der gew&uuml;nschten Optionen (siehe unten). Dieser Schritt ist optional, die Klasse ist mit Standardeinstellungen vorbelegt. Beispiel:
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;setWidth(300);<br>
$progress-&gt;setPosition('center',20);<br>
... usw.
</td>
</tr>
</table>
<br>
</li>
<li>Fortschrittsbalken generieren und ausgeben:
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;make();</td>
</tr>
</table>
<br>
</li>
<li>&Auml;ndern der Prozentanzeige oder anderer Einstellungen:
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">
<p>$progress-&gt;setPercent(10);<br>
...<br>
$progress-&gt;setPercent(45);<br>
...<br>
$progress-&gt;setPercent(80);<br>
$progress-&gt;setLabel('Speicher wird aufger&auml;umt ...');<br>
...<br>
$progress-&gt;setPercent(100);<br>
$progress-&gt;setLabel('Fertig!');
</p>
</td>
</tr>
</table>
<br>
</li>
<li>Fortschrittsbalken l&ouml;schen, so da&szlig; er nicht mehr im Browser angezeigt wird:
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;hide();</td>
</tr>
</table>
</li>
</ol>
<p class="unterueberschrift">Beschreibung der Funktionen</p>
<p class="code"><b>ProgressClass()</b></p>
<blockquote>
<p class="normal">Die Funktion wird durch Instanzieren der Klasse aufgerufen und nimmt interne Initialisierungen vor. Sie k&ouml;nnen beliebig viele Fortschrittsbalken (auch gleichzeitig) durch Instanzieren neuer Klassen erzeugen. Alle Fortschrittsbalken haben voneinander unabh&auml;nge Einstellungen und k&ouml;nnen getrennt angezeigt und ge&auml;ndert werden.</p>
<p class="normal">Ben&ouml;tigt keine Parameter.</p>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;new ProgressClass();</td>
</tr>
</table>
</blockquote>
<p class="code">setWidth($width);</p>
<blockquote>
<p class="normal">Definiert die Breite des Fortschrittbalkens (&auml;u&szlig;erer Rand des Fensters) in Pixeln. Standardeinstellung sind <i>350</i> Pixel.</p>
<p class="normal">Der Aufruf dieser Funktion nach <span class="code">make()</span> hat keine Wirkung.</p>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;setWidth(300); </td>
</tr>
</table>
</blockquote>
<p class="code">setPosition($left=NULL,$top=NULL);</p>
<blockquote>
<p class="normal">Definiert die Position (obere linke Ecke) des Fortschrittsbalkens (&auml;u&szlig;erer Rand des Fensters) innerhalb des angezeigten Dokuments/Frames in Pixeln. Standardeinstellung ist <i>'center','center-65'</i>.</p>
<p class="normal">Der erste Parameter bezeichnet den Abstand der oberen linken Ecke zum linken Seitenrand, der zweite zum oberen Seitenrand. Sie k&ouml;nnen auch nur einen der Parameter angeben, der zweite beh&auml;lt dann die Standardeinstellung. Wenn Sie nur den zweiten Parameter angeben m&ouml;chten, mu&szlig; der erste <span class="code">NULL</span> sein.</p>
<p class="normal">Anstelle von absoluten Zahlen k&ouml;nnen Sie auch <span class="code">'center'</span> angeben, so da&szlig; das Fenster zentriert im Anzeigebereich angezeigt wird. M&ouml;glich ist sogar eine Kombination z.B. <span class="code">'center-30'</span>.</p>
<p class="normal">Der Aufruf dieser Funktion nach <span class="code">make()</span> hat keine Wirkung.</p>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;setPosition(100,30);</td>
</tr>
</table>
<br>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;setPosition(NULL,30); // Standardeinstellung f&uuml;r $left beibehalten</td>
</tr>
</table>
<br>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;setPosition(100); // Standardeinstellung f&uuml;r $top beibehalten</td>
</tr>
</table>
<br>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;setPosition('center','center-30'); // Zentriert, etwas nach oben verschoben</td>
</tr>
</table>
</blockquote>
<p class="code">setButton($label,$url,$target='_self')</p>
<blockquote>
<p class="normal">F&uuml;gt dem Fortschrittsbalken einen Button hinzu, auf dessen Klick eine neue Seite ge&ouml;ffnet wird. Der Button kann z.B. mit <i>&quot;Abbrechen&quot;</i> beschriftet werden. Wenn er angeklickt wird, wird eine neue Seite geladen, so da&szlig; die Ausf&uuml;hrung der aktuellen Seite abgebrochen wird (nur wenn <i>target='_self'</i>).</p>
<p class="normal">Mit dem ersten Parameter wird die Beschriftung des Buttons, mit dem zweiten die Ziel-URL angegeben. Der optionale dritte Parameter bezeichnet das f&uuml;r den Link verwendete Target.</p>
<p class="normal">Der Aufruf dieser Funktion nach <span class="code">make()</span> hat keine Wirkung.</p>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;setButton('Abbrechen','/seiten/abbruch.php');</td>
</tr>
</table>
<br>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;setButton('Info','info.php','_blank');</td>
</tr>
</table>
</blockquote>
<p class="code">setPercent($percent)</p>
<blockquote>
<p class="normal">Definiert die Prozentanzeige des Fortschrittsbalkens. Standardeinstellung ist <i>0</i>.</p>
<p class="normal">Der Parameter mu&szlig; als Zahl, ohne Prozentzeichen angegeben werden.</p>
<p class="normal">Diese Funktion kann auch nach <span class="code">make()</span> noch &ouml;fter aufgerufen werden, um die Prozentanzeige dynamisch zu &auml;ndern (DHTML).</p>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;setPercent(25);</td>
</tr>
</table>
</blockquote>
<p class="code">setPerX($some,$all)</p>
<blockquote>
<p class="normal">Definiert die Prozentanzeige des Fortschrittsbalkens und rechnet daf&uuml;r die angegebenen Werte in Prozent um.</p>
<p class="normal">Der erste Parameter stellt die aktuelle Position von insgesamt soviel Positionen, wie der zweite Parameter bezeichnet, dar. Wenn Sie eine Datei oder ein MySQL-Result einlesen, &uuml;bergeben Sie f&uuml;r <span class="code">$all</span> die Anzahl der Eintr&auml;ge und f&uuml;r <span class="code">$some</span> die aktuelle Position des Dateizeigers/Result-Zeigers.</p>
<p class="normal">Diese Funktion kann auch nach <span class="code">make()</span> noch &ouml;fter aufgerufen werden, um die Prozentanzeige dynamisch zu &auml;ndern (DHTML).</p>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$gesamt=1500;<br>
for ($i=1;$i&lt;=$gesamt;$i++)<br>
&nbsp;&nbsp;$progress-&gt;setPerX($i,$gesamt);</td>
</tr>
</table>
</blockquote>
<p class="code">setLabel($label)</p>
<blockquote>
<p class="normal">Definiert die Beschriftung des Fortschrittsbalkens. Standardeinstellung ist <i>&quot;Bitte warten ...&quot;</i></p>
<p class="normal">Diese Funktion kann auch nach <span class="code">make()</span> noch &ouml;fter aufgerufen werden, um das Label dynamisch zu &auml;ndern (DHTML).</p>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;setLabel('Seite wird geladen ...');</td>
</tr>
</table>
</blockquote>
<p class="code">setBarColor($color)</p>
<blockquote>
<p class="normal">Definiert die Farbe des Fortschrittsbalkens. Standardeinstellung ist <i>dunkelblau</i>.</p>
<p class="normal">Die Farbe mu&szlig; als HTML-Color-Code angegeben werden.</p>
<p class="normal">Diese Funktion kann auch nach <span class="code">make()</span> noch &ouml;fter aufgerufen werden, um die Farbe dynamisch zu &auml;ndern (DHTML).</p>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;setBarColor('#FF0000'); // rot</td>
</tr>
</table>
</blockquote>
<p class="code">hide()</p>
<blockquote>
<p class="normal">Macht den Fortschrittsbalken unsichtbar. Sollte am Ende der Ausgabe aufgerufen werden, damit der Besucher die Seite ohne den Fortschrittsbalken betrachten kann.</p>
<p class="normal">Ben&ouml;tigt keine Parameter.</p>
<p class="normal">Diese Funktion sollte nur nach <span class="code">make()</span> aufgerufen werden (DHTML).</p>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;hide();</td>
</tr>
</table>
</blockquote>
<p class="code">show()</p>
<blockquote>
<p class="normal">Macht den Fortschrittsbalken sichtbar und ist z.B. sinnvoll, wenn vorher make(false) aufgerufen wurde.</p>
<p class="normal">Ben&ouml;tigt keine Parameter.</p>
<p class="normal">Diese Funktion sollte nur nach <span class="code">make()</span> aufgerufen werden (DHTML).</p>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;show();</td>
</tr>
</table>
</blockquote>
<p class="code"><b>make($show=true)</b></p>
<blockquote>
<p class="normal">Erstellt den Fortschrittsbalken und gibt ihn an den Browser aus.</p>
<p class="normal"><b><font color="#FF0000">Wichtig:</font> Die Funktion darf erst aufgerufen werden, nachdem der &lt;body&gt;-Tag an den Browser gesendet wurde!</b></p>
<p class="normal">Optional kann durch den Parameter angegeben werden, ob der Fortschrittsbalken auch gleich sichtbar angezeigt wird. Standardeinstellung ist <span class="code">true</span> (= Ja).</p>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;make();</td>
</tr>
</table>
<br>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;make(false); // Nur ausgeben, noch nicht anzeigen.</td>
</tr>
</table>
</blockquote>
<p>&nbsp;</p>
</body>
</html>