Du brauchst:
[ul]
[li]eine String Varibale mit dem Varibalen Profil ~HTMLBox, diese mit CTRL+2 anlegen und das Variablenprofil ~HTMLBox zuweisen[/li][li]ein Skript das vom Ereignis aufgerufen wird, CTRL+3 Skript anlegen und Inhalt s.u. reinkopieren und Parameter anpassen[/li][li]ein Ereignis, rechts klick auf das Skript, CTRL+4 Ereignis hinzufügen. Je nachdem was Du machen willst, eben ein Zyklisches Ereignis oder ein Ereignis, das unter bestimmten Bedingungen eintritt und das Skript auffruft[/li][li] ein Ausgangswert mit Variable die Du ausliest, wenn Du den Wert als Diagramm darstellen willst, musst Du bei dieser Variable „Alle Variablenänderungen aufzeichnen“[/li][/ul]
Wenn Du nicht das Beschreibungsfeld nutzten willst kannst Du das Skript von Ralf noch erweitern, dann wird die Tabelle jeweils direkt aus der HTMLBox gelesen und wieder neu beschrieben, dann kannst Du das Beschreibungsfeld anderweitig benutzten.
Skript zum Anlegen einer Liste bei einem Ereignis
$max_elements = 30; // max elements in table
$message = GetValue(23456); // Wert aus der Variable auslesen
$sender = "Test"; // Name des Senders
$list_id = 12345; // String Variable mit Profil ~HTMLBox
// CSS Helper for tables http://divtable.com/table-styler/
$css = 'body {background-color:black; color:white; font-size:2em;}
table.liste { width: 100%; border-collapse: true; border: 0px; }
table.liste td { border: 1px solid white; }
table.liste th { border: 1px solid white; }'; // configuration of the table layout
$HTML = SetHTMLList($list_id, $sender, $message, $max_elements, $css);
//var_dump($HTML);
function SetHTMLList($list_id, $sender, $message, $max_elements, $css)
{
$table_info = GetTable($list_id);
$table_header = $table_info["table_header"];
$table_rows = $table_info["table_rows"];
$HTML = WriteTable($list_id, $table_header, $table_rows, $sender, $message, $max_elements, $css);
return $HTML;
}
function WriteTable($list_id, $table_header, $table_rows, $sender, $message, $max_elements, $css)
{
$HTML_Head = '<html>
<head>
<title>HTML Table</title>
</head>
<style type="text/css">'
.$css.
'</style>
<body>';
$HTML_Footer = '</body>
</html>';
$html_table_header ='<table border = "0" class="liste"><tr align="left">';
$html_table_header.='<th>'.$table_header[0].'</th>';
$html_table_header.='<th>'.$table_header[1].'</th>';
$html_table_header.='<th>'.$table_header[2].'</th>';
$html_table_header.='<th>'.$table_header[3].'</th></tr>';
$data = array($table_header[0] => date("d.m.Y"), $table_header[1] => date("H:i:s"), $table_header[2] => $sender, $table_header[3] => $message);
array_unshift ($table_rows, $data); // add new value to array
$table_rows = array_slice($table_rows, 0, $max_elements); // cut off old value
$html_table_rows = '';
foreach($table_rows as $key => $table_row)
{
$html_table_rows .= '<tr align="left"><td>'.$table_row[$table_header[0]].'</td>';
$html_table_rows .= '<td>'.$table_row[$table_header[1]].'</td>';
$html_table_rows .= '<td>'.$table_row[$table_header[2]].'</td>';
$html_table_rows .= '<td>'.$table_row[$table_header[3]].'</td></tr>';
}
$HTML_Table = $html_table_header.$html_table_rows;
$HTML = $HTML_Head.$HTML_Table.$HTML_Footer;
SetValue($list_id, $HTML);
return $HTML;
}
function GetTable($list_id)
{
$htmlContent = GetValue($list_id);
$DOM = new DOMDocument();
$domhtmlcontent = @$DOM->loadHTML($htmlContent);
if(empty($domhtmlcontent))
{
$aDataTableHeaderHTML = array("Datum", "Uhrzeit", "Sender", "Meldung");
$aDataTableDetailHTML = array();
}
else
{
$DOM->loadHTML($htmlContent);
$Header = $DOM->getElementsByTagName('th');
$Detail = $DOM->getElementsByTagName('td');
//#Get header name of the table
foreach($Header as $NodeHeader)
{
$aDataTableHeaderHTML[] = utf8_decode(trim($NodeHeader->textContent));
}
if(empty($aDataTableHeaderHTML))
{
$aDataTableHeaderHTML = array("Datum", "Uhrzeit", "Sender", "Meldung");
$aDataTableDetailHTML = array();
}
else
{
//#Get row data/detail table without header name as key
$i = 0;
$j = 0;
foreach($Detail as $sNodeDetail)
{
$aDataTableDetailHTML[$j][] = utf8_decode(trim($sNodeDetail->textContent));
$i = $i + 1;
$j = $i % count($aDataTableHeaderHTML) == 0 ? $j + 1 : $j;
}
//#Get row data/detail table with header name as key and outer array index as row number
for($i = 0; $i < count($aDataTableDetailHTML); $i++)
{
for($j = 0; $j < count($aDataTableHeaderHTML); $j++)
{
$aTempData[$i][$aDataTableHeaderHTML[$j]] = $aDataTableDetailHTML[$i][$j];
}
}
$aDataTableDetailHTML = $aTempData; unset($aTempData);
}
}
$table_header = $aDataTableHeaderHTML;
$table_rows = $aDataTableDetailHTML;
return array("table_header" => $table_header, "table_rows" => $table_rows);
}
?>