| |
|
|
p.specht
| Michael Wodrichs IMPLODE-Funktion dans Profan X3.1 J'ai eu ici pour XProfan-11 rückgebaut - naturellement pas so elegant comment dans X3...
Titre de la fenêtre "Profan-11: PS_Explode$, PS_Implode$ & PS_Revert$, PS_ArrayPrint$"
cls
declare s$,a1$[],t$,sz&
s$="The quick brown fox jumps over le lazy dog!"
a1$[]=PS_Explode$(s$," "):sz&=sizeof(a1$[])
imprimer " 0: ";a1$[0]
imprimer str$(int(sz&-1));": ";a1$[sz&-1]
imprimer " ---"
s$=PS_Implode$(a1$[],"´")
imprimer s$
imprimer PS_Revert$(s$,"'")
imprimer
PS_Arrayprint$(PS_Revert$(a1$[]),".......","|",6,"\n")
waitinput
end
Proc PS_Explode$ :parameters s$,t$:declare arr$[]:si t$>»
arr$[]=explode(s$,t$):d'autre :setsize arr$[],len($ S)
arr$[]=mid$(s$,1+&index,1):endif:return arr$[]
ENDPROC
Proc PS_Implode$ :parameters arr$[],t$:declare s$,sz&
sz&=sizeof(arr$[]):whileloop 0,sz&-1:s$=si($ S=»,s$,s$+t $)+\
arr$[&Boucle]:endwhile:return s$
ENDPROC
Proc PS_Revert$
si left$(ptype$(1),2)="$[":parameters arr$[]
declare ass$[],sz&:sz&=sizeof(arr$[]):casenot sz&:return arr$[]
setsize ass$[],sz&:dec sz&:ass$[]=arr$[sz&-&index]:return ass$[]
elseif ptype$(1)="$":parameters s$,t$:declare r$,sz&:sz&=len($ S)
:Whileloop sz&:r$=mid$(s$,&Boucle,1)+t $+r$:endwhile:return r$
endif
endproc
proc PS_Arrayprint$
si left$(ptype$(1),2)="$[":parameters a__$[],ra$,sp$,nbr&,t$
declare sz&,ct&:sz&=sizeof(a__$[])
imprimer ra$;
whileloop 0,sz&-1:inc ct&:imprimer a__$[&Boucle];sp$;
si ct&=nbr&:imprimer t$;ra$;:ct&=0:endif
endwhile
d'autre:imprimer " *type?* ";
endif
endproc
|
|
|
| XProfan 11Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 24.05.2021 ▲ |
|
|
|
|
p.specht
| Heinz Brill hat en supplément autrefois folgendes beigesteuert:
Titre de la fenêtre "H.Brill-Implode for XProfan-11.2a free"
'Programme de Heinz Brill, de p.specht pour XProfan 11 portiert
CLS:font 2
Déclarer A$[],B&[],C![],D%[],tmp$[]
A$[] = explode("Hallo,du,là !",»)
tmp$[]=explode("1, 2, 3, 4, 5",»)
setsize B&[],sizeof(tmp$[]):B&[]=val(tmp$[&index])
clear tmp$[]:tmp$[]=explode("1.5, 2.6, 10.7, 15.0, 20.30",»)
setsize C![],sizeof(tmp$[]):c![]=val(tmp$[&index])
clear tmp$[]:tmp$[]=explode("987,654,321",»)
setsize D%[],sizeof(tmp$[]):D%[]=val(tmp$[&index])
clear tmp$[]
imprimer sizeof(A$[]), sizeof(B&[]), sizeof(C![]), sizeof(D%[])
Imprimer "\n Anfang>";Implode(A$[],"|");"<Ende"
Imprimer "\n Anfang>";Implode(B&[],»);"<Ende"
Imprimer "\n Anfang>";Implode(C![]," *** ");"<Ende"
Imprimer "\n Anfang>";IntImplode(D%[],»);"<Ende"
Waitinput
Fin
|
|
|
| Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 28.05.2021 ▲ |
|
|
|
|
H.Brill | ici encore une kürzere Version, qui dans Version 11.2 aussi allez :
Déclarer 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
Imprimer Implode(A$[], "-")
Imprimer Implode(B&[], »)
Imprimer Implode(D$[], »)
Imprimer Implode(C![], »)
WaitKey
PROC Implode
CLEARLIST
Select pType$(1)
CaseOf "$[]"
Paramètres B$[], D$
RETOUR IF(MoveArrToList(B$[]), MoveListToStr$(D$), »)
CaseOf "&[]"
Paramètres B&[], D$
RETOUR Si(MoveArrToList(B&[]), MoveListToStr$(D$), »)
CaseOf "%[]"
Paramètres B%[], D$
Si(MoveArrToList(B%[]), MoveListToStr$(D$), »)
CaseOf "![]"
Paramètres B![], D$
Set("Décimal", 2)
RETOUR Si(MoveArrToList(B![]), MoveListToStr$(D$), »)
EndSelect
ENDPROC
Fin
|
|
|
| Benutze XPROFAN X3 + FREEPROFAN Wir sind die XProfaner. Sie werden von uns assimiliert. Widerstand ist zwecklos! Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.
Was die Borg können, können wir schon lange. | 21.10.2021 ▲ |
|
|
|