Saltar para o conteúdo principal
Versão: 20 R7 BETA

OBJECT SET LIST BY NAME

OBJECT SET LIST BY NAME ( {* ;} objeto {; tipoLista}; lista )

ParâmetroTipoDescrição
*Operadorse especificado, objeto é um nome de objeto (string), se omitido, objeto é um campo ou uma variável
objetoanyNome de objeto (se* é especificado) ou Campo ou Variável (se * é omitido)
tipoListaIntegerTipo de lista: lista de seleção, lista de obrigatórios ou lista de excluídos
listaTextNome da lista a ser usada como Lista de Escolha (definida no ambiente Desenho)

Esse comando não é seguro para thread e não pode ser usado em código adequado.

Descrição

O comando OBJECT SET LIST BY NAME define ou substitui a lista associada ao objeto o grupo de objetos designado por objeto A lista cujo nome é passado no parâmetro lista deve ter sido criada no editor de listas, em modo Desenho*.*

Este comando pode ser aplicado a um formulário de entrada ou diálogo, a campos e variáveis editáveis cujos valores podem ser introduzidos como texto.

Se passa o parâmetro opcional *, indica que o parâmetro objeto é um nome de objeto (uma cadeia). Se for omitido o parâmetro *, indica que o parâmetro objeto é um campo ou uma variável. Neste caso, você especifica uma referência de um campo ou de uma variável (campo ou variável de tipo objeto unicamente) ao invés de uma cadeia.

Nota: Este comando não pode ser utilizado com campos localizados em um formulário listado de um subformulário.

O comando OBJECT SET LIST BY NAME lhe permite definir ou substituir todos os tipos de listas associadas aos objetos designados pelos parâmetros objeto e *: listas de seleção, lista de valores obrigatórios e listas de valores excluídos. Para isso, no parâmetro tipoLista passe uma das seguintes constantes, que se encontra no tema "Propriedades dos objetos ":

ConstanteTipoValorComentário
Choice listInteiro longo0Lista simples de seleção de valores (opção "Lista" na Lista de Propriedades) (por padrão)
Excluded listInteiro longo2Lista de valores não aceitos para a entrada (Opção "Exclusões" na lista de propriedades)
Required listInteiro longo1Lista só os valores aceitos para a entrada (Opção "Obrigatória" na Lista de Propriedades)

Se omite este parâmetro, o valor 0 (lista de seleção) se utiliza por padrão.

No processo atual, para desvincular uma lista que se associou ao objeto, passe uma cadeia vazia ("") no parâmetro lista para o tipo de lista concernente.

Lista de valores existentes são substituidas dependendo de como a lista é associada ao objeto formulário:

  • usar uma lista de escolha: a lista mesma é substituida.
  • usar um array: a lista é copiada em elementos array.
  • usar um objeto (não compatível com bancos de dados binários): a lista é copiada como elementos coleção na propriedade valores do objeto.

Exemplo 1

O exemplo a seguir define uma lista associada a um campo Envio. Se o envio deve ser realizado na noite, então a lista mostra as empresas que realizam envios na noite. Caso contrário, são atribuídas as empresas de envios comum:

 If([Envios]Overnight)
    
OBJECT SET LIST BY NAME([Envios]Empresa;"Envios de noite")
 Else
    OBJECT SET LIST BY NAME([Envios]Empresa;"Envios comum")
 End if


Exemplo 2

Associa a lista "color_choice" como uma lista deslocável simples chamada "DoorColor":

 OBJECT SET LIST BY NAME(*;"DoorColor";Choice list;"color_choice")
  // neste caso, o terceiro parâmetro (constante) pode ser omitido

Exemplo 3

Você deseja associar a lista "color_choice" ao combo box "WallColor". Como este combo box é editável, você deseja que não seja possível usar certas cores como o "preto", "morado", etc. Estas cores se colocam na lista "excl_colors":

 OBJECT SET LIST BY NAME(*;"WallColor";Choice list;"color_choice")
 OBJECT SET LIST BY NAME(*;"WallColor";Excluded list;"excl_colors")

Exemplo 4

Você quer eliminar a lista de associações:

  // eliminação de uma lista de seleção
 OBJECT SET LIST BY NAME(*;"DoorColor";Choice list;"")
  // eliminação de uma lista de valores que não são permitidos
 OBJECT SET LIST BY NAME(*;"WallColor";Excluded list;"")

Ver também

OBJECT Get list name
OBJECT SET LIST BY REFERENCE