4D v16.3ST Get expression |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
ST Get expression
|
ST Get expression ( {* ;} objeto {; inicioSel {; fimSel}} ) -> Resultado | ||||||||
Parâmetro | Tipo | Descrição | ||||||
* | Operador |
![]() |
Se especificado, objeto é um nome de objeto (cadeia) Se omitido, objeto é um campo ou uma variável | |||||
objeto | Objeto de formulário |
![]() |
Nome de objeto (se * for especificado) ou Campo ou variável (se * for omitido) |
|||||
inicioSel | Inteiro longo |
![]() |
Inicio da seleção | |||||
fimSel | Inteiro longo |
![]() |
Fim da seleção | |||||
Resultado | Texto |
![]() |
Etiqueta da expressão | |||||
O comando ST Get expression devolve a primeira expressão que se encontra na seleção atual do campo ou da variável de texto com estilo designada pelo parâmetro objeto.
O comando devolve a etiqueta da expressão, como foi inserida no objeto (por exemplo, "mymethod" ou "[tabela1]campo1"). Não se devolve o valor atual da expressão.
Se passar o parâmetro opcional * indica que o parâmetro objeto é um nome de objeto (cadeia). Durante a execução, se o objeto tem o foco, o comando devolve a informação do objeto que se está editando, e se o objeto não tem o foco, o comando devolve a informação da fonte de dados do objeto (variável ou campo).
Se omitir o parâmetro *, indica que o parâmetro objeto é um campo ou uma variável. Neste caso, se passar uma referência de campo ou variável no lugar de uma cadeia. Durante a execução, o comando devolve a informação da variável ou do campo.
Os parâmetros opcionais inicioSel e fimSel designam uma seleção de texto em objeto. Os valores inicioSel e fimSel expressam uma seleção de texto plano, sem ter em conta etiquetas de estilo que podem estar presentes no texto.
4D oferece constantes pré definidas para que possa designar automaticamente os limites de seleção nos parâmetros inicioSel e fimSel. Estas constantes se encontram no tema "Texto multi estilo":
Constante | Tipo | Valor | Comentário |
ST End highlight | Inteiro longo | -1001 | Designa o último caractere da seleção atual de texto no objeto (*) |
ST End text | Inteiro longo | 0 | Designa o último caractere do texto contido no objeto |
ST Start highlight | Inteiro longo | -1000 | Designa o primeiro caractere da seleção atual de texto no objeto (*) |
ST Start text | Inteiro longo | 1 | Designa o primeiro caractere do texto contido no objeto |
(*) Deve passar um nome de objeto em objeto para poder utilizar esta constante. Se passar uma referência a um campo ou variável, o comando se aplica a todo o texto do objeto.
Nota: Se inicioSel é maior que fimSel (exceto quando fimSel é 0) , o comando não faz nada e a variável OK toma o valor 0.
Quando há um evento clique duplo, você comprova que existe uma expressão, e assim é mostrado um diálogo no qual recuperaram seus valores para que o usuário possa modificar eles:
Case of
:(Form event=On Double Clicked)
GET HIGHLIGHT(*;"StyledText_t";startSel;endSel)
If(ST Get content type(*;"StyledText_t";startSel;endSel)=ST Expression type)
vExpression:=ST Get expression(*;"StyledText_t";startSel;endSel)
$winRef:=Open form window("Dial_InsertExpr";Movable form dialog box;Horizontally centered;Vertically centered;*)
DIALOG("Dial_InsertExpr")
If(OK=1)
ST INSERT EXPRESSION(*;"StyledText_t";vExpression;startSel;endSel)
HIGHLIGHT TEXT(*;"StyledText_t";startSel;endSel)
End if
End if
End case
Você quer executar um método 4D quando é feito clique em um link de um usuário:
Case of
:(Form event=On Clicked)
//recuperamos a seleção
HIGHLIGHT TEXT(*;"myText";startSel;endSel)
If(startSel#endSel) //há conteúdo selecionado
//obtemos o tipo do conteúdo
$CT_type:=ST Get content type(*;"myText";startSel;endSel)
If($CT_type=ST User type) //this is a user link
MyMethod //executamos um método 4D
End if
End if
End case
Produto: 4D
Tema: Texto multi estilo
Número
1287
Criado por: 4D v14
Manual de linguagem 4D ( 4D v16)
Manual de linguagem 4D ( 4D v16.1)
Manual de linguagem 4D ( 4D v16.2)
Manual de linguagem 4D ( 4D v16.3)