Lista de valores

Delphi

24/02/2005

Queria ter uma variavel com um lista de valores.

ex.:

lista:= [´CLIENTE´,´VENDEDOR´,´FUNCIONARIO´,´FORNCEDOR´];

Todos os valores seriam do tipo string.

Para que depois eu faça

[codeif tabela.tipo.asstring in lista then
begin
....


Sistemald

Sistemald

Curtidas 0

Respostas

Massuda

Massuda

24/02/2005

Você poderia usar um TStringList para isso.

Adicione as strings usando o método Add.

Para saber se uma determinada string está na lista, use o método IndexOf.

Se sua lista puder ser ordenada alfabeticamente (você não precisa preservar a ordem de inserção, por exemplo), faça a propriedade Sorted = True antes de incluir as strings. Isso diminuirá o tempo gasto pelo método IndexOf.


GOSTEI 0
Marcelo Saviski

Marcelo Saviski

24/02/2005

Bem assim, bem assim como vc quer não dá (com conjuntos)

poderia usar uma StringList

var
StringList: TStringList;


No OnCreate
  StringList := TStringList.Create;



No OnDestroy
  Stringlist.Free;


Adicionana os clientes

  Stringlist.Add(´CLIENTE´);
Stringlist.Add(´VENDEDOR´);
Stringlist.Add(´FUNCIONARIO´);
Stringlist.Add(´FORNCEDOR´);


e o [i:da47427b09][color=green:da47427b09]tabela.tipo.asstring in lista [/color:da47427b09][/i:da47427b09] ficaria como:
if StringList.IndexOf(Tabela.Tipo.AsString) <> -1 then
begin
...


se os tipos não fossem strings, fossem numeros poderia usar conjuntos


GOSTEI 0
Sistemald

Sistemald

24/02/2005

valeu galera, este recurso ja conhecia, mas se podesse trabalhor como se fosse números seria mais facil.

Valeu pela atenção, vou usar Stringlist.


GOSTEI 0
Sistemald

Sistemald

24/02/2005

valeu galera, este recurso ja conhecia, mas se podesse trabalhor como se fosse números seria mais facil.

Valeu pela atenção, vou usar Stringlist.


GOSTEI 0
Salsa

Salsa

24/02/2005

como assim trabalhar com numeros? vc tah dizendo a posiçao? ueh ... qndo vc vai inserindo vc pode pegar a posiçao dela na lista ou sei la...
ou colocar ex ... Add(1#teste);

e depois usar copy pra pegar oq vc quer.... :P

falowz :P


GOSTEI 0
Salsa

Salsa

24/02/2005

como assim trabalhar com numeros? vc tah dizendo a posiçao? ueh ... qndo vc vai inserindo vc pode pegar a posiçao dela na lista ou sei la...
ou colocar ex ... Add(1#teste);

e depois usar copy pra pegar oq vc quer.... :P

falowz :P


GOSTEI 0
Andremuller

Andremuller

24/02/2005

você poderia ser um pouco mais específico na sua necessidade?


GOSTEI 0
POSTAR