como criar arrays dinamicas?

07/02/2006

0

seguinte... tenho duas arrays que declaro no meu codigo...

    cor: array[1..3] of string = (´colour´, ´pb´, ´black and white´);

    corvalor: array[1..3] of string = (´1´, ´2´, ´2´);


quero substituir isso por dados vindo do banco de dados .. ex...


quero criar a array ... cor usando dados do banco de dados.....
se tiver ex 5 registros no banco .. queria q ele montasse pra mim...

 cor: array[1..5] of string = (´registro1´, ´registro2´, ´registro3´, ´registro4´, ´registro5´);



alguem sabe como faço isso?


valeuz :p


Salsa

Salsa

Responder

Posts

07/02/2006

Massuda

Você tem que escrever o código que carrega os valores do BD no array. O compilador não fará isso para você. Dê mais detalhes: qual BD, componentes de acesso ao BD, etc.


Responder

07/02/2006

Saint

Opa..

um simples exemplo de como usar o array dinamico:

var NomesCliente: array of string;
iContador:integer;
begin
iContador:=0;
with qryClientes do
begin
// aqui atribui o tamanho da matriz com a quantidade de registros da sua query
Setlengh(NomesCliente,RecordCount);
while not eof do
begin
NomesCliente[iContador]:=FieldbyName(´nm_cliente´).asstring;
inc(iContador);
Next;
end;
end;


end;

Nesse caso eu atribui o tamanho da matriz utilizando o recordcount da query usando o setlength(matriz,quantidade) e depois varri a query atribuindo o valor de algum campo qualquer a uma posicao no array..


Responder

13/03/2006

Khundalini

Eu faria esse código diferente. Sabendo que a propriedade RecordCount nem sempre retorna o que se espera, eu reformularia esse código para o seguinte:

var
NomesCliente: array of string;
begin
with qryClientes do
begin
First;
while not Eof do
begin
SetLength(NomesCliente, Length(NomesCliente) + 1);
NomesCliente[Length(NomesCliente) - 1] :=
FieldByName(´nm_cliente´).AsString;
Next;
end;
end;
end;


Sds,

Rubem Rocha
Manaus, AM


Responder

13/03/2006

Aroldo Zanela

Colega,

Não sei qual é a idéia, mas acho que o uso de CDS ou até mesmo de TStringList podem ser mais indicados para manipulação de dados.


Responder

13/03/2006

Khundalini

Aroldo,

Sua sugestão é realmente bem melhor, principalmente se for necessário montar uma tabela de lookup.

Sds,

Rubem Rocha
Manaus, AM


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar