Como adicionar um valor a matriz sem anular o outro?

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

rangelssilva
Usuário Nível 1
Usuário Nível 1
Mensagens: 48
Registrado em: 27 Jul 2007 15:24
Localização: São Paulo - SP

Como adicionar um valor a matriz sem anular o outro?

Mensagem por rangelssilva »

Caros programadores.


Tive uma dúvida ao construir uma função que pega os nomes dos campos de um DBF junto com o valor e jogar dentro de uma matriz.

no começo da função declarei assim.

Mat_campo:={}

Depois adicioneis os nomes dos campos da seguinte maneira:

// Adiciona os nomes dos campos na matriz
// coluna 1
for x=1 to Qtd_campos

Nome_campo=FieldName(x)
aadd(Mat_campo,{Nome_campo,})
Next x

Veja que só a primeira coluna foi preenchida com o nome dos campos do DBF de acordo com um criterio que estabeleci.

Em seguida preciso adicionar o valor de cada uma na posição correta. Como faço isso desde o primeiro elemento.

pois se eu fizer da maneira abaixo o que eu ja tinha colocado na matriz se torna nulo. O que preciso é: pegar da primeira linha até a ultima e mexer somento na coluna 2 de todos os elementos, no caso pegar o valor do campo e adicioná-lo. Assim terei uma matriz com o nome do campo e seu valor. Usarei essa função para mostrar diversos campos posteriormente, sem ter que ficar fazendo relacionamentos a toda hora, abrindo e fechando dbfs, areas de trabalho, etc.

É possível fazer o que eu estou pensando???

// Adiciona o valor dos campos na matriz
// coluna 2
for x=1 to Qtd_campos

Val_campo=&DBF2->(Fieldget(x))
afill(Mat_campo,{,Val_campo},1,Qtd_campos)

Next x


O que devo fazer?????
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Re: Como adicionar um valor a matriz sem anular o outro?

Mensagem por Toledo »

Rangel, tente fazer o seguinte:

Código: Selecionar todos

for x=1 to Qtd_campos
  Val_campo=&DBF2->(Fieldget(x))
  Mat_campo[x,2]:=Val_campo
Next x
Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
rangelssilva
Usuário Nível 1
Usuário Nível 1
Mensagens: 48
Registrado em: 27 Jul 2007 15:24
Localização: São Paulo - SP

Re: Como adicionar um valor a matriz sem anular o outro?

Mensagem por rangelssilva »

Valeu Cara.....


REalmente vc me ajudou.... Fiquei quebrando a cabeça e nada... TInha feito algo parecido mas nao tinha utilizado (:=). Entendi que isso é uma forma de declarar o vetor novamente e assim consigo colocar os valores somente onde eu quero desde o começo do mesmo....



Obrigado pela ajuda Toledo.....

Um grande abraço...
Responder