Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
Substring
|
Substring ( fonte ; aPartirDe {; numCars} ) -> Resultado | ||||||||
Parâmetro | Tipo | Descrição | ||||||
fonte | String |
![]() |
Cadeia da qual se tira a substring | |||||
aPartirDe | Inteiro longo |
![]() |
Posição do primeiro caractere | |||||
numCars | Inteiro longo |
![]() |
Número de caracteres a pegar | |||||
Resultado | String |
![]() |
Substring de fonte | |||||
O comando Substring devolve a parte de fonte definida por aPartirDe e numCars.
O parâmetro aPartirDe indica o primeiro caractere da cadeia a devolver, e numCars define o número de caracteres a devolver.
Se aPartirDe mais numCars é maior que o número de caracteres na cadeia ou se numCars não estiver especificado, Substring devolve todos os caracteres da cadeia a partir do caractere especificado por aPartirDe. Se aPartirDe for superior ao número de caracteres na cadeia, Substring devolve uma cadeia vazia ("").
Atenção: quando se utiliza este comando em um contexto multi-estilo, deve converter os eventuais caracteres de fim de linha Windows ('\r\n') em caracteres de fim de linha simples ('\r') para que o processamento seja válido. Isto se deve ao mecanismo que normaliza os finais de linha 4D para ter certeza a compatibilidade multi-plataforma para os textos. Para obter mais informação, consulte Normalização automática de fins de linhas.
Este exemplo ilustra a utilização de Substring. Os resultados são atribuídos à variável vsResult.
vsResult:=Substring("08/04/62";4;2) ` vsResult toma o valor "04"
vsResult:=Substring("Emergencia";1;6) ` vsResult toma o valor "Emerge"
vsResult:=Substring(var;2) ` vsResult toma o valor de todos os caracteres exceto o primeiro
O seguinte método de projeto adiciona os parágrafos que são encontrados no texto (passado como primeiro parâmetro) a uma array de tipo texto ou alfa (cujo ponteiro é passado como segundo parâmetro):
` EXTRACT PARAGRAPHS
` EXTRACT PARAGRAPHS ( texto ; Ponteiro )
` EXTRACT PARAGRAPHS ( Texto a analisar ; -> Array de parágrafos )
C_TEXT($1)
C_POINTER($2)
$vlElem:=Size of array($2->)
Repeat
$vlElem:=$vlElem+1
INSERT IN ARRAY($2->;$vlElem)
$vlPos:=Position(Char(Carriage return);$1)
If($vlPos>0)
$2->{$vlElem}:=Substring($1;1;$vlPos-1)
$1:=Substring($1;$vlPos+1)
Else
$2->{$vlElem}:=$1
End if
Until($1="")
Produto: 4D
Tema: String
Número
12
Criado por: < 4D v6
Manual de linguagem 4D ( 4D v20 R7)