#
du greifst auf feiertag(5) zu, aber feiertag(5) gibt es nicht, weil du
mit..
Dim feiertag(1)
..einen array von feiertag(0) bis feiertag(1) definiert hast.
<edit>
#
außerdem ist 'datum$' eine variable vom typ string. 'datum' jedoch ist eine andere variable (vom typ long), welche 0 enthält.
#die zuweisung zu feiertag(n) kann auch nur gehen, wenn dein array vom typ string ist.
#
wenn du den (string-)wert dann aus der procedure dann zurückgeben willst, mußt du erst den rückgabetyp der procedure mit string deklarieren.
#
wenn du aber dann im unteren hauptteil deines codes, diesen wert in eine variable packen wilsst, muß auch diese vom typ string sein.
#
und diese variable dann mit datum$+1 zu inkrementieren, ist unfug.
#
....
alles in allem ziemlich viel unfug, für so wenig code.
<edit2:>
#
und im messagerequester muß der typ, bzw die variable auch noch stimmen.
hab deinen knetbatzen mal zur kompilierbarkeit verformt:
Code: Alles auswählen
Procedure.s Test(jahr)
Dim feiertag.s(1)
datum$=FormatDate("%dd.%mm.%yyyy", Date(Jahr,12,26,0,0,0))
feiertag(1)=datum$
ProcedureReturn feiertag(1)
EndProcedure
;Rückgabe der Procedure
datum.s=test(2006)
;datum +1
MessageRequester("Ausgabe des Datums",datum)
;Es sollte jetzt der 27.12.2006 ausgegeben werden