tuscript:loesungen:request
Zurück zum Inhaltsverzeichnis - Lösungen und Tipps
Request
- kollatz
TUSCRIPT verfügt über zahlreiche Kalenderfunktionen (siehe oben). Darunter gibt es jedoch keine Funktion, die es erlaubt aus einem gregorianischen Datum das entsprechende Datum des hebräischen Kalenders zu errechnen. Diese Funktionalität bieten jedoch zahlreiche Webdienste.
Im folgenden Beispiel wird das hebräische Datum direkt aus dem Internet eingelesen.
Arbeitsschritte
- Zunächst wird das gregorianische Tagesdatum ermittelt.
- Anschliessend wird dieses Datum (Jahr, Monat, Tag) über eine Webanfrage als Teil des sogenannten Querystring der Request-Funktion an einen Webdienst (rosettacalender.com) gesendet. Die Antwort des Webservers wird in eine Variable geschrieben.
- Aus dieser Variable wird im letzten Schritt das hebräische Datum ausgelesen.
$$ MODE TUSCRIPT,{} - Tagesdatum ermitteln time=TIME () - Tagesdatum aufteilen in Jahr, Monat und Tag nix=SPLIT (time,": :-:",gryear,grmonth,grday,rest) - Suchanfrage konstruieren querystring=* querystring=SET_VALUE (querystring,"gryear",gryear) querystring=SET_VALUE (querystring,"grmonth",grmonth) querystring=SET_VALUE (querystring,"grday",grday) - Suchanfrage an Server senden url="http://www.rosettacalendar.com/index.cgi" ask=ENCODE (querystring,cgi) wwwcontent=REQUEST (url,ask) - hebräisches Datum aus dem Ergebnis der Anfrage extrahieren status="off" LOOP line=wwwcontent IF (line.ct.":Hebrew Calendar:") status="on" IF (status=="off") CYCLE IF (line.ct.":heday:") heday=GET_ATTRIBUTE (line,"value") IF (line.ct.":selected:") hemonth=EXTRACT (line,":<*>:"|,":</*>:") IF (line.ct.":heyear:") heyear=GET_ATTRIBUTE (line,"value") ENDLOOP - Vorbereitung der Bildschirmausgabe today=DATE (3) hebrewdate=CONCAT (heday,". ", hemonth, " ", heyear) - TRACE aktuelle Variablenbelegung TRACE *time,querystring,heday,hemonth,heyear - Ausgabe PRINT "Gregorian date: ", today PRINT "Hebrew date: ", hebrewdate
Hinweis: Ausführen des Skriptes aus dem TUSTEP-Editor
x, #ma,<editor>
Bildschirmausgabe mit Tracing der Variablenbelegung für
TRACE *time,query string,heday,hemonth,heyear
- Diese Webanfrage kann auch in eine CGI-Anwendung integriert werden. Siehe dazu die CGI-Beispielssammlung, dort den Menupunkt Request.
tuscript/loesungen/request.txt · Zuletzt geändert: 2021/03/16 05:34 von 127.0.0.1