[[tuscript:loesungen:start|Zurück zum Inhaltsverzeichnis - Lösungen und Tipps]] ---- ====== Request ====== - {{files_open:benutzericons:kollatz-lg.jpg?nolink&16x16|kollatz}} kollatz\\ \\ TUSCRIPT verfügt über zahlreiche Kalenderfunktionen ([[tuscript:loesungen:kalenderwoche_berechnen|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 ([[http://rosettacalender.com|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, \\ Bildschirmausgabe mit Tracing der Variablenbelegung für\\ TRACE *time,query string,heday,hemonth,heyear \\ {{files_open:bilder:request_trace.png|request_trace.png}}\\ \\ \\ * Diese Webanfrage kann auch in eine [[tuscript:loesungen:cgi_scripte|CGI]]-Anwendung integriert werden. Siehe dazu die [[http://steinheim-institut.de:50580/cgi-bin/blau|CGI-Beispielssammlung]], dort den Menupunkt //Request//. \\ ---- [[tuscript:loesungen:start|Zurück zum Inhaltsverzeichnis - Lösungen und Tipps]]