Jump to content
Fivewin Brasil

oliveiros

Membros
  • Posts

    129
  • Joined

  • Last visited

  • Days Won

    6

Everything posted by oliveiros

  1. Olá, obrigado pelas respostas.
  2. Oi Kapiaba, blz? É o seguinte: Tenho um a dialog pintada com setDlgGradiente dividido horizontalmente, aonde o lado esquerdo e 3/4 da tela. Sobre esse lado eu consigo colocar uma imagem, porém necessito sobre essa imagem colocar outra, porém não funciona. Achei o comando TransBmp, porém só funciona com bmp e preciso que seja png. Att., Oliveiros Junior
  3. Olá, bom dia! Pessoal é possível sobre imagem com outra imagem, ambas png. Vou detalhar aqui a minha necessidade: Tenho uma dialog, aonde eu divido em duas partes com o comando SetDlgGradient, sendo o lado esquerdo maior, 3/4 da tela. Sobre o lado maior, esquerdo, coloquei a imagem fundo.png, porém preciso colocar imagens sobre a fundo.png. Já tentei algumas opções que não funcionaram, como https://forums.fivetechsupport.com/viewtopic.php?f=3&t=36838&p=219823&hilit=bitmap+transparent&sid=65eca4af1d53bc22544edbbd2b12fc48#p219823; e transpBmp(). Alguém teria alguma sugestão? Att., Oliveiros Junior
  4. Olá, É simples. oCol := oBrowse:AddCol() oCol:nWidth := 30 oCol:cHeader := "Situação" oCol:oHeaderFont := oFonte5 oCol:nHeadStrAlign := AL_CENTER oCol:AddResource( "FALTA" ) // Imagem do rc - 1 oCol:AddResource( "FALTA_JUSTIFICADA" ) // Imagem do rc - 2 oCol:AddResource( "AULA" ) // Imagem do rc - 3 oCol:bBmpData := { || IIf( financeiro->situacao_cobranca = "01", 1, ; IIf( financeiro->situacao_cobranca = "02", 2, 3 ) ) } Att., Oliveiros Junior
  5. Olá João, tudo bem? Você tem o link para baixar o BCC7.60? Att., Oliveiros Junior
  6. Olá, bom dia! Obrigado a todos.
  7. oliveiros

    Dialog

    Boa noite pessoal! Alguém saberia informar se existe alguma forma de colorir metade de uma dialog de uma cor e a outra de outra cor? Att., Oliveiros Junior
  8. Olá, bom dia! Obrigado pelas respostas. Acredito que uma solução passe pela função FW_GetMonitor do fivewin. https://forums.fivetechsupport.com/viewtopic.php?f=3&t=41156&p=246507&hilit=FW_GetMonitor&sid=38bcc961beab96a50e8dab3c700c0eb8#p246507 Att., Oliveiros Junior
  9. Olá, boa tarde! Alguém conseguiu implementar os dois monitores, um para que o cliente possa acompanhar a compra e outra para o caixa? Att., Oliveiros Junior
  10. Olá, Acho que seria mais interessante o Messenger. Será que alguém tem uma rotina para partilhar? Desde já agradeço. Att., Oliveiros Junior
  11. Oi Wellington, boa noite! Obrigado! Já havia resolvido com o xBrowse. Estou acabando de montar. Att., Oliveiros Junior
  12. Valeu, obrigado! Mas teria outra opção? Oliveiros Junior
  13. Pessoal, boa tarde! Estava precisando colocar em um browser vários registro na mesma linha, como no exemplo abaixo, que por sinal é daqui do fórum. Alguém sabe dizer se isso é da xBrowser, se tem algum método especifico ou foi feito por meio de array? Att., Oliveiros Junior
  14. Olá, agora entendi. select a.Date, ( SELECT COUNT(*) from process AS p WHERE a.Date >= p.dtcalc1 and If( TIMESTAMPDIFF(DAY, p.dtcalc1, p.dtcalc2) = 0 , a.Date <= p.dtcalc2, a.Date < p.dtcalc2 ) GROUP BY a.Date) AS ocorrencia from ( select curdate() - INTERVAL (a.a + (10 * b.a) + (100 * c.a) + (1000 * d.a) ) DAY as Date from (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as a cross join (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as b cross join (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as c cross join (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as d ) a where a.Date between '2023-06-01' and '2023-06-07' GROUP BY a.Date ORDER BY a.Date Essa query vai retorna algo assim 2023-06-01 - NULL 2023-06-02 - NULL 2023-06-03 - 1 2023-06-04 - 3 2023-06-05 - 1 2023-06-06 - 2 2023-06-07 - NULL Att., Oliveiros Junior
  15. Oi, bom dia! Explica melhor a demanda, por favor. Vc precisa colocar a quantidade de dias entre as datas dtcalc1 e dtcalc2, isso? SELECT p.dtcalc1 AS data, SUM( IF( TIMESTAMPDIFF(DAY, p.dtcalc1, p.dtcalc2) = 0, 1, TIMESTAMPDIFF(DAY, p.dtcalc1, p.dtcalc2) ) ) AS dias FROM process AS p GROUP BY p.dtcalc1; Testa essa Query. O resultado será: 03/06/2023 - 2; 04/06/2023 - 3; 06/06/2023 - 2; Não entendi na sua demanda dia 05/06/2023 - 1; Atenciosamente, Oliveiros Junior
  16. Olá Kapiaba, boa noite! Consegui usar a HBOle. O problema é que ela tinha que vir no inicio do bat de compilação. Obrigado pela ajuda Oliveiros Junior
  17. Oi, não João, atualmente uso o 20.07. Esse é um sistema que está funcionando bem só preciso implementar essa rotina.
  18. Olá Kapiaba, boa tarde! Em primeiro lugar, obrigado pela resposta. Coloquei seu exemplo para compilar na versão "FiveWin for Harbour 2.4 - July 2003" e agora ele não passa o URL. Abre o IE e no browser mostra "http:///". Att., Oliveiros Junior.
  19. Olá pessoal, boa noite! Preciso compilar um programa antigo e estou precisando da lib HbOleAut, queria saber se tem alguém que possa compartilhar. A que tenho é de 15.07.2007. Estou tentando abrir um página da internet, e para isso estou usando a seguinte rotina: Function AbrirURL() Local oOle, cURL cURL := "https://receita.fazenda.df.gov.br.com.br" oOle:= TOleAuto():NEW( "InternetExplorer.Application" ) oOle:Visible := .T. oOle:ToolBar := .F. oOle:StatusBar := .F. oOle:MenuBar := .F. oOle:Navigate2( cURL ) //While oOle:ReadyState <> 4 // SysWait( .5 ) //Enddo SysRefresh() Return .t. *----------------------------------------------------------------------------------------* O programa compila, porém diz que a propriedade Navigate2, no momento da execução, é "tipo de variante não implementado" Desde já agradeço. Se quiser mandar direto, pode mandar para oliveiros.jr@uol.com.br Att., Oliveiros Junior
  20. Oi emotta, boa tarde! Você precisa capturar seu certificado. Eu uso a capcom.dll e seleciono o certificado pela função: .... cXML := HB_MemoRead( cXML_Assinado ) cCertificado := Pegar_Certificado() If Empty( cCertificado ) cMensagem += "Não foi possível carregar as informações do certificado." Exibir_Mensagem() Return .F. Else cMensagem += "Certificado em uso " + cCertificado Exibir_Mensagem() EndIf TRY oServer := CreateObject( "MSXML2.ServerXMLHTTP.6.0" ) CATCH oError cMensagem += "Não foi possível carregar objeto XMLHTTPServer." Exibir_Mensagem() Return .F. END oServer:setOption( 3, 'CURRENT_USER\MY\' + cCertificado ) oServer:open( 'POST', cLink, .F. ) oServer:setRequestHeader( 'SOAPAction' , cSoapAct ) oServer:setRequestHeader( 'Content-Type' , 'text/xml; charset=utf-8' ) oServer:setRequestHeader( 'Content-Length:', AllTrim( Str( Len( cXML ) ) ) ) TRY oDOMDoc := CreateObject( "MSXML2.DOMDocument.5.0" ) oDOMDoc:async := .F. oDOMDoc:resolveExternals := .F. oDOMDoc:validateOnParse := .T. oDOMDoc:preserveWhiteSpace := .T. oDOMDoc:LoadXML( cXML ) CATCH cMensagem += "Não foi possível carregar o documento XML." Exibir_Mensagem() Return .F. END *------------------------------------------------------------------------------* Function Pegar_Certificado() Local oCapicom Local oCertificado Local cCertificado Local nX Local cSubjectName TRY oCapicom := CreateObject( "CAPICOM.Store" ) CATCH END If oCapicom == NIL Return "" EndIf oCapicom:open( CAPICOM_CURRENT_USER_STORE,'My', CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED ) oCertificado := oCapicom:Certificates() For nX := 1 To oCertificado:Count() If oCertificado:Item(nX):SerialNumber == cSerial_Certificado cSubjectName := oCertificado:Item( nX ):SubjectName EndIf Next cCertificado := "" FOR nX := At( "CN=", cSubjectName ) + 3 To Len( cSubjectName ) If SubStr( cSubjectName, nX, 1 ) == "," Exit EndIf cCertificado += SubStr( cSubjectName, nX, 1 ) Next Return cCertificado *------------------------------------------------------------------------------* ATENÇÃO! Essa função é baseada na classe sefazclass do JoséQuintas Att., Oliveiros Junior
  21. oliveiros

    IPV6

    Boa noite! Alguém já testou a conexão com BD pelo IPV6 - SQLLib, HDO, Eagle ou Nativa do Fivewin? que possa passar sua experiência? Att., Oliveiros Junior
  22. Oi emotta, boa tarde! Eu tenho um servidor linux na LocaWeb com mysql 8.0. Att., Oliveiros Junior
  23. Oi, Alterei o campo observação para mediumblob e fiz um teste colocando o campo no GROUP BY, e como lhe falei o resultado foram 3 registros, porque o conteúdo do campo observação são diferentes.
  24. Só uma observação, como o conteúdo da obervação é diferente, como na seq, ele mostra a primeira ocorrência. Se o seq estiver na lista de campos a ser apresentado, ele apresentaria a seq 001.
×
×
  • Create New...