Jump to content
Fivewin Brasil

Ajuda com Array


Luiz Fernando

Recommended Posts

Colegas ve se alguém pode me ajudar no código abaixo...

for i=1 to len(aPlano7)
    if aPlano7[i,9]<>0
       if aPlano7[i,7]<>aPlano7[i,9]
          if aPlano7[i,1]='010000014'
             ? 'não passa por aqui'  
          endif
          DelMatriz(aPlano7,i)  // agora se eu ignorar esta linha ira passar no registro acima normal
       endif
    endif
next
a função delmatriz acho que peguei aqui no fórum mesmo
function DelMatriz(Vetor,Item)  
  Adel(Vetor,Item)  
  aSize(Vetor,Len(Vetor)-1)
return(.t.)
Obrigado

Luiz Fernando

Link to comment
Share on other sites

Bom dia Luiz.
Eu não costumo alterar o tamanho da array que estou rodando uma estrutura de repetição. Faça o teste, coloque array temporária para receber os valores, depois substitua ela logo após o FOR.

Outra coisa interessante: Se você usa xHarbour, a função DelMatriz pode ser substituída pelo código abaixo:

aDel(Vetor,Item,.T.)
 

O terceiro parametro serve para diminuir o tamanho da array, e faz exatamente o que o ASIZE faz logo após o aDel.

[]'s

Ana

Link to comment
Share on other sites

Olá, bom dia

você tem que diminuir 1 do contador do FOR quando redimensiona o array para um tamanho menor

e pode utilizar o Adel conforme a Ana falou, não precisa fazer aSize

for i=1 to len(aPlano7)
if aPlano7[i,9]<>0
if aPlano7[i,7]<>aPlano7[i,9]
if aPlano7[i,1]='010000014'
endif
DelMatriz(aPlano7,i)
i:=i-1 // aqui diminui um do contador
endif
endif
next

Abraço

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...