24 lines
569 B
Plaintext
24 lines
569 B
Plaintext
Procedure.s CommonPath(Array InPaths.s(1),separator.s="/")
|
|
Protected SOut$=""
|
|
Protected i, j, toggle
|
|
|
|
If ArraySize(InPaths())=0
|
|
ProcedureReturn InPaths(0) ; Special case, only one path
|
|
EndIf
|
|
|
|
Repeat
|
|
i+1
|
|
toggle=#False
|
|
For j=1 To ArraySize(InPaths())
|
|
If (StringField(InPaths(j-1),i,separator)=StringField(InPaths(j),i,separator))
|
|
If Not toggle
|
|
SOut$+StringField(InPaths(j-1),i,separator)+separator
|
|
toggle=#True
|
|
EndIf
|
|
Else
|
|
ProcedureReturn SOut$
|
|
EndIf
|
|
Next
|
|
ForEver
|
|
EndProcedure
|