Bem Vindo Visitante Lista de Usuários

 Todos os Fórums
  ADVPL

Enviar para a impressoraImprimir   

Subject While no ListBox
Mensagem do Enviar e-mail Abrir o Perfil do usuário GUSTAVOZ GUSTAVOZ em 10/3/2019 as 14:22 hs
Local: SP   Registrada: 3/9/2018  Postagem: 19
Boa tarde,

Estou com dificuldade em colocar um While dentro de um listbox, o programa é básico ele tem que marcar todos os registros e então rodar ele no sistema.
O programa é de importar os CTE para facilidade do funcionário, a parte de fazer a marcação e marcar todos eu já fiz mas o grande problema é : ele marca todos mas ele cai no looping de ficar apenas no primeiro, invés de ler o primeiro passar para o segundo e assim por diante, podem me ajudar por favor?

Obrigado !

Vou colar um pedaço do font pois ele é gigante,basicamente aqui ele abre a janela para o funcionário marcar e dar enter para fazer a importação:

         DEFINE MSDIALOG oDlgDIR TITLE "Arquivos XMLs CT-e" FROM 180,180 TO 465,1000 PIXEL           
       
        @02,02 LISTBOX oListDIR FIELDS HEADER "","CT-e","Serie","Emissao","CNPJ","Fornecedor" PIXEL SIZE 410,120 OF oDlgDIR;                                
        ON dblClick(aImpXml[oListDIR:nAt,1] := !aImpXml[oListDIR:nAt,1], oListDIR:Refresh())
       
        oListDIR:SetArray(aImpXml)                                             
       
        oListDIR:bLine := {|| {Iif(aImpXml[oListDIR:nAt,1],oBOK,oBNO),;               //mark
                                   aImpXml[oListDIR:nAt,2],;                           //Nota
                                   aImpXml[oListDIR:nAt,3],;                           //Serie
                                   aImpXml[oListDIR:nAt,4],;                           //Emissao                                                                                                                       
                         transform(aImpXml[oListDIR:nAt,5],PesqPict("SA2","A2_CGC")),; //CNPJ
                                   aImpXml[oListDIR:nAt,6]}}                           //Fornecedor
                                   
        @ (127),(315) Button "Selecionar" Size (045),(012) PIXEL OF oDlgDIR ACTION (nOk := 1, oDlgDIR:END())                                                                             
        @ (127),(365) Button "Cancela"    Size (045),(012) PIXEL OF oDlgDIR ACTION (oDlgDIR:END())
        @ (127),(005) CheckBox oCheckBox Var nOk Size 130,9 PIXEL OF oDlgDIR Prompt "Marcar/Desmarcar Todos" On Change ( AEval(aImpXml,{|x| x[1] := !x[1], oListDIR:Refresh() } ) ) Pixel                   
       
        ACTIVATE DIALOG oDlgDIR CENTERED
       
        If nOk == 1   
          For nW := 1 To Len(aImpXml)                            
           
           If aImpXml[nW][1]       
            nMark += 1
            oNotaxml := xmlparserfile(aImpXml[nW][7], "", @cError, @cWarning)
            cCopy := aImpXml[nW][7]                                                           
           EndIf   
          
          Next
        Else
                  
          return() //cancela      

Para participar do Fórum você precisa efetuar login primeiro
Caso você não esteja registrado registre-se para participar do fórum

 Mudar para Fórum