Jump to content
Fivewin Brasil

Daniel Halon

Membros
  • Posts

    24
  • Joined

  • Last visited

  • Days Won

    1

Daniel Halon last won the day on June 18 2021

Daniel Halon had the most liked content!

About Daniel Halon

  • Birthday 08/12/1952

Profile Information

  • Gender
    Male
  • Location
    Porto Alegre - RS

Recent Profile Visitors

276 profile views

Daniel Halon's Achievements

  1. Boa noite Kapi, tal vez me expresé mal. Uso xDosPrn, es practicamente igual a TdosPrn, con algunas alteraciones hechas por Ramon Ortega en el año 1996. No tengo ningún problema con la impresión, lo que necesito es poder imprimir la logomarca que ya esta grabada en la ROM de la impresora Epson TM T20x, es solo saber los comandos ESC/POS para mandar a imprimir el logotipo. Por ejemplo: en otra pizzaria para la cual hice el sistema, usaban una impresora de 40 columnas Marca ELGIN I9, el comando en esta impresora para imprimir la logomarca es: CHR(29)+CHR(40)+CHR(76)+CHR(06)+CHR(00)+CHR(48)+CHR(69)+CHR(48)+CHR(48)+CHR(01)+CHR(01). Funciona perfectamente en la impresora ELGIN I9, pero en la EPSON no funciona. Preciso saber si alguien ya utilizó el comando ESC para imprimir el logo en la Epson TM T20x. Desde ya agradezco tu interés y la ayuda que siempre me diste.
  2. Bom dia Kapi, Voy a postar una parte de la impresión , teniendo en cuenta que es una impressora térmica de 40 columnas. Toda la impresión de textos esta ok, solo no consigo que salga impreso el logotipo Function Imprime_Epson_TM20X( p_pedido, p_rei) PRIVATE a_zzinfo := {}, m_dest PRIVATE oPrin, oPrn, cTitulo PRIVATE dData_ini := ctod( '01/' + alltrim( str( month( tele0050->a_dtmov_50 ) ) ) + '/' + alltrim( str( year( tele0050->a_dtmov_50 ) ) ) ) PRIVATE m_desc := '' PRIVATE m_tam := '' PRIVATE nTotal := 0 PRIVATE cString := '' PRIVATE cFone PRIVATE mCont PRIVATE cTelefonos PRIVATE cDomicilio := Space(40) PRIVATE cSite := Space(40) PRIVATE cCidade := Space(30) PRIVATE cFile PRIVATE nLin PRIVATE cPorta PRIVATE aInfo := {} ************************************************************************************************* Logo := CHR(29)+CHR(40)+CHR(76)+CHR(06)+CHR(00)+CHR(48)+CHR(69)+CHR(48)+CHR(48)+CHR(01)+CHR(01) * *Comando para impressão do logo na ELGIN I9, não funciona na Epson TM T20x * ************************************************************************************************* *exemplo do Kapi *cFile := cFilePath( GetModuleFileName( GetInstance() ) ) + Strzero(p_pedido,6,0) + ".TXT" *? cFile *WinExec( "Notepad.exe " + cFile ) *Diversas formas de direccionar a impressao *cPorta := TELE0050->A_DISP1_50 *cPorta := GetDefaultPrinter() *cPorta := '\\gerencia\pedidos' cPorta := ALLTRIM(NEWPAR->PORTA) cFile := Strzero(p_pedido,6,0) + IF (NEWPAR->HAB_IMPRE == .T.,'.PRN', '.TXT') *cFile := cFile + IF (NEWPAR->HAB_IMPRE == .T.,'.PRN', '.TXT') nLin := 0 NEWCLI->( dbsetorder( 1 ) ) NEWPRO->( dbsetorder( 1 ) ) Tele0060->( dbsetorder( 1 ) ) Tele0070->( dbsetorder( 5 ) ) tele0060->(dbseek(p_pedido)) cFone := Tele0060->( a_cli___60 ) NEWCLI->( dbseek( cFone ) ) Tele0070->( dbseek(p_pedido) ) IF TELE0070->(!FOUND()) Msginfo('nao achei os produtos, FW34-linha-165') ENDIF //////////////////////// // aInfo // // 1 - numero pedido // // 2 - data // // 3 - valor // //////////////////////// *cTitulo := '*' + ALLTRIM(tele0060->a_casa__60) + '*' *Telefones das empresas, ate 4 fones cTelefonos := NEWPAR->FONE1 + IIF(ALLTRIM(NEWPAR->FONE2) # '-','/' + 'Whatts: ' + NEWPAR->FONE2,'') +; IIF(ALLTRIM(NEWPAR->FONE3) # '-','/' + NEWPAR->FONE3,'') +; IIF(ALLTRIM(NEWPAR->FONE4) # '-','/' + NEWPAR->FONE4,'') cDomicilio := ALLTRIM(NEWPAR->ENDERECO1) cCidade := ALLTRIM(NEWPAR->CIDADE) + ' - ' + ALLTRIM(NEWPAR->ESTADO) cSite := ALLTRIM(NEWPAR->SITE1) *oPrin := XDosPrn():New(IIF(NEWPAR->HAB_IMPRE == .F., cPorta, cFile) ) Imprime_pedido(p_Pedido) Return /////////////////////////////////////////////////////////////////////////////////////////////// Function Imprime_pedido(p_pedido) LOCAL cTitulo := ALLTRIM(NEWPAR->EMPRESA1) If NEWPAR->HAB_IMPRE == .F. MsgInfo('A impressao nao esta Habilitada nos parametros,' + CRLF + ' Visualizarei o pedido para Voce') Mostra_Comanda(p_Pedido) Return Endif *Gerando arquivo .prn para imprimir depois oPrin := XDosPrn():New(cFile) * Reset oprin:Startpage() oprin:command("27","64" ) IF NEWPAR->HAB_COMCLI == .T. //Se esta habilitada a comanda do Cliente *===Impressao do Logo no pedido===* IF NEWPAR->LOGO_PED == .T. *@ nLin, 00 PSay Centra(Logo,38) ELSE @ ++nLin, 00 PSay Enfatizado + Centra(cTitulo,40) + cEnfatizado *@ ++nLin, 00 PSay Enfatizado + Centra(cTitulo,20) + + FaceDuplaOff + LargoDuploOff ENDIF IF Tele0060->a_comple60 == .F. @ ++nLin, 00 PSay Enfatizado + Centra(cTelefonos,40) + NegritoOff @ ++nLin, 00 PSay Enfatizado + Centra(cDomicilio, 40) + NegritoOff @ ++nLin, 00 PSay Enfatizado + Centra(cCidade, 40) + cEnfatizado IF !Empty(cSite) @ ++nLin, 00 PSay Enfatizado +Centra(cSite, 40) + NegritoOff ENDIF IF !Empty(NEWPAR->FACEBOOK) @ ++nLin, 00 PSay Enfatizado +Centra(NEWPAR->FACEBOOK, 40) + cEnfatizado ENDIF IF !Empty(NEWPAR->INSTAGRAM) @ ++nLin, 00 PSay Enfatizado +Centra(NEWPAR->INSTAGRAM, 40) + NegritoOff ENDIF @ ++nLin, 00 PSay Normal + Enfatizado + REPLICATE ('-',42) + NegritoOff ELSE *@ ++nLin, 00 PSay Enfatizado + Centra(cTitulo, 24) + FaceDuplaOff + LargoDuploOff @ ++nLin, 00 PSay Normal + Enfatizado + Centra('*COMPLEMENTO*', 40 ) + cEnfatizado ENDIF @ ++nLin, 00 PSay pequena + Enfatizado + 'Data: ' + dtoc( Tele0060->a_dtped_60 ) + space( 1 ) +; 'Hora: ' + Tele0060->a_horae_60 + Space(12) + 'Ped.: ' + Normal + Enfatizado + Alltrim(strzero( p_pedido,6,0 )) @ ++nLin, 00 PSay Normal + Enfatizado + REPLICATE ('-',42) + NegritoOff //........................................................................... @ ++nLin, 00 PSay pequena + Enfatizado + substr( Tele0060->a_nome__60, 0, 42) @ ++nLin, 00 PSay tele0060->a_Prefix60 + space(1) + cFone + space(1) + 'Ramal' + space(1) + tele0060->a_ramal_60 + space(5) + 'Cel:' + Space(2) + tele0060->a_celula60 IF NEWPAR->HAB_IMPRE == .T. If MsgYesNo('Deseja imprimir o pedido', 'Atencao') PrintFileRaw( cPorta, cFile) * == FERASE(cFile) // a apartir de 04/08/21 os pedidos sao apagados no backup.bat apos zap nas bases en fw_fech.prg Endif ENDIF
  3. Amigos, mais uma vez preciso de uma ajuda, tenho uma impressora Epson TM T20X, já salvei o logo na memoria, porem não consigo acertar os comandos para imprimir no pedido. Alguem já passou por isto? LogoSanta.bmp
  4. Boa noite pessoal, estou de novo aqui pedindo um HELP. No Reporte, aparece separado o dado do mesmo entregador, sendo que pertence a ele mesmo. Quando exporto para Excel, sai junto, como deveria ser, porem o texto do total geral, no aparece no excel, e tampouco a quantidade de entregas. Alguem sabe me dizer o que estou fazendo errado? https://drive.google.com/file/d/1erqL76GwMTt05RnRbKlFc0KQO9fjvKmc/view?usp=sharing https://drive.google.com/file/d/16nzJa5uMsnULOoO2XCI6eDyWLbP-e3oY/view?usp=sharing Func Reporte_Entrega_mot_Datas(vDataIni, vDataFin, vTurno, vEntregador, vDetalhado) Static oReport #define BLANCO 1 #define ROJO 2 #define AMARILLO 3 #define AZUL 4 #define VERDE 5 LOCAL NOME := SPACE(25) LOCAL oFont1, oFont2, oFont3, oPen1, oPen2, cTit cTit := ALLTRIM(NEWPAR->EMPRESA1) DEFINE FONT oFont1 NAME "ARIAL" SIZE 0,-10 DEFINE FONT oFont2 NAME "ARIAL" SIZE 0,-12 BOLD DEFINE FONT oFont3 NAME "ARIAL" SIZE 0,-12 BOLD DEFINE FONT oFont4 NAME "ARIAL" SIZE 0,-9 BOLD DEFINE PEN oPen1 WIDTH 1 DEFINE PEN oPen2 WIDTH 1 IF TELE0060->(Reccount()) == 0 MsgStop(OemToAnsi('Nao tem registros para editar')) Return NIL ENDIF SELECT TELE0060 DATABASE oTele0060 oTele0060:Load() oTele0060:SetOrder( 5 ) oTele0060:SetBuffer( .T. ) REPORT oReport; TITLE cTit , "*** RELACAO DE ENTREGAS ***" , "Referente a " + Dtoc(vDataIni) + space(1) + "ate" + space(1) + Dtoc(vDataFin) + Space(1) + "Turno: " + vTurno,; IF(!Empty(vEntregador),"Entregador ==> " + Alltrim(vEntregador),"Todos os Entregadores") CENTERED; FONT oFont1, oFont2, oFont3; FOOTER OemToAnsi("Pagina: ")+str(oReport:nPage,3) CENTERED; PREVIEW IF vDetalhado == .T. oReport:lSummary := .F. ELSE oReport:lSummary := .T. ENDIF COLUMN TITLE "Entregador" ; DATA oTELE0060:a_entre_60; SIZE 12; LEFT COLUMN TITLE "Sobre Taxa" ; DATA oTELE0060:a_comie_60; SIZE 12; RIGHT; TOTAL COLUMN TITLE "Pedido" ; DATA oTELE0060:a_numped60; SIZE 10; CENTER COLUMN TITLE "Data e Turno" ; DATA Dtoc(oTELE0060:a_dtped_60) + Space(1) + "T: " + oTELE0060:a_turno_60; SIZE 12; CENTER COLUMN TITLE "Hora Ent." ; DATA oTELE0060:a_Horae_60; SIZE 8; CENTER COLUMN TITLE "Hora Saida" ; DATA oTELE0060:a_Horas_60; SIZE 8; CENTER GROUP ON oTELE0060:A_ENTRE_60; FOOTER SUBSTR(oReport:aGroups[1]:cValue,1,8) + '=>' + Alltrim(str(oReport:aGroups[1]:nCounter)); FONT 2 oReport:lGrid := .T. oReport:cGrandTotal := "Total Geral ==>" END REPORT IF !oReport:lCreated RETU NIL ENDIF oReport:oTitle:aFont[1] := {|| 2 } //1ra linha do titulo, cor e fonte 2 oReport:nTopMargin := 600 //Espacio superior oReport:nDnMargin := 300 oReport:aColumns[2]:bTotalFont := {|| 3 } //Tamanho de fonte e color dos totais da columna 5 oReport:bStdFont := {|| 3 } //Tamanho de fonte e color do texto de oReport:cGrandTotal := "Total Geral ==>" oReport:lBoxOnTotal := .T. oReport:SetTxtColor(CLR_BLACK,1) oReport:SetTxtColor(CLR_HBLUE,2) oReport:SetTxtColor(CLR_HRED,3) oReport:SetTxtColor(CLR_GREEN,4) oReport:SetPenColor(CLR_HBLUE) oReport:SetShdColor(CLR_YELLOW) oReport:bInit := {|| oTELE0060:GoTop() } oReport:bSkip := {|| oTELE0060:Skip() } If EMPTY(vEntregador) ACTIVATE REPORT oReport ; ON STARTPAGE StartPage(oReport); FOR oTELE0060:A_STATUS60 # 'C' .AND. oTELE0060:a_dtped_60 >= vDataini .and. oTELE0060:a_dtped_60 <= vDataFin; WHILE !oTELE0060:Eof() Else ACTIVATE REPORT oReport ; ON STARTPAGE StartPage(oReport); FOR oTELE0060:A_STATUS60 # 'C' .AND. oTELE0060:a_dtped_60 >= vDataini .and. oTELE0060:a_dtped_60 <= vDataFin .AND. oTELE0060:A_ENTRE_60 == vEntregador; WHILE !oTELE0060:Eof() Endif oFont1:End() oFont2:End() oFont3:End() Return NIL
  5. Boa tarde pessoal, Estou compartindo esta Função que ficou muito legal no meu sistema. No caso de tele entrega, é muito útil para saber na hora onde será entregue o pedido. Uma vez inseridos os dados de forma correta, ela busca no Maps, mostrando a localização e foto da casa do cliente selecionado. Não é de minha autoria, só modifiquei para minha necessidade. . ////////////////////////////////////////////////////////////////////////////////////////// // Procura endereco e mostra no Maps ///////////////////////////////////////////////////////////////////////////////////////// Function Mapa(Endereco, Numero, Bairro, Cidade, UF) LOCAL msearch := Alltrim(Upper(Endereco)) + "," +; Alltrim(Upper(Numero)) + " " +; Alltrim(Upper(Bairro)) + " " +; Alltrim(Upper(Cidade)) + " " +; Alltrim(Upper(UF)) If Empty(Endereco) .Or. Empty(Cidade) MsgInfo('Nao e possivel fazer a busca' + CRLF + 'sem endereco ou faltando dados', 'Atencao') Return Endif WebEXE3("https://www.google.com.br/maps/place/" + MSEARCH) //CARREGA A PAGINA USANDO O CHROME Return *---------------------------------------------------- Function WebExe3(cLink) // visualiza e navega na pagina *---------------------------------------------------- default cLink:="http://www.google.com" clink:=GetEnv( "ComSpec" )+" /C START "+STRTRAN(cLink," ","+") WAITRUN(cLink, 0 ) Return
  6. Boa tarde Kapi, em uma oportunidade (entre varias), me ajudaste com a função Tira_acentuacao, me ajudou muito, porem à pouco tempo atras, apos uma atualização do win 10, não reconhecia mais os carateres, apos muitos intentos resolví assim.

    FUNCTION TIRA_ACENTUACAO( cStr )

       LOCAL cStrNew := "", nX 
      *cAcentos := {  "ã"   ,  "à"   ,  "ä"   ,  "á"   ,  "å"   ,   "â"   ,   "À"   ,   "Á"   ,   "Â"   ,   "Ã"   ,   "Ä"   ,   "Å"   ,   "ç"   ,   "è"   ,   "é"   ,   "ê"   ,    "ë"   ,   "í"   ,   "Í"   ,   "É"   ,   "Ê"   ,   "-"   ,   "ó"   ,   "õ"   ,   "ô"   ,   "Ô"   ,   "Ó"   ,   "Õ"   ,   "ú"   ,   "û"   ,   "Ú"   ,   "Û"   ,   "Ç"   , "º", chr( 239 ) }
       cAcentos := {Chr(237),Chr(224),Chr(228),Chr(225),Chr(229), Chr(226), Chr(192), Chr(193), Chr(194), Chr(195), Chr(196), Chr(197), Chr(231), Chr(232), Chr(233), Chr(234), Chr(235), Chr(237), Chr(205), Chr(201), Chr(202), Chr(173), Chr(243), Chr(245), Chr(244), Chr(212), Chr(211), Chr(213), Chr(250), Chr(251), Chr(218), Chr(219), Chr(199), "º", chr( 239 ) }
       cLetras  := {  "a"   ,   "a"  ,  "a"   ,  "a"   ,  "a"   ,    "a"  ,   "A"   ,   "A"   ,   "A"   ,   "A"   ,   "A"   ,   "A"   ,   "c"   ,   "e"   ,   "e"   ,   "e"   ,   "e"   ,   "i"   ,   "I"   ,   "E"   ,   "E"   ,    ""   ,   "o"   ,    "o"  ,   "o"   ,   "O"   ,   "O"   ,   "O"   ,   "u"   ,   "u"   ,   "U"   ,   "U"   ,   "C"   ,  "",    ""      }
        

       For nX := 1 TO LEN( cAcentos )

          cStrNew := StrTran( cStr, cAcentos[nX], cLetras[nX] )

          cStr := cStrNew

       Next  

    Return( cStr)

     

    Com Chr() funcionou ok novamente, Se serve de alguma coisa, fica contigo, já que tu me brindaste a função.

    Valeu, obrigado

    1. kapiaba

      kapiaba

      Obrigado my dear friend. Abraços.

  7. Obrigado pessoal, Fiz um teste com os exemplos,e funciona bem, acho que meu problema e a vlib do Wagner, estou eliminando para ver aonde interfere, apenas resolva, posto, obrigado a todos, o exemplo do kapiaba, funciona perfeito
  8. //////////////////////////////////////////////////////////////////////////////////////// // CONSTRUCAO DA TELA PRINCIPAL ///////////////////////////////////////////////////////////////////////////////////// DEFINE BITMAP opapel FILENAME Alltrim(VARIOS->NOME_FUNDO) DEFINE BRUSH oBrush FILENAME Alltrim(VARIOS->NOME_FUNDO) DEFINE ICON oIcon RESOURCE "DGH48" DEFINE CURSOR oHand RESOURCE "MANO2" oCheck := cCheck := "Mensagem &Estilo Banner" DEFINE WINDOW oWnd; TITLE ''; FROM 1, 5 TO 20, 70; // COLOR rgb(150,150,255), rgb (220,222,229); MENU MenuMain(oWnd) ; ICON oIcon DEFINE BUTTONBAR oBar SIZE 70, 55 3D LOOK OF oWnd 2007 DEFINE BUTTON oBt1 of oBar RESOURCE "Bar_grupo"; PROMPT "Clientes"; ACTION IF(Check_Setor(8) == .T.,Pesqcli(), ''); NOBORDER transparent; TOOLTIP "Cadastro de clientes" DEFINE BUTTON oBt2 OF oBar RESOURCE "BAR_MOTO"; PROMPT "Entreg."; ACTION IF(Check_Setor(10) == .T.,PesqMot(), ''); Top; TOOLTIP "Cadastro de Entregadores"; NOBORDER ********* BARRA DO MENU INFERIOR ********************************************************** SET MESSAGE OF oWnd TO 'Licenciado para: ' + ALLTRIM(NEWPAR->EMPRESA1); KEYBOARD DATE CLOCK 2007 //color RGB( 255, 255, 254 ), RGB( 0, 0, 255 ) DEFINE MSGITEM oMiCasilla OF oWnd:oMsgBar; PROMPT "V-"+STR(VERSAO,6,2); SIZE 50; TOOLTIP "Versão Atual do Sistema"; ACTION MsgInfo("Versão do Sistema" + CRLF +; '1.01.20') DEFINE MSGITEM OF oWnd:oMsgBar ; BITMAP "BMP_PRINTER" ; ACTION (PrnGetName()); TOOLTIP "Impressora para Relatorios" + PrnGetName()+ CRLF + "Impressora de Pedidos " + Alltrim(NEWPAR->PORTA) DEFINE MSGITEM OF oWnd:oMsgBar ; BITMAP IF(DRIVE_TR = "C:","BMP_REDE","BMP_REDE"); TOOLTIP "Sistema Esta Logado em "+; " " +DRIVE_TR +"\"+CURDIR() + " "; ACTION MsgInfo( "Sistema Logado Em" + chr(13) +; " " + chr(13) +; "Driver.: "+DRIVE_TR+"\" + chr(13) +; " " + chr(13) +; " \" +CURDIR() + chr(13) +; " " + chr(13) +; "Informacao ",; "Informacao") DEFINE MSGITEM oMiCasilla OF oWnd:oMsgBar; PROMPT " DGH Sistemas"; BITMAP "DGH48" ; SIZE 120; TOOLTIP "DGH Sistemas"; ACTION sobre_sist() ****************************************************************************** oWnd:nHorzRes(),oWnd:nVertRes()-106 Of oWnd Adjust ACTIVATE WINDOW oWnd MAXIMIZED; ON INIT( TIRA_X(), IF(Criador=='12081952',SerialProtect(Criador),Valida_Senha('Entrada ao Sistema', '1', .T.)),Ativa_Teclas(),Check_Agenda())
  9. Obrigado, vou testar, meu problema e que quando coloco 2007 na butttonbar me faz um degradeee entre preto e branco, não estou conseguindo nesssas cores
  10. Boa tarde, copiei esta foto de um comenta rio do Kapi, alguem teria um exemplo de como fazer a butttonbar assim? o que circulei em vermelho, Obrigado Pd:: imagem pequena, pois não me permite botar mais de 266Kb
  11. Olá Kapi, achei tua funcao, e acabei optando por ela, mais uma vez obrigado
×
×
  • Create New...