Dúvida no loop
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;
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
Curtidas 0
Respostas
Edilcimar
07/04/2006
mas se vc manda fazer ao iniciar é lógico que a matriz seja preenchida
GOSTEI 0
Alexespina
07/04/2006
mas eu gostaria que ela leia um a um e armazenado na minha variável.... vc sabe como eu faço?
GOSTEI 0
Edilcimar
07/04/2006
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
GOSTEI 0
Alexespina
07/04/2006
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;
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;
GOSTEI 0
Edilcimar
07/04/2006
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
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
GOSTEI 0
Alexespina
07/04/2006
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
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
GOSTEI 0
Eniorm
07/04/2006
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;
GOSTEI 0