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: von 127.0.0.1

