29.11.2012 Aufrufe

combit List & Label - Programmierer-Referenz - combit GmbH

combit List & Label - Programmierer-Referenz - combit GmbH

combit List & Label - Programmierer-Referenz - combit GmbH

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Beschreibung der API-Funktionen<br />

Hinweise:<br />

204<br />

Wenn ein Fehler zurückgemeldet wird (Adresse = NULL), kann man über LlExpr-<br />

Error() die Fehlerbeschreibung abgefragt werden.<br />

Die über LlDefineVariable() definierten Variablen können mit in den Ausdruck eingebaut<br />

werden, wenn bTableFields auf FALSE ist, ansonsten werden die über<br />

LlDefineField() definierten Felder in den Ausdruck mit einbezogen.<br />

Wenn der Ausdruck mehrmals benötigt wird, empfiehlt es sich, diesen einmal<br />

über LlExprParse() übersetzen zu lassen und dann die Berechnungen durchzuführen<br />

und erst am Schluss den Baum wieder freizugeben.<br />

Wenn beim Aufruf dieser Funktionen ein Fehler im Ausdruck erkannt wird, wird<br />

der entsprechende Fehler-Callback LL_NTFY_EXPRERROR aufgerufen.<br />

Beispiel:<br />

LPVOID lpExpr;<br />

char lpszErrortext[128];<br />

char lpszBuf[20];<br />

long lDateOne;<br />

long lDateTwo;<br />

LlDefineVariable(hJob, "Datum", "29.2.1964", LL_TEXT);<br />

lpExpr = LlExprParse(hJob, "DateToJulian(DATE(Datum))", FALSE);<br />

if (lpExpr)<br />

{<br />

if (LlExprType(hJob, lpExpr) != LL_EXPRTYPE_DOUBLE)<br />

{<br />

// da stimmt was nicht, muss numerisch sein!<br />

}<br />

LlExprEvaluate(hJob, lpExpr, lpszBuf, sizeof(lpszBuf));<br />

lDateOne = atol(lpszBuf);<br />

// lDateOne hat nun das julianische Datum vom 29.2.1964<br />

LlDefineVariable(hJob, "Datum", "28.2.2010", LL_TEXT);<br />

LlExprEvaluate(hJob, lpExpr, lpszBuf, sizeof(lpszBuf));<br />

lDateTwo = atol(lpszBuf);<br />

// lDateTwo hat nun das julianische Datum vom 28.2.2010<br />

LlExprFree(hJob, LpExpr);<br />

}<br />

else<br />

{<br />

// Fehler!<br />

LlExprError(hJob, lpszErrortext, sizeof(lpszErrortext));<br />

}<br />

Siehe auch:<br />

LlExprEvaluate, LlExprType, LlExprError, LlExprFree

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!