PROCEDURE GF_GenExtraerDatoEntreCaracteres(sCadena, nCaracter = CarGuiones)
nInicial is int
nFinal is int
SWITCH nCaracter
CASE CarGuiones:
nInicial = Position(sCadena, "-", 1, FromBeginning)
nFinal = Position(sCadena, "-", Length(sCadena), FromEnd)
CASE CarParentesis:
nInicial = Position(sCadena, "(", 1, FromBeginning)
nFinal = Position(sCadena, ")", Length(sCadena), FromEnd)
CASE CarCorchetes:
nInicial = Position(sCadena, "[", 1, FromBeginning)
nFinal = Position(sCadena, "]", Length(sCadena), FromEnd)
CASE CarLlaves:
nInicial = Position(sCadena, "{", 1, FromBeginning)
nFinal = Position(sCadena, "}", Length(sCadena), FromEnd)
END
IF nInicial = 0 _OR_ nFinal = 0 THEN RESULT ""
nInicial++
nFinal--
RESULT NoSpace(Middle(sCadena, nInicial, nFinal - nInicial + 1))
Ahora, si lo que necesitas es lo que expones:
Si el array es tipo Structure, te debería servir igual...