FD 868 [Beispiel #2]

Leider bietet das Display mit seinen 16*2 Zeichen nicht viel Platz um einen ‚News-Flash‘ darzustellen.
Für einen groben Überblick reicht es dennoch. Wie man RSS Feeds ausliest, wurde bereits an derer Stelle beschrieben.
Das folgende Skript wird z.B. münütlich ausgeführt und zeigt eine von vier ‚News‘ an - welche gerade an der Reihe ist wird in der Variablen „Newsposition“ abgespeichert.
Mit der Funktion substr wird der Text in 2 mal 16 Zeichen zerlegt.

MST

$id_lcd = 22589 /*[OG\Bad\FD 868\LCD\ViewJet #2]*/;

$rssN1 = GetValue(54214 /*[WWW\News\RSS News 1]*/);
$rssN2 = GetValue(44387 /*[WWW\News\RSS News 2]*/);
$rssN1_z1 = substr($rssN1, 0, 16);                   // Gibt einen Teil eines Strings zurück  > hier 32 Zeichen  / 2 * 16
$rssN1_z2 = substr($rssN1, 16, 31);
$rssN2_z1 = substr($rssN2, 0, 16);                   // Gibt einen Teil eines Strings zurück  > hier 32 Zeichen  / 2 * 16
$rssN2_z2 = substr($rssN2, 16, 31);

$rss1 = GetValue(22649 /*[WWW\News\RSS Forum 1]*/);
$rss1_z1 = substr($rss1, 0, 16);                   // Gibt einen Teil eines Strings zurück  > hier 32 Zeichen  / 2 * 16
$rss1_z2 = substr($rss1, 16, 31);

$news_pos = GetValue(46197 /*[OG\Bad\FD 868\LCD\News\Newsposition]*/);
$news_pos = $news_pos +1;
if ($news_pos > 4) $news_pos = 1;
SetValue(46197 /*[OG\Bad\FD 868\LCD\News\Newsposition]*/, $news_pos);

switch($news_pos){
	case 1:
		$txt_z1 = $rssN1_z1;
		$txt_z2 = $rssN1_z2;
		PJ_LCDText($id_lcd, 1, $txt_z1);
		PJ_LCDText($id_lcd, 2, $txt_z2);
		break;
	case 2:
		$txt_z1 = $rssN2_z1;
		$txt_z2 = $rssN2_z2;
		PJ_LCDText($id_lcd, 1, $txt_z1);
		PJ_LCDText($id_lcd, 2, $txt_z2);
		break;
 	case 3:
		$txt_z1 = $rss1_z1;
		$txt_z2 = $rss1_z2;
		PJ_LCDText($id_lcd, 1, $txt_z1);
		PJ_LCDText($id_lcd, 2, $txt_z2);
		break;
	case 4:
		$txt_z1 = GetValue(36501 /*[Termine Wecker\Current Time]*/);
		$txt_z2 = "Taus: ". GetValue(58383 /*[Wetter\Temp Außen Schatten\Temperatur]*/);
		PJ_LCDText($id_lcd, 1, $txt_z1);
		PJ_LCDText($id_lcd, 2, $txt_z2);
		break;
}