Dúvida no loop

07/04/2006

0

olá amigos...

Estou com a seguinte dúvida... tenho um loop onde o qual a minha lista codigos ja inicializa direto com todos os objetos.

este e o código
lista e um array of integer so que na minha inicialização a lista ja fica toda preenchida!


for i:= 0 to DMDados.ADOQryTeste.RecordCount do
begin
lista[i] := DMDados.ADOQryTeste.FieldByName(´CD_MATRICULA´).Value;
end;


Alexespina

Alexespina

Responder

Posts

07/04/2006

Edilcimar

mas se vc manda fazer ao iniciar é lógico que a matriz seja preenchida


Responder

07/04/2006

Alexespina

mas eu gostaria que ela leia um a um e armazenado na minha variável.... vc sabe como eu faço?


Responder

07/04/2006

Edilcimar

use a matriz, mas não coloque para executar ao iniciar e sim no comando de um botão por exemplo, aí então vc executa o procedimento que quiser


Responder

07/04/2006

Alexespina

dai todo o código

mas apenas eu quero que o [i] receba um a um mas naum ta dando certo...

por favor algume poderia me dizer aonde ta este erro?



with DMDados.ADOQryTeste do
begin
close;
Parameters.ParamByName(´CD_TURMA´).Value := DBLkpCmbBxTurma.KeyValue;
Parameters.ParamByName(´CD_TURNO´).Value := DBLkpCmbBxTurno.KeyValue;
Parameters.ParamByName(´CD_SEDE´).Value := DBLkpCmbBxSede.KeyValue;
open;
end;
---------------- aki em baixo e que o bicho pega--------------------------
eu so quero receber um a um registro e armazenando na minha variável i

for i:= 0 to DMDados.ADOQryTeste.RecordCount do
begin
lista[i] := DMDados.ADOQryTeste.FieldByName(´CD_MATRICULA´).Value;
end;


Responder

07/04/2006

Edilcimar

for i:= 0 to DMDados.ADOQryTeste.RecordCount do
begin
lista[i] := DMDados.ADOQryTeste.FieldByName(´CD_MATRICULA´).Value;
end;
1) está faltando dimensionar o array -> setlength(Lista,AdoQryTeste.RecordCount)
2) em vez do for faça o loop dentro da query, while not eof para ir dando valores a lista[i] e vá incrementando o i


Responder

07/04/2006

Alexespina

Não deu certo ....

será que vc poderia me dar uma dica como eu poderia fazer este implementação usando o FOR.

Desdede já obg pela sua atenção


Responder

07/04/2006

Eniorm

DMDados.ADOQryTeste.Open;
i := 0;
while not DMDados.ADOQryTeste.Eof do begin
  lista[i] := DMDados.ADOQryTeste.FieldByName(´CD_MATRICULA´).Value;
  Inc(i);
  DMDados.ADOQryTeste.Next;
end;



Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar