Falls es jemand braucht. Extra für die Nutzer der Freeware - Version 11.2.
Ist auch auf X3 bzw. X4 schnell abzuändern.
Code
Declare A$[], B&[], C![], D&[]
CLS
A$[0] = "Hallo"
A$[1] = "du"
A$[2] = "da !"
B&[0] = 1
B&[1] = 2
B&[2] = 3
B&[3] = 4
B&[4] = 5
C![0] = 1.5
C![1] = 2.6
C![2] = 10.7
C![3] = 15.0
C![4] = 20.30
D&[0] = 10
D&[1] = 20
D&[2] = 30
Print Implode(A$[], "|")
Print Implode(B&[], ",")
Print Implode(C![], ",")
Print Implode(D&[], ",")
WaitKey
PROC Implode
Declare s$
CLEARLIST
Select pType$(1)
CaseOf "$[]"
Parameters B$[], D$
s$ = IF(MoveArrToList(B$[]), MoveListToStr$(D$), "")
' da die int. Listboxliste eine Zeile zuviel genriert, muß das letzte Komma weg.
' bei X4 ist es behoben
RETURN Del$(s$, Len(s$), 1)
CaseOf "&[]"
Parameters B&[], D$
s$ = If(MoveArrToList(B&[]), MoveListToStr$(D$), "")
RETURN Del$(s$, Len(s$), 1)
CaseOf "![]"
Parameters B![], D$
Set("Decimals", 2)
s$ = If(MoveArrToList(B![]), MoveListToStr$(D$), "")
RETURN Del$(s$, Len(s$), 1)
EndSelect
ENDPROC
End
Alles anzeigen
Arrays mit dem Typ % (z.B. A%[]) scheinen nicht zu funktionieren, bzw. kommt eine Fehlermeldung bei den Parameters.
Aber der Longint - Typ & reicht ja auch.
Ist doch kurz und knapp mit der IF() - Funktion.