Vetores

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Avatar do usuário
Anderson J. Freitas
Usuário Nível 1
Usuário Nível 1
Mensagens: 46
Registrado em: 19 Fev 2005 10:34
Localização: Caratinga-MG

Vetores

Mensagem por Anderson J. Freitas »

Como faço para index vetores, sendo que o índice terá dois campos.

Parte da função :

soperacao:= {}
select item
goto top
do while !eof()
qcodigo = codigo
mquant:= mcmv:= mcustot:= 0
for wvez = 1 to wnumelem
select (wvetorsel[wvez])
set softseek on
seek qcodigo
set softseek off
do while codigo = qcodigo .and. !eof()
if (if(wqualdata=1,data,saida) >= mdata .and. if(wqualda
tmpcmv:= quant*tmpcmedio
custot:= quant*tmpucusto
aind:= ascan(soperacao,operacao)
if aind = 0
aadd(soperacao,operacao)
aadd(sresultado,operacao+strzero(tmpcmv,12,2)+strzero(custot,12,2))
else
aux:= strzero(val(substr(sresultado[aind],mtamop+1,12))+tmpcmv,12,2)
aux2:= strzero(val(substr(sresultado[aind],mtamop+13,12))+custot,12,2)
sresultado[aind]:= left(sresultado[aind],mtamop)+aux+aux2
endif
endif
skip
enddo
next
select item
skip
enddo

Aqui começa a impressão, que estou querendo exibir por ordem das variáves "tmpcmv+operacao"

for i:= 1 to len(soperacao)
if i = 1
@ plin, 0 say padc("*** Resumo por Codigo de Operacao ***",132)
plin:= plin+2
endif
@ plin, 1 say left(sresultado,mtamop)
@ plin,20 say val(substr(sresultado,mtamop+1,12)) picture "@E 999,999,999.99"
@ plin,40 say val(substr(sresultado,mtamop+13,12)) picture "@E 999,999,999.99"
plin++
next
Pitbull

Clipper 5.2e, Exospace, Six2, DBMax
MARINI
Usuário Nível 3
Usuário Nível 3
Mensagens: 288
Registrado em: 06 Jul 2004 08:06
Localização: Pindamonhangaba SP

Mensagem por MARINI »

Para indexar vetores use o ASORT.


http://www.clipx.net/ng/53guide/ngec5c.php
Sds
Marini
Responder