Folgendes Makro haben wir für einen Kunden gebaut:
Mit dem Code
[highlight=epc]
[WebServer]
page (1)[$Allgemein$,$Logger$]
design $black$
weboutput(LoggerOut_ID)[QUAD,NOICON]
[EibPC]
WebLogger(LoggerOut_ID,MyText)
MyText=$Hier ist das Event um $+convert(settime(),$$)
[/highlight]
kann man dann Logs wie unten in der Grafik genierieren. Bei Jeder Veränderung der Variable Text wird ein neuer Eintrag mit Zeitstempel generiert.
Das Makro wird in der EnertexWebV3.lib zu finden sein.
Code:
// Nutzt ein Weboutputfeld als formatiertes Loggerfenster // @date 18.07.2014 // @version 1 // @author Enertex Bayern GmbH (msc) :begin WebLogger(ID,Text) :info $Schreibt formatiert auf ein Weboutputfeld (QUAD-Größe) und gibt einen Textstring (40 Zeichen) dort aus$\\ $ID des weboutput-Elements (u08)$\\ $Textvariable$ :shortinfo $Weboutputfeld als formatiertes Loggerfenster$ :var TextLogger_out@ :var TextLogger_Count@ :var TextLogger_line@ :var TextLogger_Header@ :var TextLogger_Body@ TextLogger_out@ =$$ TextLogger_Count@ =0 // Maximum: 40 Characters each Log entry TextLogger_line@ =$$c40 TextLogger_Header@ =$<body><table border="1" width="320" rules="groups"> <thead><tr><th><font color=teal>Datum </font></th> <th width="74%">Event </th> </tr></thead><tbody>$c200 TextLogger_Body@ =$$ if change(Text) then { TextLogger_line@=Text; if TextLogger_Count@>12 then { TextLogger_Body@=split(TextLogger_Body@,find(TextLogger_Body@,$</td>$,1u16)+5u16,END)+$<tr><td><font color=teal>$+convert(settime(),$$c20)+$</font></td><td>$+TextLogger_line@+$</td>$; } else { TextLogger_Body@=TextLogger_Body@+$<tr><td><font color=teal>$+convert(settime(),$$c20)+$</font></td><td>$+TextLogger_line@+$</td></tr>$; TextLogger_Count@=TextLogger_Count@+1; } endif; TextLogger_out@=TextLogger_Header@ +TextLogger_Body@+$</tbody></table></body>$; weboutput(ID, TextLogger_out@); } endif :end
[highlight=epc]
[WebServer]
page (1)[$Allgemein$,$Logger$]
design $black$
weboutput(LoggerOut_ID)[QUAD,NOICON]
[EibPC]
WebLogger(LoggerOut_ID,MyText)
MyText=$Hier ist das Event um $+convert(settime(),$$)
[/highlight]
kann man dann Logs wie unten in der Grafik genierieren. Bei Jeder Veränderung der Variable Text wird ein neuer Eintrag mit Zeitstempel generiert.
Das Makro wird in der EnertexWebV3.lib zu finden sein.
Kommentar