Jump to content
Fivewin Brasil

william

Membros
  • Posts

    551
  • Joined

  • Last visited

  • Days Won

    9

Posts posted by william

  1. bom dia, já tentou usar a Fastreports ? Vc instala os drivers da argox e "desenha" a impressão independente de PPLA ou B

    Segue exemplo:

     

    
    function main()
       local oFrPrn
    
      select 1
      use teste
      go top
    
    
    
       oFrPrn := frReportManager():new()
       oFrPrn:SetIcon(1)                                // Icone da janela do FRH
       oFrPrn:SetTitle( 'Etiquetas' )        // Titulo da janela do FRH
       oFrPrn:LoadLangRes( 'brazil.xml')                // Arquivo de idioma
       oFrPrn:SetWorkArea( 'teste' , select('teste') )
       oFrPrn:LoadFromFile('teste.fr3') // para leitura direta de arquivo FR3
       oFrPrn:PreviewOptions:SetAllowEdit( .f. ) // inibe o botao de edicao do relatorio pelo usuario
    
         oFrPrn:DesignReport()           // aqui para "desenhar" o relatorio
         oFrPrn:ShowReport()             // aqui para gerar o preview do relatorio
    
       oFrPrn:ClearDataSets()
       oFrPrn:DestroyFR()
    
    dbclosearea()
    
    return nil 

    testa aí e veja se funciona.

     

    Att.

     

    William Adami

    teste.fr3

  2. Bom dia

    Talvez alguem tenha passado por isso e saiba como solucionar...

    Em alguns clientes que tem uma rede de computadores e tem o servidor com windows 10 e uma impressora compartilhada na rede (instalada no servidor), de uns tempos para cá nos terminais não consigo imprimir ou mesmo acessar a impressora na rede. Acredito ter havido uma atualizaçao do windows e após isso perdeu o acesso a impressora.

    segue abaixo foto do erro :

     

    IMG-20211116-WA0008.jpg

  3. boa tarde, segue como eu faço com os antigos DBF :

    * As funcoes que uso:
    
    FUNCTION OpenFile( cFile, cAlias, nModo, lRetenta )
    
       DEFAULT cAlias TO Subs( cFile, rAt( '\', cFile )+1), nModo TO 2
       DEFAULT lRetenta TO nModo > 1
    
       Do While .T.
          DO CASE; Case nModo == 1
             USE (cFile) ALIAS (cAlias) NEW EXCLUSIVE 
          Case nModo == 2
             USE (cFile) ALIAS (cAlias) NEW SHARED
          Other
             USE (cFile) ALIAS (cAlias) NEW SHARED READONLY
          End
    
          If neterr()
             If lRetenta .AND. MsgRetryCancel( 'Arquivo ' + cFile + ;
                            ' sendo usado em outra estacao!', 'Alerta')
                loop
              else
                retu .f.
              endif
          Endif
          exit
       Enddo
    return .T.
    
    
    
    
    
    
    ***** rede ***********
    FUNCTION REGLOCK(P1)
       local Local1
       if p1=NIL
          p1:= 5
       endif
    
       do while (.T.)
          for Local1:= 1 to p1
             if (RLock())
                return .T.
             endif
             InKey(0.5)
          next
          if !msgyesno("Registro Bloqueado! Tenta novamente ?")
             return .F.
          endif
       enddo
    
    RETURN( .F. )
    
    
    
    
    
    function adireg(tempo)
      local loca1
      do while (.T.)
         for Local1:= 1 to tempo
             append blank
             if (!neterr())
                return .T.
             endif
             InKey(0.5)
          next
          if !msgyesno("Arquivo Bloqueado! Tenta novamente ?")
             return .F.
          endif
       enddo
    
    return .T.
    
    * Exemplos:
    
    para abrir os arquivos:
    
      if OpenFile( ".\dados\orca","or", 1, .F. )
         select or
         or->(dbgotop()) 
      endif
    
    
    * para travar o registro para alterar ou excluir:
    
         if reglock(10)   
            replace confbds->contro with "OK"
            replace confbds->contro1 with "OK1"
            dbunlock()
         endif
    
    * para incluir novo registro:
    
      if adireg(10)
         replace numterm with "01"
         replace conf->t1 with 12
         replace conf->t2 with 18
         dbunlock()
      endif 
    

     

  4. putz descobri o porque disso. Na unidade C: ele mostra as pastas com nomes longos. Mas na unidade D: já não mostra.

    Segue abaixo a tradução:

     

    Por padrão, as versões modernas do Windows criam nomes de arquivo 8.3 em C: mas não os criam em volumes não pertencentes ao sistema recém-formatados.

    Para verificar se a criação de nome 8.3 está habilitada em D :, abra um prompt de comando como Administrador e execute:

    fsutil 8dot3name query d:

    A linha final deve indicar se este suporte está habilitado ou não.

    Para habilitar, use

    fsutil 8dot3name set d: 0

    Observe que isso significa que todos os arquivos recém-criados em D: têm nomes 8.3, mas os arquivos existentes não. Corrigir isso para um conjunto existente de arquivos exigirá a cópia dos arquivos em um novo diretório para garantir que os nomes 8.3 sejam criados.

    Observe que isso precisa acontecer para cada diretório intermediário também (ou seja, um novo diretório em D: \ precisa ser criado porque D: \ Videogames não terá um nome 8.3.)

     

     

  5. Salve Kapiaba

    Vc já está usando o Workshop em ambiente 64 bits?

    Estou testando aqui e está rodando corretamente. A única coisa que percebi é que quando vai abrir um .rc , o workshop não está mostrando as pastas que tem nomes longos. Só mostra as pastas com até 8 caracteres no nome.

    Isso se resolve facilmente renomeando as pastas para que fiquem com 8 caracteres, daí aparecem na lista.

    Porem será que não existe algo para se resolver isso, e fazer aparecer as pastas que tem nomes longos ?

    Obrigado

     

     

     

     

  6. Boa noite

    Consegui rodar o Borland Resource WorkShop em windows 10 / 64 bits , segue a dica como fazer.

    1- Baixe aqui o winevdm  (baixei a versao 0.7.0)

    https://github.com/otya128/winevdm/releasesr

    2- Baixe o conteudo dentro da pasta c:\emulador

    3- supondo que o workshop esteja instalado na pasta c:\workshop , crie um atalho chamando o workshop da seguinte maneira:

    (coloque a linha abaixo como destino do atalho)

    C:\emulador\otvdmw.exe c:\workshop\workshop.exe

    pronto ! a mágica tá feita !

    Att.

    William Adami

     

     

     

  7. boa tarde com o pdfpowertools uso a seguinte linha de comando num arquivo .BAT para assinar. A senha tem que ser a senha do certificado digital

    PdfPowerTool.exe /INPUT taylor.pdf /OUTPUT taylor3.pdf /SIGNCERTIFICATE Ivair.pfx /SIGNPASSWORD 1234 /DISPLAYSIGNATURE /SIGN

    Mas no final resolvi meu problema utilizando a solução do Giovanyvecchi

     

    Att.

     

    William

  8. bom dia

    estou prestes a comprar a API do Hendell porem o cliente me fez umas perguntas que eu nao soube responder, talvez os amigos que já utilizam possam dar sua opiniao.

    1) tem limite de envio de mensagens ?

    2) quantas mensagens consegue enviar por minuto?

    3) se houver bloqueio, pode ser utilizado com mais de um chip ?

    4) o cliente disse que utilizava em 2018 um sistema de envio em massa de mensagens e que sempre "queimava" os chips. Isso acontece mesmo?

    o cliente é uma escola que deseja enviar mensagens aos seus alunos via zap, sao mais de 4000 alunos , será que a api suportará?

     

    obrigado

     

    William

     

  9. nao achei a lib que contem a ISUTF8 mas achei a funcao:

     

    FuncTion IsUtf8( cString )
    	Local i, cIdUtf := Chr( 195 )
    	Local aUtf  := { 129, 130, 131, 132, 135, 137, 138, 141, 147, 148, ;
    	                 149, 150, 154, 156, 160, 161, 163, 162, 164, 167, ;
    	                 169, 170, 173, 179, 180, 181, 182, 186, 188 }
    	 
    	For i = 1 To Len( aUtf )
    	    If At( cIdUtf + Chr( aUtf[ i ] ), cString ) > 0
    	       Return .T.
    	    Endif
    	Next
    	Return .F.
    	


       

    agora foi. Obrigado !

     

  10. bom dia, já trabalhei com o coletor de dados LUCAS 9000 a muitos anos atras. Basicamente vc tem que fazer um item para gerar um arquivo produto.txt contendo as informacoes dos produtos (nome, codigo,etc..) para ser importado pelo coletor. depois usa o coletor para ler os produtos nas prateleiras, onde será registrada a quantidade em estoque no leitor. Terminada a leitura/contagem no estoque, o leitor exporta um arquivo texto com o resultado da leitura que será importado pelo seu sistema. Não tem muito segredo, só troca de arquivos texto com layout pre definido.

     

     

  11. Boa noite Giovany, muito legal sua lógica de gravar o pfx no campo blob. O documento PDF vc tambem grava em BLOB depois de assinado ?  Se o cliente quizer uma copia , puxa  do BLOB gerando o PDF fisicamente, é isso?

    No mais vou estudar sua classe para começar os testes.

    Muito obrigado,

    Att,

    William

×
×
  • Create New...