Jump to content
Fivewin Brasil

evertonlb

Membros
  • Posts

    733
  • Joined

  • Last visited

  • Days Won

    18

Reputation Activity

  1. Like
    evertonlb reacted to oribeiro in Envio de SMS - Pronto   
    Me cadastrei e dei uma olhada no site. O serviço me interessa.
    Você tem um exemplo de integração usando Fivewin + xHarbour?
  2. Like
    evertonlb reacted to kapiaba in Acessar um site com o Chrome   
    Fácil: use o CHROME como Navegador DEFAULT. 
    //-> Programa Para acionar os Correios - by kapiabafwh@gmail.com #Include "FiveWin.Ch" Static oWnd Function Main()     LOCAL cSiteCorreios     cSiteCorreios := ( "http://www.buscacep.correios.com.br/sistemas/buscacep/BuscaCepEndereco.cfm" )     //-> Invisibilizo a Janela     DEFINE WINDOW oWnd FROM -10, -10 TO -5, -5     ACTIVATE WINDOW oWnd     ;        ON INIT( ShellExecute(GetActiveWindow(),"open",'"'+cSiteCorreios+'"'), oWnd:End()  ) // Google //   ShellExecute(GetActiveWindow(),"open",'"'+cSite+'"') // Internet Explorer //             ON INIT( ( MeuWinExec( "Start Iexplore.Exe http://www.buscacep.correios.com.br/sistemas/buscacep/resultadoBuscaCepEndereco.cfm?t", 0 ) ), oWnd:End() ) //             ON INIT( ( MeuWinExec( "Start Iexplore.Exe http://www.correios.com.br/", 0 ) ), oWnd:End() ) Return Nil /* // IsWin2000() // IsWinXP() // IsNTPreWin2K() // IsNTWorkstation() // IsNTServer() // IsWin2000Prof() // IsWin2000Server() */ FUNCTION MeuWinExec( cParametro )     //LOCAL cExec := GetPvProfString("Editor","Pgm","notepad", cIniFile )     LOCAL cExecute := GetPvProfString( "" )     // NT, 2000 e XP     IF  IsWinNT() .OR. IsWin2000()         cExecute := GetEnv( "COMSPEC" ) + " /C "     ENDIF RETURN WinExec( cExecute + cParametro, 0 ) //-> Fim do programa
     
  3. Like
    evertonlb got a reaction from rochinha in Acrescentar METODO em uma Classe - Resolvido   
    Ok... incluído o bChange
    Se alguém precisar, é só pedir!
  4. Like
    evertonlb got a reaction from frkiko in Envio de SMS - Pronto   
    Ai povo.. a coisa qdo aperta a gente tem que se virar né?? Agora além de programar durante as noites e meia madrugada, estou trabalhando numa Telecom.. 
    Temos uma solução bem legal pra envio de SMS, integra via API, e a ferramenta de envio conta com um CRM, qdo uma mensagem é enviada essa info vai pra uma time line, se quiser responder de dentro do "DisparoPro", pode ser feito com um box.. o lance vira um Chat praticamente. rsrsrsrsrsr  Não há custo algum de integração, claro.. a única coisa que vendemos são os SMS mesmo...  
    se alguém tem algum interesse ou dúvida, (49)99984-3663 WhatsApp
     
  5. Like
    evertonlb reacted to emotta in Gerar QRCODE - FIVEWIN   
    Segue o novo link
    https://we.tl/t-EQbigNtmbL
  6. Like
    evertonlb got a reaction from kapiaba in Preciso de Idéias por favor...   
    Eu só controlo o operador pelo código dele... para entrar no sistema cada um digita seu código e senha, assim no final do dia cara um faz o fechamento e o sistema só pega o movimento do operador atual... 
     
  7. Like
    evertonlb got a reaction from kapiaba in Problemas na Argox 214 Plus - RESOLVIDO   
    Kapiaba do céu...  valeu mesmo cara. Eu mandava o "Chr(13) + Chr(10)" depois de cada linha... tirei.. deixei só o Chr(13) e funcionou!!  
     
  8. Like
    evertonlb reacted to kapiaba in Problemas na Argox 214 Plus - RESOLVIDO   
    http://www.pctoledo.com.br/forum/viewtopic.php?p=100508#p100508
  9. Like
    evertonlb reacted to kapiaba in Problemas na Argox 214 Plus - RESOLVIDO   
    Veja se ajuda, ahi no Paranáuê do Moro(bleaaaarrrggghhh) kkkkkkkkkkkkkkk
    [/code]
    FUNCTION IMPETIQARGOX( lAppend, oDbfEstoque, xop, xgrupo, oDbfEnf )
       FIELD COD, DESC, ULTTABA, ULTTAB, TIPO, CODFORN, PROD1, nome, GRUPO, NNF
       LOCAL XCOPIASI, NHANDLE, XCOR, XTAMA, XPRECO, XARQC, XDESC, xpro, oPrn
       MEMVAR XCOD, XNCOPIAS
       PUBLIC XEMPDIR, XF, XDA
    //-> Para Checar se a Impressora Existe ou Esta Ativa
       EXTERNAL ISPRINTER
       IF  !ISPRINTER()
          CHECA_IMP()
          RETURN NIL
       ENDIF
       IF MsgYesNo( "Atenção Por Favor:        " + CRLF + ;
             "Posso Imprimir?           " + CRLF + ;
             "Impressora Já Está Ligada?" + CRLF + ;
             + CRLF + ;
             "Por Favor, Verifique Se a " + CRLF + ;
             "Impressora Já Está Pronta!",         ;
             "Por Favor, Confirme!!!" ) = .F.
          RETURN NIL
       ENDIF
       IF xop = 9
          // Cracha operadores * oDbfEstoque ‚ de proposito pois vem com odbfvendedor do operador.prg
          SELECT( oDbfEstoque:cAlias )
          XCOD = "1" + left( COD, 2 ) + DECRYPT( ALLTRIM( ( oDbfEstoque:cAlias )->PROD1 ), "*+-." )
          XDESC = NOME
          xNcopias := 1
       ELSEIF xop = 6
          // Etiqueta gondula grupo - APOS REAJUSTE DE PRECO
          SELECT( oDbfEstoque:cAlias )
          IF MsgNoYes( oemtoansi( "ATEN€ÇO: ** ETIQUETAS DOS PRODUTOS EM PROMO€ÇO ** " ) + CRLF + ;
                + CRLF + ;
                oemtoansi( "Para Imprimir Etiqueta de G“ndula Somente dos Produtos em " ) + CRLF + ;
                oemtoansi( "      Promo‡Æo, escolha a op‡Æo [SIM]" ) + CRLF + ;
                + CRLF + ;
                oemtoansi( "Para Imprimir Etiqueta de G“ndula de Grupo ou Fam¡lia dos Produtos," ) + CRLF + ;
                oemtoansi( "      escolha a op‡Æo [NÇO]" ) + CRLF + ;
                + CRLF + ;
                + CRLF + ;
                oemtoansi( "[SIM]  -> Imprimir Etiqueta dos Produtos em Promo‡Æo" ) + CRLF +       ;
                oemtoansi( "[NÇO] -> Imprimir Etiqueta do Grupo ou Fam¡lia de Produtos" ),            ;
                "Informação Para o Usuário...              " ) = .T.
             Xpro := 2
                       
          ELSE
             Xpro := 1
          ENDIF
          IF xPro = 1
             SET ORDER TO 5
             ( oDbfEstoque:cAlias )->( OrdScope( 0, xGrupo ) ) // Inicio do SCOPE.
             ( oDbfEstoque:cAlias )->( OrdScope( 1, xGrupo ) ) // Fim    do SCOPE.
             GO TOP
          ELSE
             SET ORDER TO 1
             ( oDbfEstoque:cAlias )->( OrdScope( 0, nil ) ) // Inicio do SCOPE.
             ( oDbfEstoque:cAlias )->( OrdScope( 1, nil ) ) // Fim    do SCOPE.
             LOCATE FOR VAL( SUBSTR( TIPO, 65, 8 ) ) > 0 .AND. CTOD( SUBS( TIPO, 28, 8 ) ) >= XDA
          ENDIF
          XNCOPIAS := 1
       ELSEIF xop = 7
          // Etiqueta gondula reajuste de pre‡o
          SELECT( oDbfEstoque:cAlias )
          IF MsgNoYes( oemtoansi( "ATEN€ÇO: ** ETIQUETAS DOS PRODUTOS EM PROMO€ÇO ** " ) + CRLF + ;
                + CRLF + ;
                oemtoansi( "Para Imprimir Etiqueta de G“ndula Somente dos Produtos em " ) + CRLF + ;
                oemtoansi( "      Promo‡Æo, escolha a op‡Æo [SIM]" ) + CRLF + ;
                + CRLF + ;
                oemtoansi( "Para Imprimir Etiqueta de G“ndula de Grupo ou Fam¡lia dos Produtos," ) + CRLF + ;
                oemtoansi( "      escolha a op‡Æo [NÇO]" ) + CRLF + ;
                + CRLF + ;
                + CRLF + ;
                oemtoansi( "[SIM]  -> Imprimir Etiqueta dos Produtos em Promo‡Æo" ) + CRLF +       ;
                oemtoansi( "[NÇO] -> Imprimir Etiqueta do Grupo ou Fam¡lia de Produtos" ),            ;
                "Informação Para o Usuário...              " ) = .T.
             Xpro := 2
                       
          ELSE
             Xpro := 1
          ENDIF
          IF xPro = 1
             SET ORDER TO 1
             SELECT( oDbfEnf:cAlias )
             SET ORDER TO 3
             SET FILTER TO ( oDbfEnf:cAlias )->NNF = XGRUPO
             GO TOP
          ELSE
             LOCATE FOR VAL( SUBSTR( TIPO, 65, 8 ) ) > 0 .AND. CTOD( SUBS( TIPO, 28, 8 ) ) >= XDA
          ENDIF

          XNCOPIAS := 1
       ELSE
          XCOD = COD
          XDESC = DESC
          XPRECO = ULTTABA
          XCOR      := LEFT( CODFORN, 8 )
          XTAMA     := SUBS( CODFORN, 9, 4 )
          IF VAL( SUBSTR( TIPO, 65, 8 ) ) > 0 .AND. XDA <= CTOD( SUBS( TIPO, 28, 8 ) )
             XPRECO := VAL( SUBSTR( TIPO, 65, 8 ) )
     
          ENDIF
          xNcopias := 1
       ENDIF
       XARQC = "BARRAS.TXT"
       XCOPIASI = 0
       WHILE ! EOF()
          SYSREFRESH()
          IF XOP = 6 .OR. XOP = 7
             IF XOP = 7 .AND. XPRO = 1
                XCOD := COD
                SELECT( oDbfEstoque:cAlias )
                SEEK xcod
             ENDIF
             XCOD = COD
             XDESC = DESC
             XPRECO = ULTTABA
             IF VAL( SUBSTR( TIPO, 65, 8 ) ) > 0 .AND. XDA <= CTOD( SUBS( TIPO, 28, 8 ) )
                XPRECO := VAL( SUBSTR( TIPO, 65, 8 ) )
     
             ENDIF
             IF XOP = 7 .AND. XPRO = 1
                SELECT( oDbfEnf:cAlias )
             ENDIF
          ENDIF
          XCOPIASI = 0
          DO WHILE XCOPIASI < XNCOPIAS
             SYSREFRESH()
             XARQC = "BARRAS.TXT"
             IF( NHANDLE := FCREATE( XARQC,0 ) ) == - 1
                SINAL( "ARQUIVO DE TRABALHO BARRAS NAO CRIADO !!! !!!" )
             ENDIF
             FWRITE( NHANDLE, "L" + CHR( 13 ) )
             FWRITE( NHANDLE, "m" + CHR( 13 ) )
             FWRITE( NHANDLE, "e" + CHR( 13 ) )
             FWRITE( NHANDLE, "PC" + CHR( 13 ) )
             FWRITE( NHANDLE, "D11" + CHR( 13 ) )
             FWRITE( NHANDLE, "H14" + CHR( 13 ) )
             FWRITE( NHANDLE, "z" + CHR( 13 ) )
             IF XOP = 3
                //          Promocional
                FWRITE( NHANDLE, "161100002900050 P R O M O € A O" + CHR( 13 ) )
                FWRITE( NHANDLE, "161100001700050" + LEFT( XDESC,23 ) + CHR( 13 ) )
                FWRITE( NHANDLE, "161100000400500" + LTRIM( TRANSFORM(XPRECO,"@E 999,999.99" ) ) + CHR( 13 ) )
                FWRITE( NHANDLE, "111100000050130" + ALLTRIM( XEMPDIR ) + CHR( 13 ) )
                IF LEN( ALLTRIM( XCOD ) ) < 13
                   FWRITE( NHANDLE, "1G2207000300050" + LEFT( XCOD,7 ) + CHR( 13 ) )
                ELSE
                   FWRITE( NHANDLE, "1F2207000300050" + LEFT( XCOD,12 ) + CHR( 13 ) )
                ENDIF
             ELSEIF XOP = 1
                IF "COMBINACAO E ESTILO" $ XF
                   FWRITE( NHANDLE, "111100005550050" + LEFT( XEMPDIR,35 ) + CHR( 13 ) )
                   FWRITE( NHANDLE, "111100005550590" + LEFT( XEMPDIR,35 ) + CHR( 13 ) )
       
                   FWRITE( NHANDLE, "111100005250050" + LEFT( XDESC,35 ) + CHR( 13 ) )
                   FWRITE( NHANDLE, "111100005250590" + LEFT( XDESC,35 ) + CHR( 13 ) )
      
                   FWRITE( NHANDLE, "111100004950050" + "COR: " + TRIM( XCOR ) + "       TAMANHO: " + TRIM( XTAMA ) + CHR( 13 ) )
                   FWRITE( NHANDLE, "111100004950590" + "COR: " + TRIM( XCOR ) + "       TAMAMHO: " + TRIM( XTAMA ) + CHR( 13 ) )
                   FWRITE( NHANDLE, "111100004550050" + "DATA DA COMPRA: -----/-----/-----" + CHR( 13 ) )
                   FWRITE( NHANDLE, "111100004550590" + "DATA DA COMPRA: -----/-----/-----" + CHR( 13 ) )
                   IF LEN( ALLTRIM( XCOD ) ) < 13
                      FWRITE( NHANDLE, "1G2207003100120" + LEFT( XCOD,7 ) + CHR( 13 ) )
                      FWRITE( NHANDLE, "1G2207003100650" + LEFT( XCOD,7 ) + CHR( 13 ) )
                   ELSE
                      FWRITE( NHANDLE, "1F2207003100120" + LEFT( XCOD,12 ) + CHR( 13 ) )
                      FWRITE( NHANDLE, "1F2207003100650" + LEFT( XCOD,12 ) + CHR( 13 ) )
                   ENDIF
                   FWRITE( NHANDLE, "111100002400050" + LEFT( XEMPDIR,35 ) + CHR( 13 ) )
                   FWRITE( NHANDLE, "111100002400590" + LEFT( XEMPDIR,35 ) + CHR( 13 ) )
       
                   FWRITE( NHANDLE, "111100002100090" + LEFT( XDESC,35 ) + CHR( 13 ) )
                   FWRITE( NHANDLE, "111100002100590" + LEFT( XDESC,35 ) + CHR( 13 ) )
      
                   FWRITE( NHANDLE, "111100001800070" + "COR: " + TRIM( XCOR ) + "       TAMANHO: " + TRIM( XTAMA ) + CHR( 13 ) )
                   FWRITE( NHANDLE, "111100001800590" + "COR: " + TRIM( XCOR ) + "       TAMANHO: " + TRIM( XTAMA ) + CHR( 13 ) )
                   FWRITE( NHANDLE, "111100001550050" + SPACE( 10 ) + "PRECO: R$ " + LTRIM( TRANSFORM(XPRECO,"@E 999,999.99" ) ) + CHR( 13 ) )
                   FWRITE( NHANDLE, "111100001550590" + SPACE( 10 ) + "PRECO: R$ " + LTRIM( TRANSFORM(XPRECO,"@E 999,999.99" ) ) + CHR( 13 ) )
                   IF LEN( ALLTRIM( XCOD ) ) < 13
                      FWRITE( NHANDLE, "1G2207000350120" + LEFT( XCOD,7 ) + CHR( 13 ) )
                      FWRITE( NHANDLE, "1G2207000350650" + LEFT( XCOD,7 ) + CHR( 13 ) )
                   ELSE
                      FWRITE( NHANDLE, "1F2207000350120" + LEFT( XCOD,12 ) + CHR( 13 ) )
                      FWRITE( NHANDLE, "1F2207000350650" + LEFT( XCOD,12 ) + CHR( 13 ) )
                   ENDIF
                ELSE
                   FWRITE( NHANDLE, "111100001950050" + LEFT( XDESC,28 ) + CHR( 13 ) )
                   FWRITE( NHANDLE, "111100001950401" + LEFT( XDESC,28 ) + CHR( 13 ) )
                   FWRITE( NHANDLE, "111100001950730" + LEFT( XDESC,28 ) + CHR( 13 ) )
                   FWRITE( NHANDLE, "131100001400110" + "R$ " + LTRIM( TRANSFORM(XPRECO,"@E 999,999.99" ) ) + CHR( 13 ) )
                   FWRITE( NHANDLE, "131100001400470" + "R$ " + LTRIM( TRANSFORM(XPRECO,"@E 999,999.99" ) ) + CHR( 13 ) )
                   FWRITE( NHANDLE, "131100001400800" + "R$ " + LTRIM( TRANSFORM(XPRECO,"@E 999,999.99" ) ) + CHR( 13 ) )
                   IF LEN( ALLTRIM( XCOD ) ) < 13
                      FWRITE( NHANDLE, "1G2207000300050" + LEFT( XCOD,7 ) + CHR( 13 ) )
                      FWRITE( NHANDLE, "1G2207000300401" + LEFT( XCOD,7 ) + CHR( 13 ) )
                      FWRITE( NHANDLE, "1G2207000300730" + LEFT( XCOD,7 ) + CHR( 13 ) )
                   ELSE
                      FWRITE( NHANDLE, "1F2207000300050" + LEFT( XCOD,12 ) + CHR( 13 ) )
                      FWRITE( NHANDLE, "1F2207000300401" + LEFT( XCOD,12 ) + CHR( 13 ) )
                      FWRITE( NHANDLE, "1F2207000300730" + LEFT( XCOD,12 ) + CHR( 13 ) )
                   ENDIF
                ENDIF
             ELSEIF XOP = 2 .OR. XOP = 6 .OR. xop = 7
                //  etiqueta DE GONDULA
                //  ok      FWRITE(NHANDLE,"161100001700050"+LEFT(XDESC,23)+CHR(13))
                //  ok      FWRITE(NHANDLE,"161100000400700"+LTRIM(TRANSFORM(XPRECO,"@E 999,999.99"))+CHR(13))
                // OK 15=TAMANHO da letra
                //    11=ALTURA da letra

                FWRITE( NHANDLE, "151100001900050" + LEFT( XDESC,35 ) + CHR( 13 ) )
                IF len( alltrim( xdesc ) ) > 16
                   FWRITE( NHANDLE, "161200000000700" + LTRIM( TRANSFORM(XPRECO,"@E 999,999.99" ) ) + CHR( 13 ) )
                ELSE
                   FWRITE( NHANDLE, "161200000250700" + LTRIM( TRANSFORM(XPRECO,"@E 999,999.99" ) ) + CHR( 13 ) )
                ENDIF
                FWRITE( NHANDLE, "111100000050130" + ALLTRIM( XEMPDIR ) + CHR( 13 ) )
                IF LEN( ALLTRIM( XCOD ) ) < 13
                   FWRITE( NHANDLE, "1G2207000300050" + LEFT( XCOD,7 ) + CHR( 13 ) )
                ELSE
                   FWRITE( NHANDLE, "1F2207000300050" + LEFT( XCOD,12 ) + CHR( 13 ) )
                ENDIF
             ELSEIF XOP = 9
                //  etiqueta cracha
                FWRITE( NHANDLE, "111100001950050" + "Nome: " + LEFT( XDESC,28 ) + CHR( 13 ) )
                FWRITE( NHANDLE, "1F2207000300050" + LEFT( XCOD,12 ) + CHR( 13 ) )
                //              FWRITE(NHANDLE,"1H2207000300050"+LEFT(XCOD,12)+CHR(13))
             ENDIF
             FWRITE( NHANDLE, "Q0001" + CHR( 13 ) )
             FWRITE( NHANDLE, "E" + CHR( 13 ) )
             FCLOSE( NHANDLE )
             IF "COMBINACAO E ESTILO" $ XF
                XCOPIASI = XCOPIASI + 2
             ELSE
                IF XOP = 1
                   XCOPIASI = XCOPIASI + 3
                ELSE
                   XCOPIASI = XCOPIASI + 1
                ENDIF
             ENDIF
             COPY file( XARQC ) TO LPT1
             SysRefresh()
          ENDDO
          IF XOP # 6 .AND. xop # 7
             EXIT
          ENDIF
          IF XOP = 6 .AND. Xpro = 2
             CONTINUE
          ELSEIF XOP = 7 .AND. Xpro = 2
             CONTINUE
          ELSE
             SKIP
          ENDIF
       ENDDO
       MsgInfo( oemtoansi( "Etiqueta c¢digo de barras gerada Impressora Argox !" ), oemtoansi( "BalcÆo - Etiqueta de c¢digo de barras de operador" ) )
       IF xop = 7 .AND. XPRO = 1
          SET FILTER TO
       ELSEIF xop = 6
          SET ORDER TO 1
       ENDIF
       AEVAL( DIRECTORY( "BARRA*.TXT"     ), { |aFILE| FERASE( aFILE[F_NAME] ) } )
    RETURN NIL
    [/code]
     
  10. Like
    evertonlb reacted to emotta in Relatórios Lentos   
    Everton retire o COMMIT e o DBUNLOCK
    São tabelas temporárias certo? Sendo temporarias vc nao precisa se preocupar com lock de registro e tb com descarregar em disco...
    Mude todos os locais onde está SYSREFRESH e coloque a funcao MY_SYSREFRESH() e o fonte dela segue abaixo:
    Static Function MY_SYSREFRESH() Static nCont := 100 nCont++ If nCont > 100    SysRefresh() nCont := 0 EndIf Return  
    Faça isso e ja vai melhorar muito, testa ai
     
  11. Like
    evertonlb got a reaction from kapiaba in xBrowse de clientes   
    LEgal cara.. deu certinho... Obrigado Jhonny!
     
  12. Like
    evertonlb got a reaction from kapiaba in Controle de mesas de Bares e Restaurantes   
    /* nTipo (Tipos de Gráficas lineales soportados) -------------------------------------------------- #define RMC_LINE 21 #define RMC_AREA 22 nEstilo (Estilo de Gráficas de Lineas soportados) -------------------------------------------------- #define RMC_LINE_FLAT 21 #define RMC_LINE_FLAT_DOT 19 #define RMC_LINE_FLAT_DASH 18 #define RMC_LINE_CABLE 22 #define RMC_LINE_3D 23 #define RMC_LINE_3D_GRADIENT 24 #define RMC_AREA_FLAT 25 #define RMC_AREA_FLAT_GRADIENT_V 26 #define RMC_AREA_3D 29 #define RMC_AREA_3D_GRADIENT_V 30 nTipo (Tipos de Gráficos de Barra soportados) -------------------------------------------------- #define RMC_BARSINGLE 1 #define RMC_BARGROUP 2 #define RMC_BARSTACKED 3 #define RMC_BARSTACKED100 4 #define RMC_FLOATINGBAR 5 #define RMC_FLOATINGBARGROUP 6 nEstilo (Estilo de Gráficos de Barra soportados) -------------------------------------------------- #define RMC_BAR_FLAT 1 #define RMC_BAR_FLAT_GRADIENT1 2 #define RMC_BAR_FLAT_GRADIENT2 3 #define RMC_BAR_HOVER 4 #define RMC_COLUMN_FLAT 5 #define RMC_BAR_3D 6 #define RMC_BAR_3D_GRADIENT 7 #define RMC_COLUMN_3D 8 #define RMC_COLUMN_3D_GRADIENT 9 #define RMC_COLUMN_FLUTED 10 nEstilo ( Estilo de Gráficos Pastel soportados ) #define RMC_PIE_FLAT 51 #define RMC_PIE_GRADIENT 52 #define RMC_PIE_3D 53 #define RMC_PIE_3D_GRADIENT 54 #define RMC_DONUT_FLAT 55 #define RMC_DONUT_GRADIENT 56 #define RMC_DONUT_3D 57 #define RMC_DONUT_3D_GRADIENT 58 #define RMC_PYRAMIDE 59 #define RMC_PYRAMIDE3 60 // Alineación Pastel /Donut #define RMC_FULL 1 #define RMC_HALF_TOP 2 #define RMC_HALF_RIGHT 3 #define RMC_HALF_BOTTOM 4 #define RMC_HALF_LEFT 5 */ //------------------- STATIC CntValSeries //------------------- #include "FiveWin.ch" //Para RMCHart #include "hbdll.ch" #include "Rmchart.ch" // Look at this file to see keywords for 174 colors and #include "DllxHb.ch" // other constants. #include "cstruct.ch" #include "wintypes.ch" #include "RMChart2.ch" #define True 1 #define False 0 #define HH_DISPLAY_INDEX 2 #define CLR_RMCBLUE nRGB(99,148,236) // = "AliceBlue" #define CLR_RMCGOLD nRGB(248,208,0) // = "Gold" #define CLR_RMCBRONZE nRGB(221,204,163) // = "Metallic Bronze" #define TAB CHR(9) #command QUIT => ( PostQuitMessage( 0 ), __Quit() ) // suggested by Enrico //Fin para RMChart /*-------------------------------------------------------------------------------------------------------- FUNCION PARA GRAFICOS DE LINEAS Y AREAS SINTAXIS DE LA FUNCION GLINEAL: glineal( oWnd, cTit, cTitY, TituloY, aVals, aXLabels, nTipo, nEstilo, aLegSeries ) ventana, titulo superior, Titulo Eje Y, Valores de las series, etiquetas eje X, tipo de grafica lineal, estilo de la gráfica, Leyendas ----------------------------------------------------------------------------------------------------------*/ FUNCTION gLineal( oWnd, cTit, cTitY, aVals, aXLabels, nTipo, nEstilo, aLegSeries, lEtiqVals ) LOCAL i := 0, j:=0 LOCAL nRetVal := 0, sLabels := "" LOCAL oData IS DataStructD300 //20 LOCAL aColores, YminV, YmaxV aColores := { ColorDeepYellow, ColorBlue, ColorDarkBrown, ColorDeepRose, ColorCoral } CntValSeries := If( Len( aXLabels )>20, 20, Len( aXLabels ) ) YminV := 0 YmaxV := AMaxElement( aVals ) + AMaxElement( aVals ) / 10 ID_RMC1 := 100 IF lEtiqVals EtiqVals:=RMC_VLABEL_DEFAULT ELSE EtiqVals:=RMC_VLABEL_NONE ENDIF //Paso a variables públicas P_nTipo := nTipo P_nEstilo := nEstilo //************** Creo la gráfica ********************** nRetVal = RMC_CreateChart( ; oWnd:hWnd , ; // nParentHandle ID_RMC1 , ; // nCtrlID 0 , ; // nTop 0 , ; // nLeft WndWidth(oWnd:hWnd) -22 , ; // nWidth WndHeight(oWnd:hWnd) -80 , ; // nHeight ColorAliceBlue , ; // nBackColor RMC_CTRLSTYLEFLAT , ; // nCtrlStyle False , ; // nExportOnly "paper.jpg" , ; // sBgImage "Tahoma" , ; // sFontName 0 , ; // nToolTipwidth 0 ; // nBitmapBKColor ) If nRetVal < 0 ; IsError(1) ; RETURN nil ; EndIf //************** Agrego Región ***************************** nRetVal = RMC_AddRegion( ; ID_RMC1 , ; // nCtrlID 5 , ; // nLeft 5 , ; // nTop -5 , ; // nWidth -6 , ; // nHeight "Logos - Avaliação do Desenvolvimento Escolar - V 0.90", ; // sFooter False ; // nShowBorder ) If nRetVal < 0 ; IsError(2) ; RETURN nil ; EndIf //************** Titulo de la Región ******************* nRetVal = RMC_AddCaption( ; ID_RMC1 , ; // nCtrlID 1 , ; // nRegion cTit , ; // sCaption este es el titulo del gráfico. ColorAquamarine , ; // nBackColor ColorBlack , ; // nTextColor 10 , ; // nFontSize True ; // nIsBold ) If nRetVal < 0 ; IsError(3) ; RETURN nil ; EndIf //************** Grilla de la Región ***************************** nRetVal = RMC_AddGrid( ; ID_RMC1 , ; // nCtrlID 1 , ; // nRegion ColorBabyBlue , ; // nGridBackColor ColorBlack ColorBeige False , ; // nAsGradient 0 , ; // nLeft 0 , ; // nTop 0 , ; // nWidth 0 , ; // nHeight RMC_BICOLOR_LABELAXIS ; // nBiColor ) If nRetVal < 0 ; IsError(4) ; RETURN nil ; EndIf //********** Rango de valores Y a Región (min max)****************** nRetVal = RMC_AddDataAxis( ; ID_RMC1 , ; // nCtrlID 1 , ; // nRegion RMC_DATAAXISLEFT , ; // nAlignment 0.0 , ; // nMinValue -DOUBLE so MUST have decimal!! YmaxV , ; // nMaxValue -DOUBLE so MUST have decimal!! CntValSeries , ; // nTickCount 8 , ; // nFontsize ColorBlack , ; // nTextColor ColorBlack , ; // nLineColor RMC_LINESTYLESOLID , ; // nLinestyle 0 , ; // nDecimalDigits "" , ; // sUnit cTitY , ; // sText "" , ; // sLabels RMC_TEXTCENTER ; // nLabelAlignment ) If nRetVal < 0 ; IsError(5) ; RETURN nil ; EndIf //*********************** Leyendas de datos *************** sLegend:= "" FOR i = 1 to Len( aLegSeries ) sLegend += ( aLegSeries[i] + "*" ) NEXT nRetVal = RMC_AddLegend( ; ID_RMC1 , ; // nCtrlID 1 , ; // nRegion sLegend , ; // sLegend RMC_LEGEND_CUSTOM_TOP, ; // nLegendAlign ColorAliceBlue , ; // nLegendBackColor RMC_LEGENDRECT , ; // nLegendStyle ColorCoral , ; // nLegendTextColor ColorDarkBlue 8 , ; // nLegendFoltSize False ; // nLegendIsBold ) If nRetVal < 0 ; IsError(6) ; RETURN nil ; EndIf //***********************Agrego etiquetas a eje X *************** sLabels := "" FOR i=1 to CntValSeries sLabels+= aXLabels[i] + "*" next nRetVal = RMC_AddLabelAxis( ; ID_RMC1 , ; // nCtrlID 1 , ; // nRegion sLabels , ; // sLabels (separated by asterisk) 1 , ; // nCount CntValSeries , ; // ntickCount //cantidad de etiquetas ojo!! RMC_LABELAXISBOTTOM , ; // nAlignment 8 , ; // nFontSize ColorBlack , ; // ntextColor RMC_TEXTCENTER , ; // nTextAlignment ColorBlack , ; // nLineColor RMC_LINESTYLENONE , ; // nLineStyle "" ; // sText ) If nRetVal < 0 ; IsError(7) ; RETURN nil ; EndIf //************** Agrego Series a la Región ******************************* //****** Transfiero los datos a través de variables de gráfica************ FOR j=1 to Len( aVals ) FOR i=1 to CntValSeries //se fuerza un maximo de 20 valores por serie. oData:nDouble[i] := aVals[j,i] NEXT i nRetVal = RMC_AddLineSeries( ; ID_RMC1 , ; // nCtrlID 1 , ; // nRegion oData[1] , ; // nFirstDataValue CntValSeries , ; // nDataValuesCount 0 , ; // nFirstPPCValue 0 , ; // nPPCValuesCount nTipo , ; // nType RMC_LINE_3D_GRADIENT , ; // nStyle nEstilo , ; // nLineStyle False , ; // nIsLucent aColores[j] , ; // nColor RMC_SYMBOL_POINT , ; // nSymbol 1 , ; // nWhichDataAxis EtiqVals , ; // nValueLabelOn RMC_HATCHBRUSH_OFF ; // nHatchMode ) NEXT j nRetVal = RMC_Draw( ID_RMC1 ) If nRetVal < 0 ; IsError(8) ; RETURN nil ; EndIf RETURN ID_RMC1 /* *------------------------------------------------------------------------------------------------- * * FUNCION PARA GRAFICOS DE BARRAS * SINTAXIS DE LA FUNCION GLINEAL: * * gBarras( oWnd, cTit, cTitY, TituloY, aVals, aXLabels, nTipo, nEstilo, aLegSeries, lh ) * ventana, titulo superior, Titulo Eje Y, Valores de las series, * etiquetas eje X, tipo de grafica lineal, estilo de la gráfica, Leyendas , orientación horizontal *------------------------------------------------------------------------------------------------- **/ FUNCTION gBarras( oWnd, cTit, cTitY, aVals, aXLabels, nTipo, nEstilo, aLegSeries, lEtiqVals, lh ) LOCAL i := 0, j:=0 LOCAL nRetVal := 0, sLabels := "" LOCAL oData IS DataStructD300 //20 LOCAL aColores, YminV, YmaxV DEFAULT lh := .f. aColores := { ColorBlue, ColorGreen, ColorRed, ColorDeepYellow, ColorDarkBrown, ColorDeepRose, ColorCoral, ColorBrown } CntValSeries := If( Len( aXLabels )>20, 20, Len( aXLabels ) ) YminV := 0 YmaxV := AMaxElement( aVals ) + AMaxElement( aVals ) / 10 ID_RMC1 := 100 IF lEtiqVals EtiqVals:=RMC_VLABEL_DEFAULT ELSE EtiqVals:=RMC_VLABEL_NONE ENDIF IF lh Alineac := RMC_DATAAXISBOTTOM LegAlineac := RMC_LEGEND_CUSTOM_RIGHT labAlineac := RMC_LABELAXISLEFT ELSE Alineac := RMC_DATAAXISLEFT LegAlineac := RMC_LEGEND_CUSTOM_TOP labAlineac := RMC_LABELAXISBOTTOM ENDIF //Paso a variables públicas P_nTipo := nTipo P_nEstilo := nEstilo //************** Creo la gráfica ********************** nRetVal = RMC_CreateChart( ; oWnd:hWnd , ; // nParentHandle ID_RMC1 , ; // nCtrlID 0 , ; // nTop 0 , ; // nLeft WndWidth(oWnd:hWnd) -22 , ; // nWidth WndHeight(oWnd:hWnd) -86 , ; // nHeight ColorAzure , ; // nBackColor RMC_CTRLSTYLEFLAT , ; // nCtrlStyle False , ; // nExportOnly "paper.jpg" , ; // sBgImage "" , ; // sFontName 20 , ; // nToolTipwidth 0 ; // nBitmapBKColor ) If nRetVal < 0 ; IsError(9) ; RETURN nil ; EndIf //************** Agregar Región ***************************** nRetVal = RMC_AddRegion( ; ID_RMC1 , ; // nCtrlID 5 , ; // nLeft 5 , ; // nTop -5 , ; // nWidth -6 , ; // nHeight "Veesor - Automação Comercial - V. 0.8.A", ; // sFooter False ; // nShowBorder ) If nRetVal < 0 ; IsError(10) ; RETURN nil ; EndIf //************** Agregar titulo Región ******************* nRetVal = RMC_AddCaption( ; ID_RMC1 , ; // nCtrlID 1 , ; // nRegion cTit , ; // sCaption ColorAquamarine , ; // nBackColor ColorBlack , ; // nTextColor 10 , ; // nFontSize True ; // nIsBold ) If nRetVal < 0 ; IsError(11) ; RETURN nil ; EndIf //************** Grilla de la Región 1 ***************************** nRetVal = RMC_AddGrid( ; ID_RMC1 , ; // nCtrlID 1 , ; // nRegion ColorBeige , ; // nGridBackColor False , ; // nAsGradient 0 , ; // nLeft 0 , ; // nTop 0 , ; // nWidth 0 , ; // nHeight RMC_BICOLOR_LABELAXIS ; // nBiColor ) If nRetVal < 0 ; IsError(12) ; RETURN nil ; EndIf //********** Rango de valores Y a Región (min max)****************** nRetVal = RMC_AddDataAxis( ; ID_RMC1 , ; // nCtrlID 1 , ; // nRegion Alineac , ; // nAlignment 0.0 , ; // nMinValue -DOUBLE so MUST have decimal!! YmaxV , ; // nMaxValue -DOUBLE so MUST have decimal!! CntValSeries , ; // nTickCount 8 , ; // nFontsize ColorBlack , ; // nTextColor ColorBlack , ; // nLineColor RMC_LINESTYLESOLID , ; // nLinestyle 0 , ; // nDecimalDigits "" , ; // sUnit cTitY , ; // sText "" , ; // sLabels RMC_TEXTCENTER ; // nLabelAlignment ) If nRetVal < 0 ; IsError(13) ; RETURN nil ; EndIf //*********************** Leyenda de datos *************** sLegend:= "" FOR i = 1 to Len( aLegSeries ) sLegend += ( aLegSeries[i] + "*" ) NEXT nRetVal = RMC_AddLegend( ; ID_RMC1 , ; // nCtrlID 1 , ; // nRegion sLegend , ; // sLegend LegAlineac , ; // nLegendAlign ColorAliceBlue , ; // nLegendBackColor RMC_LEGENDRECT , ; // nLegendStyle ColorDarkBlue , ; // nLegendTextColor 8 , ; // nLegendFoltSize False ; // nLegendIsBold ) If nRetVal < 0 ; IsError(14) ; RETURN nil ; EndIf /* // Establece Rojo para la tercer barra: nRetVal = RMC_SetSeriesColor( ; ID_RMC1 , ; // nCtrlID 1 , ; // nRegion 1 , ; // nSeries ColorRed , ; // nColor 3 ; // nIndex - bar # to get color ) */ //************** Agregar etiquetas de eje X ***************************** sLabels = "" FOR i=1 to CntValSeries sLabels+= aXLabels[i] + "*" next nRetVal = RMC_AddLabelAxis( ; ID_RMC1 , ; // nCtrlID 1 , ; // nRegion sLabels , ; // sLabels (separated by asterisk) 1 , ; // nCount CntValSeries , ; // ntickCount RMC_LABELAXISBOTTOM , ; // nAlignment 8 , ; // nFontSize ColorBlack , ; // ntextColor RMC_TEXTCENTER , ; // nTextAlignment ColorBlack , ; // nLineColor RMC_LINESTYLENONE , ; // nLineStyle "" ; // sText ) If nRetVal < 0 ; IsError(15) ; RETURN nil ; EndIf //************** Agregar Series a Región ******************************* //****** Transfiero los datos a través de variables de gráfica************ FOR j=1 to Len(aVals) FOR i=1 to CntValSeries oData:nDouble[i] := aVals[j,i] NEXT i nRetVal = RMC_AddBarSeries( ; ID_RMC1 , ; // nCtrlID 1 , ; // nRegion oData[1] , ; // nFirstDataValue CntValSeries , ; // nDataValuesCount nTipo , ; // nType RMC_COLUMN_3D_GRADIENT , ; // nEstilo nStyle False , ; // nIsLucent aColores[j] , ; // nColor lh , ; // nIsHorizontal 1 , ; // nWhichAxis EtiqVals , ; // nValuelabelOn 1 , ; // nPointsPerColumn RMC_HATCHBRUSH_OFF ; // nHatchMode ) //RMC_VLABEL_DEFAULT pone etiquetas de valores RMC_VLABEL_NONE no. NEXT j nRetVal = RMC_Draw( ID_RMC1 ) If nRetVal < 0 IsError(16) RETURN nil EndIf RETURN ID_RMC1 FUNCTION IsError(nError) DEFAULT nError := 0 MsgAlert( "Ocorreu um erro em: "+LTRIM(STR(nError)) +CRLF+; "Por Favor, anote este código." ) // Each error number can be traced to a specific place in this prg. RETURN nil *---------------------------- FUNCTION AMaxElement( aArray ) LOCAL i, j, aProv:={}, nmax:=0.0, ntot:=0.0 IF gnTipo = RMC_BARSTACKED FOR i= 1 to CntValSeries FOR j= 1 to Len( aArray ) ntot+=aArray[j,i] NEXT j If nmax < ntot nmax:=ntot ENDIF ntot:=0.0 NEXT i ELSE FOR j= 1 to Len( aArray ) FOR i=1 to CntValSeries //limito a 20 por si pasan mas. If nmax < aArray[j,i] nmax:=aArray[j,i] ENDIF NEXT i NEXT j ENDIF RETURN nmax /* ------------------------------------------------------------------------------------------------------------- Generación de Gráficos Pastel FUNCION gPastel() ------------------------------------------------------------------------------------------------------------- */ FUNCTION gPastel( oWnd, cTit, nEstilo, nAlign, aVals, aLegend, nCor_Gr ) LOCAL nRetVal := 0 LOCAL sLegend := "" LOCAL oColor IS ColorStructL5 LOCAL oData IS DataStructD20 //************** Create the chart ********************** nRetVal = RMC_CreateChart( ; oWnd:hWnd , ; // nParentHandle ID_RMC1 , ; // nCtrlID 0 , ; // nTop 0 , ; // nLeft WndHeight(oWnd:hWnd) -86 , ; // nWidth WndHeight(oWnd:hWnd) -86 , ; // nHeight ColorTransparent , ; // nBackColor RMC_CTRLSTYLEIMAGETILED , ; // nCtrlStyle False , ; // nExportOnly "imagens\BaloesGde.JPG" , ; // sBgImage //"paper.jpg" "" , ; // sFontName 0 , ; // nToolTipwidth 0 ; // nBitmapBKColor ) If nRetVal < 0 ; IsError(1) ; RETURN nil ; EndIf //************** Add Region 1 ***************************** nRetVal = RMC_AddRegion( ; ID_RMC1 , ; // nCtrlID 5 , ; // nLeft 5 , ; // nTop -5 , ; // nWidth -6 , ; // nHeight "Veesor - Automação Comercial - V. 1.37D", ; // sFooter False ; // nShowBorder ) If nRetVal < 0 ; IsError(2) ; RETURN nil ; EndIf //************** Add legend to region 1 ******************************* sLegend = "" FOR i= 1 to Len( aLegend ) sLegend += ( aLegend[i] + "*" ) NEXT i nRetVal = RMC_AddLegend( ; ID_RMC1 , ; // nCtrlID 1 , ; // nRegion sLegend , ; // sLegend RMC_LEGEND_ONVLABELS, ; // nLegendAlign ColorGainsboro , ; // nLegendBackColor RMC_LEGENDNORECT , ; // nLegendStyle ColorBlue , ; // nLegendTextColor 8 , ; // nLegendFoltSize False ; // nLegendIsBold ) If nRetVal < 0 ; IsError(3) ; RETURN nil ; EndIf //************** Add Series 1 to region 1 ******************************* //****** Read color values ****** if nCor_Gr == 2 // bom.. o que eu fiz foi o seguinte // Ao gerar os graficos do PsicoMotor ele acabava tendo as mesmas // cores do Socio Afetivo, ai ficava muito confuso. Entao eu coloquei um // outro parametro na chamada do GPastel2. coloquei um numero no final // ai consigo trocar as cores sem problema.. // oColor:nLong[1] := ColorMediumVioletRed oColor:nLong[2] := ColorOrange oColor:nLong[3] := ColorIndigo oColor:nLong[4] := ColorBlue // Your data goes colors into these 5 slots oColor:nLong[5] := ColorDeepRose else oColor:nLong[1] := ColorDeepYellow oColor:nLong[2] := ColorRed oColor:nLong[3] := ColorGreen oColor:nLong[4] := ColorBlue // Your data goes colors into these 5 slots oColor:nLong[5] := ColorDeepRose endif //****** Read data values ****** FOR i = 1 to Len( aVals) oData:nDouble[i] := aVals[i] NEXT i nRetVal = RMC_AddGridlessSeries( ; ID_RMC1 , ; // nCtrlID 1 , ; // nRegion oData[1] , ; // nFirstDataValue Len( aVals ) , ; // nDataValuesCount oColor[1] , ; // nFirstColorValue 5 , ; // ncolorValuesCount nEstilo , ; // nStyle RMC_PIE_GRADIENT RMC_DONUT_GRADIENT RMC_PYRAMIDE RMC_PYRAMIDE3 RMC_PIE_3D_GRADIENT RMC_PIE_3D nAlign , ; // nAlignment 0 , ; // nExplodemode False , ; // nIsLucent RMC_VLABEL_TWIN , ; // nValueLabelOn RMC_HATCHBRUSH_OFF , ; // nHatchMode 0 ; // nStartAngle ) If nRetVal < 0 ; IsError(4) ; RETURN nil ; EndIf nRetVal = RMC_COText( ; ID_RMC1 , ; // nCtrlID 1 , ; // nCOIndex cTit , ; // sText 70 , ; // nLeft 20 , ; // nTop 300 , ; // nWidth (optional, as are the following...) 250 , ; // nHeight RMC_BOX_NONE , ; // nStyle 0 , ; // nBGColor 0 , ; // nLineColor 0 , ; // nTransparency 0 , ; // nLineAlignment ColorBlack , ; // nTextColor "10C" ; // sTextProperties ) If nRetVal < 0 ; IsError(5) ; RETURN nil ; EndIf //-------------------------------------------------- nRetVal = RMC_Draw( ID_RMC1 ) If nRetVal < 0 ; IsError(6) ; RETURN nil ; EndIf RETURN ID_RMC1 //----------------------------  
    RMC4XHB.PRG
    EjemLin.prg
    EjemBar.prg
    EjemPastel.prg
    RMCHART.CH
    RMCHART2.CH
    rmchartx.ch
  13. Like
    evertonlb got a reaction from kapiaba in Relatórios Lentos   
    Não João.. é tudo cabo!
  14. Like
    evertonlb got a reaction from KennethTymnLY in Instalação e Configuração Versão DEMO   
    Ola Marco Silva..
    Uso as mesmas verões tuas.
    Vamos tentar resolver a bronca.
    Vou dar uma olhada no PDF.. Pera ai!
    Att.
    Everton
  15. Like
    evertonlb got a reaction from Theotokos in Ajuda com barra de botões   
    Mais ou menos como duas ButtonBar? Uma a direita e outra a esquerda?
    Eu acho que é melhor já colocar os botões na Dialog!
     
    Att.
    Everton
  16. Like
    evertonlb got a reaction from kapiaba in RMChart   
    Claro meu camarada... O que vc pede chorando que eu não faço sorrindo???
    Só espero que exerça um pouco de sua paciência e misericórdia para comigo e aguarde passar esse fase turbulenta em que me encontro!
    Att.
  17. Like
    evertonlb reacted to kapiaba in RMChart   
    Everton, podeis criar um exemplo, anexar o RMChart e postar no www.4shared.com? abs.
  18. Like
    evertonlb reacted to microfly in AGRADECIMENTO   
    Agradeço a todos amigos que me ajudaram, Especialmente ao João Santos e ao Luiz Augusto Martins (Gunafe) que me deu a maior força dando referencias da minha pessoa.
    Agradeço ao Leonardo da Sygecom pela força e pelos conselhos que me deu.
    Agradeço especialmente ao Marcio (da empresa Informais ) que esta se dicando o seu tempo em me ensinar MYSQL uma pessoa de bom coração
    e todos dia depois do expediente fica horas conectado comigo me ensinando o MYSQL até aos sabados. me aconselhando e me fazendo CRITICAS CONSTRUTIVAS 
    que esta me ajudando E MUITO.
    Agradeco ao Eduardo Mota que me ajudou muito .
    Agradeço tb ao Wanderson pela confiança no meu trabalho  e na minha pessoa.
    Enfim quero agradecer a todos que nao foram poucos nao, que DEUS de muita  PAZ E SAÚDE a TODOS desse grupo e aos seu familiares MUITO OBRIGADO POR TUDO.
     
    Luiz Carlos Nogueira
    (19) 3844-8556 - Paulínia - João Aranha
    zap (11) 9 6969-3667
    Obs: aqueles que precisarem de ajuda profissional pode contar comigo, ajudarei com o maior prazer , inclusive aos iniciantes. trabalho com Fivewin desde 1999.
     
  19. Like
    evertonlb reacted to rochinha in Imprimir via INTERNET   
    Amiguinhos,
    Isto é muito fácil de resolver, e não tem que ficar configurando VPN, TCP-IP do servidor, DDNS ou NoIP.
    Você precisará apenas criar um pequeno aplicativo que seja instalado nesta máquina do depósito e que leia o conteúdo de uma pasta e quando encontrar um arquivo especificado por você então processa a impressão.
    No servidor seu sistema mandará o arquivo para uma pasta especifica, ou seja:
    Crie a pasta c:\intranet\envios no servidor.
    Crie a pasta c:\intranet\recebidos no cliente distante.
    Crie uma conta no Mega Sync, Instale o [url=https://megasync.br.uptodown.com/windows]MegaSync Desktop[/url] nas duas máquinas e configure 
    no servidor para ler em c:\intranet\envios e no cliente distante para ler em c:\intranet\recebidos.
    Deixe os serviços rodarem e jogue arquivos nas pasta para ver o que acontece.
    Se gostou, dê um "LIKE" e ajude nosso canalforum.
  20. Like
    evertonlb reacted to rochinha in Imprimir via INTERNET   
    Amiguinhos,
    Outra dica mais fácil:
    Supondo que tenha Windows Seven nas duas pontas e sabendo que o mesmo proporciona um acesso remoto free, configure a maquina servidora para permitir acesso remoto habilitando a Área de Trabalho Remota(Não é Assistência Remota) e na outra máquina, pelo prompt do DOS execute MSTSC.EXE coloque o IP público do servidor(não esqueça de desmilitarizar o ip caso o acesso a internet seja por meio de roteador) e configure o MS Terminal Services para reconhecer todos os periféricos da maquina remota como impressora e usá-la in loco.
     
  21. Like
    evertonlb got a reaction from Jmsilva in Ajuda com Logica   
    Nesse caso não precisaria cartão, somente a senha já resolve!
     
  22. Like
    evertonlb got a reaction from kapiaba in Problemas em relatório com fontes baleadas   
    Obrigado Kapiaba... já tinha achado um post com mesmo problema!
     
  23. Like
    evertonlb reacted to Edu in xBrowse com vários bitmaps   
    Bom dia!
    Evertonlb, acho que desse jeito não funciona porque ou você trabalha com DB ou array. Se você adicionar mais um elemento vai dar erro em tempo de execução pois o array interno do xbrowse : aCols, terá seu tamanho alterado.
    rubensma, a princípio eu não queria fazer isso não pois não sei se vai dar tempo, mas em último caso...
     
    Deixa eu tentar explicar:
    São 4 bitmaps. Por exemplo: A, B, C, D.
    Pode haver as situações A, A+B, A+C, A+D, B, B+C, B+D, C, C+D, D.
    TOTAL = 10.
    Em todo caso estou começando a considerar esta hipótese, pois tentei fazer com botões e ficou muito grande a qtde. de objs na tela e esteticamente ficou devendo um pouco. Estou dando preferência a xBrowse.
     
     
  24. Like
    evertonlb got a reaction from Theotokos in BMP no xBrowse - RESOLVIDO   
    Foi só colocar no lugar de ADDResource o AddBmpFile.
    Valeu mesmo Theotokos... Obrigado
     
    Att.
    Everton
     
  25. Like
    evertonlb reacted to Theotokos in BMP no xBrowse - RESOLVIDO   
    Adiona na primeira Coluna do xBrowse, no meu caso do Lado Esquerdo do Nome do Cliente
        oBrw:aCols[1]:AddResource("Bloqueado" )                  // Adiciona Imagem Resource para Bloqueado
        oBrw:aCols[1]:AddResource("DesBloqueado" )           // Adiciona Imagem Resource para Não Bloqueado
        oBrw:aCols[1]:bBmpData          := { || If( D_COND1 = 1, 1, 2 ) }     // Verifica a Condição: se 1) Imagem 1 (Bloqueado),  se 2) Imagem 2 (Não Bloqueado)
        oBrw:aCols[1]:nDataBmpAlign  := 0

     
     
     
×
×
  • Create New...