Jump to content
Fivewin Brasil

ricardomouramarques

Membros
  • Posts

    539
  • Joined

  • Last visited

  • Days Won

    1

ricardomouramarques last won the day on October 21 2019

ricardomouramarques had the most liked content!

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

ricardomouramarques's Achievements

Newbie

Newbie (1/14)

2

Reputation

  1. Kapi, é um SAY, mas é um SAY que pertence ao GET e não a janela. SE, por um motivo qualquer, o GET mude de posição na janela em tempo de execução, o SAY vai junto com ele, sem nenhum problema. Observe esse detalhe na classe TGET: ... local oWnd := self //oWnd é o proprio objeto GET .... @ 2, 4 SAY ::oPlcHld ... OF oWnd Pixel //OF oWnd, ou seja o SAY é do GET. Ele está no TOP 2, LEFT 4 do GET. Como se o GET fosse uma janela
  2. Kapiaba, Ainda considerando alterar a classe TGET, aquelas alteraçoes que passei acima funcionam perfeitamente com Recursos. Segue um exemplo de utilização (testado com WORKSHOP THE BEST): #include "FiveWin.ch" #include "get.ch" static oDlg //--------------------------------------------------------------------------------------- function main() private oNome, oEndereco, oCidade private cNome := cEndereco := cCidade := space(100) DEFINE DIALOG oDlg RESOURCE DIALOG_1 REDEFINE GET oNome VAR cNome ID 101 REDEFINE GET oEndereco VAR cEndereco ID 102 REDEFINE GET oCidade VAR cCidade ID 103 ACTIVATE DIALOG oDlg CENTERED ON INIT iniciar() return nil //--------------------------------------------------------------------------------------- function iniciar() //Configurar os GETs com PlaceHolder. //Primeiro parâmetro é o texto que será apresentado no GET //Segundo parâmetro é a COR do texto que será apresentado no GET oNome:SetPlcHld('*Nome Obrigatório', RGB(255,0,0)) //em cor vermelha oEndereco:SetPlcHld('*Endereço Obrigatório', RGB(255,0,0)) //em cor vermelha oCidade:SetPlcHld('Cidade') // Em cor cinza (padrão) return nil
  3. Vamos lá. Pensei em algo como Placeholder do HTML. Então poderá ser usada como isso mesmo. A cor padrão do texto é cinza, porém vc pode enviar o parâmetro de cor. Ou seja, pode ficar da cor que vc quiser. Inclusive vermelho. rs O texto (placeholder) vai desaparecer quando o GET receber o foco, e voltará a aparecer quando o get perder o foco e estiver limpo (empty) Vamos para o nosso POG. Na Classe GET.PRG, faça as incluções abaixo: //Declare as seguintes variáveis DATA oPlcHld INIT NIL DATA cPlcHld INIT "" DATA nPlcClr INIT RGB(100,100,100) //Declare o seguinte Method METHOD SetPlcHld(cPlc, nClr) //Localize o METHOD LostFocus( hCtlFocus ) CLASS TGet //e adicione o seuinte código, logo no início METHOD LostFocus( hCtlFocus ) CLASS TGet //ADD Isso if !empty(::oPlcHld) if empty(::cText) ::oPlcHld:nWidth := ::nWidth-8 endif endif //Localize o METHOD GotFocus( hCtlLost ) CLASS TGet //e adicione o seuinte código, logo no início METHOD GotFocus( hCtlLost ) CLASS TGet //ADD isso if !empty(::oPlcHld) ::oPlcHld:nWidth=0 endif //Inclua o Method SetPlcHld(cPlc, nClr) METHOD SetPlcHld(cPlc, nClr) CLASS TGet local oWnd := self local nWidth := ::nWidth-8 DEFAULT nClr := ::nPlcClr ::nPlcClr := nClr ::cPlcHld := cPlc if !empty(::cText) nWidth := 0 endif @ 2, 4 SAY ::oPlcHld VAR ::cPlcHld SIZE nWidth, ::nHeight-4 COLOR ::nPlcClr, ::nClrPane OF oWnd Pixel return nil Abaixo, um exemplo de uso: #include "FiveWin.ch" static oDlg //--------------------------------------------------------------------------------------- function main() private oNome, oEndereco, oIdade, oCidade private cNome := space(50) private cEndereco := space(80) private nIdade := 0 private cCidade := space(50) DEFINE DIALOG oDlg FROM 0, 0 TO 400, 800 TITLE "TESTE" Pixel ACTIVATE DIALOG oDlg CENTERED ON INIT iniciar() return nil //--------------------------------------------------------------------------------------- function iniciar() @ 10, 10 SAY "Nome" OF oDlg Pixel @ 30, 10 GET oNome VAR cNome size 400, 22 OF oDlg Pixel @ 70, 10 SAY "Endereço" OF oDlg Pixel @ 90, 10 GET oEndereco VAR cEndereco OF oDlg size 600, 22 Pixel @ 130, 10 SAY "Idade" OF oDlg Pixel @ 150, 10 GET oIdade VAR nIdade OF oDlg size 70, 22 Pixel @ 190, 10 SAY "Cidade" OF oDlg Pixel @ 210, 10 GET oCidade VAR cCidade OF oDlg size 400, 22 Pixel //altera a cor do asterisco @ 270, 10 BUTTON 'VALOR NOME' Size 120,20 action alert(oNome:cText) Pixel //GETs com PlaceHolder oNome:SetPlcHld('*Nome Obrigatório', RGB(255,0,0)) oEndereco:SetPlcHld('*Endereço Obrigatório', RGB(255,0,0)) oIdade:SetPlcHld('Idade') oCidade:SetPlcHld('Cidade') return nil Será que vale pelo menos uma brejinha??? kkk
  4. Fala Kapiaba!!!!! Estou um tanto enferrujado,.mas posso tentar. Se eu conseguir, vc paga uma breja. kkkk!!! Regards!
  5. Opcionalmente poderia criar uma função para isso. O código ficaria mais limpo. Veja um exemplo: #include "FiveWin.ch" static oDlg //--------------------------------------------------------------------------------------- function main() private oSNome, oSEndereco, oSIdade, oSCidade //variáveis de objetos dos SAYs private oObjRecebido private cNome := space(50) private cEndereco := space(80) private nIdade := 0 private cCidade := space(50) DEFINE DIALOG oDlg FROM 0, 0 TO 400, 800 TITLE "TESTE" Pixel ACTIVATE DIALOG oDlg CENTERED ON INIT iniciar() return nil //--------------------------------------------------------------------------------------- function iniciar() @ 10, 10 SAY oSNome VAR "Nome" OF oDlg Pixel @ 30, 10 GET oNome VAR cNome size 400, 22 OF oDlg Pixel @ 70, 10 SAY oSEndereco VAR "Endereço" OF oDlg Pixel @ 90, 10 GET cEndereco OF oDlg size 600, 22 Pixel @ 130, 10 SAY oSIdade VAR "Idade" OF oDlg Pixel @ 150, 10 GET oIdade VAR nIdade OF oDlg size 40, 22 Pixel @ 190, 10 SAY oSCidade VAR "Cidade" OF oDlg Pixel @ 210, 10 GET oCidade VAR cCidade OF oDlg size 400, 22 Pixel //altera a cor do asterisco @ 270, 10 BUTTON 'ALTERA COR' Size 120,20 action (oObjRecebido:setColor(RGB(255,150,255), GetSysColor(15)),oObjRecebido:refresh()) Pixel //Oculta o asterisco @ 270, 180 BUTTON 'OCULTA ASTERISCO' Size 120,20 action oObjRecebido:SetText('') Pixel //Exibe o asterisco, caso esteja ocultado @ 270, 320 BUTTON 'EXIBE ASTERISCO' Size 120,20 action oObjRecebido:SetText('*') Pixel //SAYs que serão marcados como requeridos. required(oSNome) required(oSEndereco) //com o parâmetro de cor e recebendo o objeto SAY no retorno caso queira manipulá-lo posteriomente oObjRecebido := required(oSCidade, RGB(0,255,0)) return nil //--------------------------------------------------------------------------------------- function required(oSay, nColor) //Parêmtro nColor é opcional local oNewSay, oFontNewSay DEFAULT nColor := RGB(255,0,0); DEFINE FONT oFontNewSay NAME "Arial" SIZE 0, -18 BOLD @ oSay:nTop, oSay:nLeft+oSay:nWidth SAY oNewSay VAR '*' COLOR nColor FONT oFontNewSay Pixel return oNewSay //---------------------------------------------------------------------------------------
  6. #include "FiveWin.ch" static oDlg //--------------------------------------------------------------------------------------- function main() private oSNome, oSEndereco, oSIdade //variáveis de objetos dos SAYs (IMPORTANTE) private cNome := space(50) private cEndereco := space(80) private nIdade := 0 DEFINE DIALOG oDlg FROM 0, 0 TO 400, 800 TITLE "TESTE" Pixel ACTIVATE DIALOG oDlg CENTERED ON INIT iniciar() return nil //--------------------------------------------------------------------------------------- function iniciar() @ 10, 10 SAY oSNome VAR "Nome" OF oDlg Pixel @ 10, oSNome:nWidth+10 SAY '*' COLOR CLR_RED Pixel @ 30, 10 GET oNome VAR cNome size 400, 22 OF oDlg Pixel @ 70, 10 SAY oSEndereco VAR "Endereço" OF oDlg Pixel @ 70, oSEndereco:nWidth+10 SAY '*' COLOR CLR_RED Pixel @ 90, 10 GET cEndereco OF oDlg size 600, 22 Pixel @ 130, 10 SAY oSIdade VAR "Idade" OF oDlg Pixel @ 150, 10 GET oIdade VAR nIdade OF oDlg size 40, 22 Pixel return nil //--------------------------------------------------------------------------------------- Seria isso?
  7. Instalei há alguns meses atrás. No início foi lindo, mas após uns dias começou a explodir propaganda a todo minuto na barra de notificações do Windows. uma b0$t@... com todo respeito. rsrs
  8. Colegas, Estou tentando testar o exemplo do JMSILVA, mas estou tendo problemas. Estou usando fivewin 15.07 e harbour 3.0. Inclui a hbsqlit3.lib, porém, na compilação, recebo vários "Error: Unresolved external '". Por exemplo: Error: Unresolved external '_sqlite3_user_data' referenced from E:\SQLITE_TESTES\NOVO\LIB\HBSQLIT3.LIB|core Error: Unresolved external '_sqlite3_value_type' referenced from E:\SQLITE_TESTES\NOVO\LIB\HBSQLIT3.LIB|core Error: Unresolved external '_sqlite3_value_text' referenced from E:\SQLITE_TESTES\NOVO\LIB\HBSQLIT3.LIB|core Error: Unresolved external '_sqlite3_value_double' referenced from E:\SQLITE_TESTES\NOVO\LIB\HBSQLIT3.LIB|core Error: Unresolved external '_sqlite3_value_int64' referenced from E:\SQLITE_TESTES\NOVO\LIB\HBSQLIT3.LIB|core... e por aí vai. Encontrei uma outra lib nas subpastaa do harbour que resolvi testar: hbsqlit3-bcc.lib. Daí compila beleza, mas não abre o EXE porque diz estar faltando uma DLL: hbsqlit3-32-bcc.dll. Mas não consigo encontrar esta dll em nenhum lugar. Nem nos subdiretórios do harbour ou bcc ou fivewin e nem tão pouco no google. Alguém tem uma luz?
  9. Dar aquele efeito de transparencia (glass) eu já vi aqui no forum, porém o efeito é aplicado em todos os componentes da janela. Alguem sabe alguma maneira de aplicar esse efeito somente na janela, preservando os controles que há sobre ela? Ricardo.
  10. Dar aquele efeito de transparencia (glass) eu já vi aqui no forum, porém o efeito é aplicado em todos os componentes da janela. Alguem sabe alguma maneira de aplicar esse efeito somente na janela, preservando os controles que há sobre ela? Ricardo.
  11. Gilberto, Testei aqui e funcionou. Faça assim: oCombo:bGotFocus:={|| oCombo:Open()} id=code>id=code>Obs: Observe o valor da altura (nheight) no SIZE. Ele não se refere a altura do combobox fechado, e sim da altura máxima do combobox aberto. EX: @ 34, 271 COMBOBOX oCombo VAR nCbx_1 ITEMS aCbx_1 SIZE 160, 100 PIXEL of oDlg // veja por ex. o valor 100 no size oCombo:bGotFocus:={|| oCombo:Open()} id=code>id=code>Ricardo.
  12. Olha só. Não se trata de um código de Barras. São apenas marcadores que são usados para que o sistema saiba onde estão as linhas e as colunas. Então observe que há um marcador para o inicio, um para cada linha e alguns que indicarão as distâncias entre colunas. Já fiz isso até mesmo com o Excel. E dá certo. Faça um modelo com o tamanho de uma cartela original e posicione as marcações. Marque os números que desejar. Não precisa escrever os números. Basta que em sua posição haja um quadro preto marcando. Leve um modelo até a loteria e peça pra passar na máquina pra ver se esta ok. Pronto. Eu colocava no rodapé da cartela os números que estava jogando só pra ter certeza. É isso aí. Ricardo.
  13. baixe o RVisual: http://www.slicplus.com.br/rvisual/rvisual_12_04b.rar 1 - Abra um FORM novo: botão [Form] 2 - Insira um xBrowse: botão [xBr] 3 - selecione o xBrowse que vc inseriu e pressione CTRL+P, para configurar o seu xBrowse. Aqui vc poderá escolher os campos que deseja mostrar, largura da coluna, cores, etc, etc. 4 - clique no botão [source]. Aqui ele abrirá um editor com o código pronto. Ricardo Marques Ricado Marques Araguari-MG
×
×
  • Create New...