calendario

Projeto HwGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

paiva_dbdc
Usuário Nível 3
Usuário Nível 3
Mensagens: 342
Registrado em: 12 Nov 2012 09:58
Localização: uberlandia mg

calendario

Mensagem por paiva_dbdc »

BOM dia
alguem teria um prg de CALENDáRIO

grande de BOM visual ?

desde já agradeço


Paiva

cpaivasistemas@gmail.com
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

calendario

Mensagem por JoséQuintas »

Acho que em modo gráfico é relativamente simples, ainda mais se a hwgui permitir criar controles como array.
Seria criar o formulário com textbox pros dias. text01, text02, text03, etc.
Depois só pegar o dia da semana pra ver aonde vai começar.
Mais ou menos assim, ajustando pra HWGUI:

Código: Selecionar todos

nPos := Dow( Stod( "20190701" ) )
FOR nCont = 1 TO 31
   &( "textbox" + StrZero( nCont + nPos, 2 ) :Value := Ltrim( Str( nCont _) )
NEXT
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

calendario

Mensagem por asimoes »

Olá,

Usando hwg Form Designer
2019-07-06 19_27_11-CN=Microsoft Windows, O=Microsoft Corporation, L=Redmond, S=Washington, C=US.png

Código: Selecionar todos

#Include "hwgui.ch"
STATIC Thisform

FUNCTION calendario( ... )
 RETURN _calendario( HB_AParams() )

FUNCTION _calendario(  )

  LOCAL oDlg,  oMonthcalendar1, oButtonex1


  INIT DIALOG oDlg TITLE "Calendário"    AT 0, 0 SIZE 259,262 NOEXIT  ;
     STYLE WS_POPUP+WS_CAPTION+WS_SYSMENU+WS_SIZEBOX+DS_CENTER 
    Thisform := oDlg

   @ 12,15 MONTHCALENDAR oMonthcalendar1 SIZE 232,195  
   @ 148,221 BUTTONEX oButtonex1 CAPTION "Sair"   SIZE 98,32 ;
        STYLE BS_CENTER +WS_TABSTOP  ;
        ON CLICK {|| Thisform:Close() }

   ACTIVATE DIALOG oDlg 


RETURN oDlg:lresult
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

calendario

Mensagem por asimoes »

Na pasta samples da hwgui tem este exemplo:

Código: Selecionar todos

//================================================================//
// Programa......: Controle MonthCalendar - Exemplo
// Programador...: Marcos Antonio Gambeta
// Contato.......: marcos_gambeta@hotmail.com
// Website.......: http://geocities.yahoo.com.br/marcosgambeta/
//================================================================//
// Linguagem.....: Harbour/xHarbour + HWGUI
// Plataforma....: Windows
// Criado em ....: 17/2/2004 21:41:05
// Atualizado em : 17/2/2004 22:39:19
//================================================================//
// Este programa demonstra o uso do controle MonthCalendar da
// biblioteca HWGUI (Classe HMonthCalendar).
//================================================================//

#include "windows.ch"
#include "guilib.ch"

//================================================================//

Function Main

   Local oWnd

   SET DATE BRITISH
   SET CENTURY ON

   hwg_Settooltipballoon(.t.)

   INIT WINDOW oWnd MAIN TITLE "Controle MonthCalendar" ;
      AT 100,100 SIZE 640,480

   MENU OF oWnd
      MENUITEM "&Calendário 1" ACTION Dlg1()
      MENUITEM "&Calendário 2" ACTION Dlg2()
      MENUITEM "&Sair"         ACTION hwg_EndWindow()
   ENDMENU

   ACTIVATE WINDOW oWnd

   Return Nil

//================================================================//

Function Dlg1

   Local oDlg
   Local oMC
   Local oFont

   INIT DIALOG oDlg TITLE "Calendário - Exemplo 1" ;
      AT 20,20 SIZE 500,300

   PREPARE FONT oFont NAME "Arial" WIDTH 0 HEIGHT -12

   @ 20,20 MONTHCALENDAR oMC ;
      SIZE 250,250 ;
      INIT ctod("01/01/2004") ;
      ON INIT {||hwg_Msginfo("Evento On Init","MonthCalendar")} ;
      ON CHANGE {||hwg_Msginfo("Evento On Change","MonthCalendar")} ;
      NOTODAY NOTODAYCIRCLE WEEKNUMBERS ;
      FONT oFont ;
      TOOLTIP "MonthCalendar - NoToday - NoTodayCircle - WeekNumbers"

   @ 300,20 BUTTON "Get Date" ON CLICK {||hwg_Msginfo(dtoc(oMC:GetValue()))} SIZE 100,40
   @ 300,60 BUTTON "Set Date" ON CLICK {||oMC:SetValue(Date())} SIZE 100,40

   ACTIVATE DIALOG oDlg

   Return Nil

//================================================================//

Function Dlg2

   Local oDlg
   Local oMC
   Local oFont

   INIT DIALOG oDlg TITLE "Calendário - Exemplo 2" ;
      AT 20,20 SIZE 500,300

   PREPARE FONT oFont NAME "Courier New" WIDTH 0 HEIGHT -12

   @ 20,20 MONTHCALENDAR oMC ;
      SIZE 250,250 ;
      INIT Date() ;
      FONT oFont

   @ 300,20 BUTTON "Get Date" ON CLICK {||hwg_Msginfo(dtoc(oMC:GetValue()))} SIZE 100,40
   @ 300,60 BUTTON "Set Date" ON CLICK {||oMC:SetValue(Date())} SIZE 100,40

   ACTIVATE DIALOG oDlg

   Return Nil

//================================================================//
2019-07-06 19_39_40-monthcalendar.png
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Responder