edutraini Posted January 13, 2017 Report Share Posted January 13, 2017 Pessoal gostaria de uma dica de vcs Em um modulo do meu sistema de vendas (Pedido de Vendas Inclusao,Alteracao,Cancelamento e Impressao ) eu carrego todo banco de Dados de Pedido em um listbox . Tenho percebido que na hora de carregar algumas maquinas estao demorando para abrir Alguem poderia me dar uma dica para deixar mais rapido pois eu carrego todo banco de dados de Pedido e na verdade nao precisaria abrir tudo pois pedidos antigos nao serao mais alterados Nao sei se mudar para xbrowse vai melhorar alguma coisa Quote Link to comment Share on other sites More sharing options...
aferra Posted January 13, 2017 Report Share Posted January 13, 2017 bem, tentando capitar seu questionamento, mas sexta, tá dificil...rsrsrs Quote Link to comment Share on other sites More sharing options...
edutraini Posted January 13, 2017 Author Report Share Posted January 13, 2017 vou tentar explicar melhor Tenho um Banco de Dados de Pedido com 70000 registros aonde carrego ele em um listbox Tenho percebido que algumas maquinas esta demorando um pouco para carregar A minha duvida é 1 opcao - Se mudar para xbrowse vai carregar mais rapido 2 opcao - Filtrar os dados antes de abrir o listbox Quote Link to comment Share on other sites More sharing options...
kapiaba Posted January 13, 2017 Report Share Posted January 13, 2017 70.000 só? isso é fixinha para LISTBOX(wBrowse.prg) Listbox é infinitamente mais rápido que o xBrowse. Provavelmente pela sua falta de experiência ou conhecimento, estais haciendo algo errado ao usar a LISTBOX, Mostre o código e diga que está usando .CDX. Você também pode fazer um indice na memoria(super rápido) usando o comando: TEMPORARY do xHarbour. Pode também, se dominar, fazer um ORDSCOPE() Quote Link to comment Share on other sites More sharing options...
aferra Posted January 13, 2017 Report Share Posted January 13, 2017 bom, bom, bom 1 não vai ser melhor 2 nas ultimas versões o filter ficou bom, porem nunca testei em rede, portanto se quiser usar teria que testar, a minha dica é usar um arquivo temporario e mostrar somente o necessario usando for dtem > <sua data> kapiaba 1 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted January 13, 2017 Report Share Posted January 13, 2017 Código perfeito... #Include "FiveWin.Ch" REQUEST OrdKeyNo, OrdKeyCount, OrdCreate, OrdKeyGoto // Para a ListBox(velocidade) FUNCTION CLIENTES( lAppend, DbClientes, DbCabec, DbPaieMae, DeOndeVem ) IF DeOndeVem != [DELIVERY] .AND. DeOndeVem != [RESERVAS] .AND. ; DeOndeVem != [LOCACAO] IF NetUse( "CADETIQ", .T. ) OrdListAdd( "CADETIQ", "RAZ_MATRIC", "DEST_NOME", "END", ; "NOME_ARTIS", "CPF", "CNPJ", ; "TELEFONE" ) //OrdDescend( ,,.T. ) // - Crescente OrdDescend( ,,.F. ) // - Decrescente DATABASE DbClientes DbClientes:Gotop() DbClientes:Load() DbClientes:SetBuffer( .T. ) // Assim, .T. a Op‡Æo (Cancelar) Funciona. ELSE MsgStop( "Banco de Dados dos CLIENTES Bloqueado", "Cuidado!" ) RETURN NIL ENDIF ENDIF // Clipper Puro DbSelectArea( ( DbClientes:cAlias ) ) DbClientes:SetOrder( 2 ) DbGoTop() DEFINE BRUSH oBrush RESOURCE "LOGO2" //-> PEGA A BITMAP DO ARQUIVO.RES(LOGO.BMP) DEFINE CURSOR oHand RESOURCE "Dedo" DEFINE FONT oFnt NAME "Ms Sans Serif" SIZE 0, 14 BOLD //UnderLine DEFINE FONT oFont NAME "Ms Sans Serif" SIZE 0, -14 BOLD //UnderLine DEFINE FONT oFont2 NAME "Ms Sans Serif" SIZE 0, 13 BOLD DEFINE ICON OICO FILE ".\BRASIL__.BMP" DEFINE DIALOG oDlg RESOURCE "BROWSE" ; TITLE "Gerenciador de Clientes:-Browse" ; BRUSH oBrush TRANSPARENT ; ICON oIco oDlg:lHelpIcon := .F. For IDCor = 401 To 403 // Os ID's dos TEXTOS na DIALOG. REDEFINE SENSITIVE SAY ID IDCor OF oDlg ; COLOR CLR_BLACK UPDATE RAISED CENTER FONT oFont2 TRANSPARENT Next IDCor //-> ListBox REDEFINE LISTBOX oLbx FIELDS ; (DbClientes:cAlias)->RAZ_MATRIC , ; (DbClientes:cAlias)->DEST_NOME , ; (DbClientes:cAlias)->END , ; (DbClientes:cAlias)->BAI , ; (DbClientes:cAlias)->CID , ; (DbClientes:cAlias)->CEP , ; (DbClientes:cAlias)->TEL , ; (DbClientes:cAlias)->TEL2 , ; (DbClientes:cAlias)->TEL3 ; HEADERS ( OemToAnsi( "C¢digo/Cnpj/Cpf" ) ) , ; ( OemToAnsi( "Nome/RazÆo Social=> " + ; "<Click> Mouse Direito<Menu>" ) ) , ; ( OemToAnsi( "Endere‡o" ) ) , ; ( OemToAnsi( "Bairro" ) ) , ; ( OemToAnsi( "Cidade" ) ) , ; ( OemToAnsi( "Cep" ) ) , ; ( OemToAnsi( "Telefone" ) ) , ; ( OemToAnsi( "Telefone" ) ) , ; ( OemToAnsi( "Telefone" ) ) ; FIELDSIZES 130, 480, 480, 200, 200, 100, 150, 150, 150 ; COLOR CLR_BROWN, CLR_LGREEN ; FONT oFont ; CURSOR oHand ; UPDATE ; ID 101 ; OF oDlg ; ON DBLCLICK( Click() , ; GETCLIENTES( .F., DbClientes, DbCabec, ; DbPaieMae, DeOndeVem ), ; oLbx:SetFocus(), oLbx:Refresh(), oLbx:DrawSelect() ) //-----------------------------------------------------------------------// oLbx:nClrBackHead := CLR_LGREEN // Cor do Fundo do Cabe‡alho oLbx:nClrText := {|| nRGB( 165, 42, 42 ) } // Cor do Fundo do Cabe‡alho oLbx:nClrBackFocus := CLR_HRED // Cor do Cursor Em Cima do Ötem oLbx:nClrForeFocus := CLR_AMARELO // Cor da letra da barra ativa oLbx:nClrForeHead := CLR_HRED // Cor nos Headers - Cabe‡alhos // Cor no Pano de Fundo da Browse() Listbox-Legal - abaixo o comando oLbx:nClrPane := { || IIF( ( oLbx:cAlias )->( OrdKeyNo() ) %2 == 0, ; CLR_LGREEN, CLR_LGRAY ) } oLbx:nColAct := 2 // Onde o Cursor Vai Iniciar na coluna oLbx:nLineStyle := 3 // Estilo das linhas nos dados da Browse oLbx:lCellStyle := .T. // Somente pinta a c‚lula em que o cursor esta no momento // Justifica o Cabe‡alho: .F. = Esquerda .T. = Centro oLbx:aJustify := { .T., .F., .F., .F., .F., .F., .F., .F., .F., .F., .F., .F., .F., .F., .F., .F., .F. } oLbx:lMChange := .F. // Desabilita Mousemove - Movimentos do Mouse Congelam. // Barra vertical exacta... //oLbx:bLogicLen := { || ( DbClientes:cAlias )->( OrdCount() ) } oLbx:SetFocus() // Refocus on The Browse - Ativa o Foco na ListBox(Browse) oLbx:Refresh() // Estabiliza o Browse/Listbox - Refresca os Dados. // Pinta os Dados Novamente //-----------------------------------------------------------------------// 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.