vc tem que usar a função VarArrayHighBound para saber o tamanho do array de
variant.

var
  vArray: Variant;
  i: Integer;
begin
  vArray := VarArrayCreate([0,2], varVariant);
  vArray[0] := 'um';
  vArray[1] := 'dois';
  vArray[2] := 'tres';

  for i := 0 to VarArrayHighBound(vArray, 1) do
  begin
    ShowMessage(vArray[i]);
  end;

Em 18 de junho de 2010 16:34, Dirlei <dir...@gmail.com> escreveu:

>
>
> Você precisa atribuir o conteúdo do Variant a uma variável do tipo Array
> antes de poder obter seu Length e antes de poder percorrê-lo. Mas
> lembre-se de que será feita uma cópia do array. Então, se o tamanho do
> array for grande e você tiver que se preocupar com consumo de memória
> e/ou performance, talvez queira usar ponteiros para essa operação.
>
> --
> Dirlei Dionísio
>
> Novo artigo: O estágio "House" do bom programador
> http://MaisQueBomCodigo.blogspot.com
>
> Em Sex, 2010-06-18 às 15:58 -0300, Jhosef Marks escreveu:
>
> >
> > Boa tarde,
> >
> > Eu tenho um variant que as vezes recebe uma STRING e outras um array
> > of
> > string;
> >
> > verifico o tipo dele da seguinte forma varisstr ou varisarray...
> >
> > o problema é quando ele é varisarray, eu não to conseguindo passar
> > pelas
> > strings dentro desse variant...
> >
> > tentei com lenght, count, high() e nenhum desses funcionou... alguma
> > sugestão????
> >
> > for vConte := 0 to Length(FCampos) - 1 do begin
> > vValores := vValores + ';' + FCampos[vConte];
> > end;
> >
> > Att,
> >
> > Jhosef Marks de Carvalho
> > Blog: http://www.jhosefmarks.com.br
> > Jesus está voltando
> >
> > "E se o meu povo, que se chama pelo meu nome, se humilhar, e orar, e
> > buscar
> > a minha face e se converter dos seus maus caminhos, então eu ouvirei
> > dos
> > céus, e perdoarei os seus pecados, e sararei a sua terra." (2 Cr 7:14)
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
> >
> >
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]



------------------------------------

-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    delphi-br-ow...@yahoogrupos.com.br
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    delphi-br-unsubscr...@yahoogrupos.com.br

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html


Responder a