[Allegro] Vb.214: Datumsfunktion um 600 Jahre verbessert / AJAX3
Bernhard Eversberg
ev at biblio.tu-bs.de
Fr Feb 27 08:51:24 CET 2009
Verlautbarung 214 der Entw.Abt. 2009-02-27
-------------------------------
AJAX3 [s.a. Aschermittwochsbotschaft]
=====
Eine neue Methodik steht bereit, mit der das Entwickeln von Web-
Anwendungen mit Dynamik erleichtert wird. Bisher musste man vier
verschiedene Sprachen meistern: HTML+CSS, JavaScript, PHP oder Perl
und FLEX. Jetzt genuegen zwei: HTML und FLEX. Genau beschrieben wird
die Sache hier:
http://www.allegro-c.de/doku/phpac/ajax3.htm
wo man auch schon Beispiele ausprobieren kann. Es werden nur vier
neue Dateien gebraucht: ajax3.js, ajax3.php, ajax3.ini und utf.apr.
Diese kommen mit rein in das PHPAC-Paket. acon fuer Solaris und Linux
kommen naechste Woche neu, damit dann auch das erweiterte PHPAC.
NULL-Datenbank
--------------
Wer AJAX3-Dienste konstruieren will oder lokal ein paar pfiffige FLEXe
einfach als Werkeuge einsetzen und dabei gar keine Datenbank braucht,
der braucht leider doch eine, weil sonst acon nicht anspringt.
Wir haben dafuer eine recht minimale Datenbank erstellt, die nicht den
hohen Parameter-Aufwand der DemoBank hat. Diese koennte man natuerlich
auch benutzen, klar, aber jeder Job muss ja nicht nur die Datenbank
oeffnen, sondern auch das ganze Geraffel von Parametern einlesen, und
die Zeit dafuer ist dann unnuetzer Overhead.
Die NULL-Datenbank liegt als null.zip bereit und kommt einfach
nach c:\allegro\null. In die avanti.con traegt man ein:
[null]
directory = c:\allegro\null
access = 3
konfiguration = a
indexparameter = null
opac = OPAC:3
Und in av_ini.php fuer solche Zwecke muss dies:
$DB="null";
$ID="opac/OPAC";
Wobei acon.exe, wenn als Konsolprogramm eingesetzt, nur die avanti.con
braucht und natürlich Jobdateien, keine PHP-Skripte.
Neuer Datums-FLEX [s.a. Himmelfahrtsbotschaft]
-----------------
day.inc : Welcher Wochentag ist/war der ...
Und welches Datum gehoert zum Tag mit der Nummer x
(fuer die Jahre 1601 - 2399, also jetzt 600 Jahre mehr)
Es stehen Kommentare drin, wie man damit umgeht.
Eingebaut ist es bereits in den alten kalender.flx und in den
weekday.flx, welche also nun ab 1601 bis 2399 arbeiten, 600 Jahre
mehr als vorher.
Auch direkter Aufruf moeglich: X day.inc
Dann eingeben:
JJJJMMTT Wochentag
JJJJMMTT+x JJJJMMTT/00:00:00 = WT, MON JJJJ
-x = Anzahl von Tagen, 0 wenn selbes Datum gewuenscht
JJJJMMTT-jjjjmmtt Differenz der Daten in Tagen
a99 "Ergebnismenge in Druckform"
--------------------------------
Der FLEX-Befehl show Print klappte dann nicht, wenn es einen
FLEX namens onviewrs.flx gibt. Dieser tritt in Kraft, wenn man
den Menuepunkt "Ansicht / Ergebnismenge in Druckform" ausloest.
Nun funktioniert es wieder, es wird aber in dem Fall nicht der
besagte FLEX genutzt, sondern die Standardfunktion.
Der FLEX hat den Vorteil, dass dann die Erg.Menge beliebig gross
sein darf. Bei der Standardfunktion und damit auch show Print
ist die Groesse auf 4 MB beschraenkt (bisher 255K).
acon (avanti-FLEX)
====
Einige Unstimmigkeiten, bes. Abweichungen von FLEX, wurden behoben.
(Relevante Doku-Dateien x*.rtf sind aktualisiert)
* switch object 1/2 ging nicht, es gab nur noch Objekt 1.
Behoben.
* xcode u ging nicht.
Behoben.
* day +x / day -x
funktioniert! Stand nur nicht in der Doku
Day ...
geht dagegen leider nicht. Das liegt am Fehlen einer wichtigen
Funktion im Standard-C++ unter Linux/UNIX
Ersatz: day.inc einbinden (s.oben)
und dann perform Day statt Day
* var (Manipulation), z.B. var (b" = ")
also die nachtraegliche Manipulation des aktuellen iV-Inhalts,
ging leider nicht.
Behoben.
* jump
ging nicht, wenn kein Label dahinter angegeben war, statt dass
dann der iV-Inhalt als Label genommen wuerde (dynam. Sprung).
Behoben.
Mehr Informationen über die Mailingliste Allegro