Luiz Fernando Posted August 7, 2013 Report Share Posted August 7, 2013 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.) ObrigadoLuiz Fernando Quote Link to comment Share on other sites More sharing options...
AnaCatacombs Posted August 7, 2013 Report Share Posted August 7, 2013 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 MatheusFarias and Luisão 2 Quote Link to comment Share on other sites More sharing options...
Yury Posted August 7, 2013 Report Share Posted August 7, 2013 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 endifnext Abraço Luisão 1 Quote Link to comment Share on other sites More sharing options...
Erciley Junior Posted August 7, 2013 Report Share Posted August 7, 2013 Bom, só coletando as respostas do Yury e da Ana, você pode alterar seu código sem nem pensar por: 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 ADEL(aPlano7,i,.T.) i-- endif endif next Luisão 1 Quote Link to comment Share on other sites More sharing options...
Luiz Fernando Posted August 7, 2013 Author Report Share Posted August 7, 2013 Vlw pessoal obrigado pelas dicas, deu certinho... Abraços Luiz Fernando Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.