Hallo,
ich aktualisiere meine Verkehrsmeldungen über den WWW Reader alle 15 min. Ich würde nun gerne zusätzlich im Designer einen Button einrichten, der ein manuelles Update anstösst. Ist dies realisierbar?
Gruss,
reflectedimage
Hallo,
ich aktualisiere meine Verkehrsmeldungen über den WWW Reader alle 15 min. Ich würde nun gerne zusätzlich im Designer einen Button einrichten, der ein manuelles Update anstösst. Ist dies realisierbar?
Gruss,
reflectedimage
Aber klar !
Nur im Designer einen Button anlegen. Dann in seinem Objekt-Properties auf Event-Reiter klicken und hier bei „OnClick“ den Skript Namen angeben, der eben die Verkehrsmeldungen abfragt. Das wars
Sehr einfach
mfG Franz
Hallo,
wie kann ich aber in einem Skript den WWW Reader manuell updaten, also ausserhalb der planmäßigen Updates? Diese Funktion kenne ich nur auf der Instanzenebene, weiss aber nicht wie ich diese per Skript ansteuern kann.
Gruss,
reflectedimage
WWWReader_UpdatePage(14323);
Natürlich muss deine InstanzID da rein^^
Toni
perfekt, das ist es, was ich gesucht habe. Vielen Dank für die Hilfe!
Gruss,
reflectedimage
Hallo reflectedimage,
würdest Du das script hier mal posten. Ich finde das sehr interessant.
Vielen Dank
TK
Das ist weniger ein Script als eine Standardaufgabe für den WWW-Reader. Der ließt die Informationen in einem einstellbaren Intervall aus dem Netz. Du musst ihm nur die Webseite verraten und eine Filterregel festlegen.
Steht alles in der Doku.
Toni
Hallo TK6,
über den WWW Reader hole ich mir die gesamte Seite der Staumeldungen (hier: http://www.radionrw.de/verkehr/vknrw.htm)
Die Weiterbearbeitung erfolgt durch das folgende Skript. Da mich nicht alle Staumeldungen interessieren, prüfe ich alle Meldungen auf bestimmte Autobahnbezeichnungen. Nur die für mich relevanten werden dann übernommen und formatiert (alle HTML TAGS werden) entfernt.
Die Meldungen zeige ich dann im Designer über ein Memo-Feld an.
Mein Ziel ist es, nicht nur Autobahnnummern sondern auch bestimmte Streckenabschnitte zu extrahieren, um den für mich relevanten Bereich weiter einzugrenzen. Da muss ich mir aber noch ein paar schlaue Gedanken machen …
/*
*******************************
IP-SYMCON Event Scripting
*******************************
File : Verkehrsmeldungen_formatieren.ips.php
Trigger :
Interval :
*/
// Timestamp der Staumeldungen erstellen
SetValueString("Staumeldungen.timestamp", date("H:i", IPS_GetUpdateTime("Staumeldungen")));
// String initialiseren
SetValueString("Staumeldungen_formatiert", '');
// in dem vom WWW Reader erhaltene Staumeldungen formatieren
$Meldungen = str_replace("</U>", "
", GetValueString("Staumeldungen"));
// In Einzelmeldungen unterteilen
$Einzelmeldung = explode("<U>", $Meldungen);
$anzahl = count($Einzelmeldung);
// Alle Einzelmeldungen durchgehen und auf Relevanz überprüfen
for ($i =0; $i <= $anzahl-1; $i++)
{
// Lösche HTML Tags aus Meldung
$Einzelmeldung[$i] = theRealStripTags($Einzelmeldung[$i]);
// Isoliere die Autobahnnummer
$currentBeg = strpos($Einzelmeldung[$i], 'A');
$currentEnd = strpos($Einzelmeldung[$i], ' ');
$autobahn = @substr($Einzelmeldung[$i], $currentBeg, $currentEnd);
// Wenn Autobahnnummer relevant, dann Staumeldung übernehmen
switch ($autobahn)
{
case "A1":
case "A2":
case "A3":
case "A4":
case "A46":
case "A59":
$temp = GetValueString("Staumeldungen_formatiert");
$new = $temp.$Einzelmeldung[$i]."
";
SetValueString("Staumeldungen_formatiert", $new);
break;
}
}
//SetValueString("Staumeldungen_formatiert", '');
function theRealStripTags($string)
{
//while there are tags left to remove
while(strstr($string, '>'))
{
//find position of first carrot
$currentBeg = strpos($string, '<');
//find position of end carrot
$currentEnd = strpos($string, '>');
//find out if there is string before first carrot
//if so save it in $tmpstring
$tmpStringBeg = @substr($string, 0, $currentBeg);
//find out if there is string after last carrot
//if so save it in $tmpStringEnd
$tmpStringEnd = @substr($string, $currentEnd + 1, strlen($string));
//cut the tag from the string
$string = $tmpStringBeg.$tmpStringEnd;
}
return $string;
}
?>
Gruss,
reflectedimage
Super,
Vielen Dank, ich teste das mal.