LPARAMETERS MSG1, MSG2, MSG3, MSG4, MSG5, MSG6, MSG7 LOCAL OUTPUT, SEMIMSG && Semimsg is to transform the parameter to 'C' OUTPUT = "" FOR X = 1 TO PCOUNT() IF X > 1 OUTPUT = OUTPUT + CHR(13) ENDIF SEMIMSG = EVAL('MSG'+ALLTRIM(STR(X))) DO CASE CASE TYPE("SEMIMSG") == "N" OR TYPE("SEMIMSG") == "Y" * CHANGE NUMBER TO STRING SEMIMSG = ALLTRIM(STR(SEMIMSG)) CASE TYPE("SEMIMSG") == "D" && CHANGE DATE TO STRING SEMIMSG = ALLTRIM(DTOC(SEMIMSG)) CASE TYPE("SEMIMSG") == "T" && CHANGE TIME TO STRING SEMIMSG = ALLTRIM(TTOC(SEMIMSG)) CASE TYPE("SEMIMSG") == "O" && CHANGE OBJECT TO STRING SEMIMSG = "NAME: " +ALLTRIM(SEMIMSG.NAME) + CHR(9) + ; SEMIMSG = SEMIMSG + "CLASS: " + ALLTRIM(SEMIMSG.CLASS) ENDCASE OUTPUT = OUTPUT + ALLTRIM(STR(X)) + ":" + CHR(9) + SEMIMSG ENDFOR IF !EMPTY(OUTPUT) WAIT "&OUTPUT" WINDOW NOWAIT ELSE WAIT "Nothing Here" WINDOW NOWAIT ENDIFAs passing parameter is max. 27!