INSERT IN LIST
INSERT IN LIST ( {* ;} lista ; antesElem | * ; textoElem ; refElem {; sublista ; expandida} )
Parâmetro | Tipo | Descrição | |
---|---|---|---|
* | Operador | → | Se especificada, lista é um nome de objeto (cadeia) Se omitida, lista é um número de referência de lista |
lista | Integer, Text | → | Número de referência de lista (se omitida *) ou Nome do objeto de tipo lista (se passada *) |
antesElem | * | Inteiro longo, Operador | → | Número de referencia do elemento, ou 0 para o último elemento adicionado à lista ou * para o elemento da lista atualmente selecionada |
textoElem | Text | → | Texto para o novo elemento (max. 255 caracteres) |
refElem | Integer | → | Número de referencia único do novo elemento |
sublista | Integer | → | Sub-lista opcional para associar ao novo elemento |
expandida | Boolean | → | Indica se a sub-lista será expandida ou contraída |
Esse comando não é seguro para thread e não pode ser usado em código adequado.
Descrição
O comandoINSERT IN LIST insere o elemento designado pelo parâmetro refElem na lista cujo número de referência é passado em lista.
Se passa o primeiro parâmetro opcional *, indica que el parâmetro lista é um nome de objeto (cadeia) correspondente a uma representação da lista no formulário. Se não passa este parâmetro, indica que o parâmetro lista é uma referência de lista hierárquica (RefLista). Se utilizar uma só representação de lista ou trabalha com os elementos estruturais (o segundo * é omitido), pode utilizar indiferentemente uma ou outra sintaxe. Pelo contrário, se utilizar várias representações da mesma lista e trabalha com o elemento atual (se passa o segundo *), a sintaxe baseada no nome do objeto é necessária já que cada representação tem seu próprio elemento atual.
O parâmetro antesElem pode ser utilizada para designar o elemento antes do qual você queira inserir o novo elemento:
- Pode passar o valor 0 com o objetivo de designar o último elemento adicionado à lista. O novo elemento inserido será convertido então no elemento selecionado.
- Pode passar * para que o novo elemento seja inserido antes do elemento selecionado atualmente na lista. Neste caso, o novo elemento inserido é convertido no elemento selecionado.
- Por outra parte, se deseja inserir um elemento antes de um item específico, passe o número de referência desse elemento. Neste caso, o novo elemento inserido não é selecionado automaticamente. Se não houver um elemento com o número de referência correspondente, o comando não faz nada.
Pode passar o texto do novo item em itemText. A partir de 4D v16 R4, se o item for associado com uma ação padrão, pode passar a constante ak standard action title em itemText para automaticamente usar o nome da ação localizada. Para saber mais veja a seção Ações padrões .
Pode passar o item de número de referência do novo item em itemRef. Apesar de que se qualifica esse número de referência de item como único, na verdade é possível passar o valor que quiser. Veja a seção Gerenciar Listas Hierárquicas para saber mais sobre o parâmetro itemRef.
Se deseja que o elemento inclua sub elementos, passe um número de referência de lista válido no parâmetro sublista. Neste caso, também deve passar o parâmetro expandida. Passe True ou False neste parâmetro de maneira que esta sub-lista é mostrada expandida ou contraída respectivamente.
Exemplo
O código a seguir insere um elemento (sem sub-lista associada) justo antes do elemento selecionado atualmente n lista hList:
vlUniqueRef:=vlUniqueRef+1
INSERT IN LIST(hList;*;"Novo elemento";vlUniqueRef)