Uma maneira simples de quebrar expressões muito grandes para facilitar a leitura do código é utilizando uma variável para capturar uma subexpressão.

 

Exemplo:

 

Function EntreTags(cTexto, cTagIni, cTagFim)

 

Local cStrRet := ''                // Texto que sera extraido e retornado

Local nPosIni := At(cTagIni, cTexto)// Posição inicial da tag

Local nPosFim := At(cTagFim, cTexto)// Posição final da tag

 

cStrRet := Substr(cTexto, (nPosIni + Len(cTagIni)),;

 (nPosFim-nPosIni-Len(cTagIni)) )

 

Return cStrRet

 

Ao invés de utilizar At(cTagIni,cTexto) a cada momento que for necessário, substitui-se por nPosIni, que além de evitar repetição de código, ajuda a saber de forma mais clara que o seu conteúdo possui a posição inicial (que no caso do exemplo, é a posição inicial da tag a ser procurada).

 

 

Esta mesma técnica pode ser empregada mesmo em expressões mais simples para evitar repetições de código.

  • Sem rótulos