oliveiros
-
Posts
129 -
Joined
-
Last visited
-
Days Won
6
Posts posted by oliveiros
-
-
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
-
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
-
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
-
Olá João, tudo bem?
Você tem o link para baixar o BCC7.60?
Att.,
Oliveiros Junior
-
Olá, bom dia!
Obrigado a todos.
-
Obrigado!
-
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
-
Olá, bom dia!
Obrigado pelas respostas. Acredito que uma solução passe pela função FW_GetMonitor do fivewin.
Att.,
Oliveiros Junior
-
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
-
Olá,
Acho que seria mais interessante o Messenger. Será que alguém tem uma rotina para partilhar?
Desde já agradeço.
Att.,
Oliveiros Junior
-
Oi Wellington, boa noite!
Obrigado! Já havia resolvido com o xBrowse. Estou acabando de montar.
Att.,
Oliveiros Junior
-
Valeu, obrigado! Mas teria outra opção?
Oliveiros Junior
-
-
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.DateEssa 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
-
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
-
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
-
Oi, não João, atualmente uso o 20.07. Esse é um sistema que está funcionando bem só preciso implementar essa rotina.
-
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.
-
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
-
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.
ElsecMensagem += "Certificado em uso " + cCertificado
Exibir_Mensagem()
EndIf
TRY
oServer := CreateObject( "MSXML2.ServerXMLHTTP.6.0" )
CATCH oErrorcMensagem += "Não foi possível carregar objeto XMLHTTPServer."
Exibir_Mensagem()
Return .F.
ENDoServer: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 )
CATCHcMensagem += "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
ENDIf oCapicom == NIL
Return ""
EndIfoCapicom: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
NextcCertificado := ""
FOR nX := At( "CN=", cSubjectName ) + 3 To Len( cSubjectName )
If SubStr( cSubjectName, nX, 1 ) == ","
Exit
EndIf
cCertificado += SubStr( cSubjectName, nX, 1 )
NextReturn cCertificado
*------------------------------------------------------------------------------*ATENÇÃO! Essa função é baseada na classe sefazclass do JoséQuintas
Att.,
Oliveiros Junior
-
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
-
Oi emotta, boa tarde!
Eu tenho um servidor linux na LocaWeb com mysql 8.0.
Att.,
Oliveiros Junior
-
-
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.
Sobrepor imagem
in Programação
Posted
Olá, obrigado pelas respostas.