Zitat:
Original erstellt von Reiner:
Hallo Makro-Programmierer,Eine selbst geschriebene Funktion kann keinen Funktionswert
zurückgeben, wenn ich das richtig verstanden habe.
Hat jemand einen Trick auf Lager wie sich das doch
hinbiegen lässt.
Viele Grüsse
Reiner
Morgen Reiner,
prinzipiell kannst Du in Makros Returnwerte zurückgeben - allerdings nur mit großen Einschränkungen: es dürfen nur Funktionen, also quasi nur Berechnungen, in diesem Makro vorhanden sein, und es darf nicht mal eine Zuweisung drin sein.
Möglich sind also Makros wie:
DEFINE Addieren
PARAMETER A
PARAMETER B
(A+B)
END_DEFINE
{Aufruf:} LET Summe Addieren A B
DISPLAY (Addieren A B)
Möglich sind natürlich jede Menge Schleifen und IF-Konstrukte - Du musst allerdings aufpassen, dass immer genau EIN Wert "zurückgegeben" wird:
DEFINE Tabellenwert
PARAMETER Ltab
PARAMETER Zeile
PARAMETER Spalte
IF (Zeile > 0)
(READ_LTAB Tabelle Zeile Spalte) {Inhalt dieses Feldes wird "zurückgegeben"}
ELSE
"Fehler" {String "Fehler" wird zurückgegeben}
END_IF
END_DEFINE
(quick, dirty & untested - wie immer
)
Du musst halt etwas testen, um rauszufinden, was möglich ist ...
Gruß aus Österreich,
Hannes
------------------
jo mei.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP