Calendário para escolher datas

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

porter
Usuário Nível 5
Usuário Nível 5
Mensagens: 1057
Registrado em: 10 Dez 2009 16:44
Localização: OLIMPIA-SP

Calendário para escolher datas

Mensagem por porter »

olá pessoal,
Gostaria de implementar um calendário no sistema e poder selecionar um intervalo entre datas para usar
como filtro nos relatórios, procurei na pasta xHarbour\Exemplos, lá tem vários exemplos, mas referente a
calendário não encontrei, onde eu poderia encontrar um exemplo ?

Harbour 3.2.0dev (consoele)
porter
Usuário Nível 5
Usuário Nível 5
Mensagens: 1057
Registrado em: 10 Dez 2009 16:44
Localização: OLIMPIA-SP

Calendário para escolher datas

Mensagem por porter »

Obrigado Kapiaba.
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Calendário para escolher datas

Mensagem por Kapiaba »

Porte, em for windows, você pode fazer assim:
calendario.png
Abs
porter
Usuário Nível 5
Usuário Nível 5
Mensagens: 1057
Registrado em: 10 Dez 2009 16:44
Localização: OLIMPIA-SP

Calendário para escolher datas

Mensagem por porter »

Olá Kapiaba,
Ainda não estou desenvolvendo for windows, estou desenvolvendo com Harbour 3.2.0dev (console),
gostaria de melhorar gradativamente a interface do sistema.
O que estou querendo no momento é informar duas datas com uma melhor aparência, ou seja período inicial e
período final usarei o intervalo entre esses dois períodos para filtrar datas para gerar relatório, não se sei tem como
fazer isso usando calendário em modo console, se você tiver alguma sugestão, te agradeço.
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Calendário para escolher datas

Mensagem por Kapiaba »

Se entendi, neste caso, use o INDEX ON... FOR dDataini... dDataFin... MEMORY

browse()

Abs.
porter
Usuário Nível 5
Usuário Nível 5
Mensagens: 1057
Registrado em: 10 Dez 2009 16:44
Localização: OLIMPIA-SP

Calendário para escolher datas

Mensagem por porter »

Não é isso
Eu quero clicar em um calendário, por exemplo dia 01/05/2017 e atribuir essa data a uma variável
chamada periodoini

Quero clicar em outro calendário, e selecionar a data 31/05/2017 e atribuir essa data a uma variável
chamada periodofin
Creio que com calendário a interface do sistema, vai ficar com uma aparência melhor, não sei se tem
alguma lib que eu possa usar para fazer isso, ou algo semelhante para informar duas datas.

Harbour 3.2.0dev (console)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Calendário para escolher datas

Mensagem por JoséQuintas »

Sinceramente, estou pensando em retroceder.
Estou usando a messagebox() do Windows, e ela ficou muito chata no meu monitor.

O calendário pode acontecer a mesma coisa, mas tem o do Windows.
Só que talvez tenha que usar no mínimo a WVT que faz parte do core do Harbour.
Ou se for GTWVG, cheguei a montar algo, mas sinceramente, nem lembro mais.

Trata-se apenas de chamar o calendário do Windows.
calendario.png
calendario.png (8.87 KiB) Exibido 2747 vezes
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
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Calendário para escolher datas

Mensagem por JoséQuintas »

Só o básico: criar uma janela Windows e atribuir a classe calendário do próprio Windows, a SysMonthCal32.

Código: Selecionar todos

CREATE CLASS TstMonthCalendar INHERIT tstControl

   VAR ClassName INIT "SysMonthCal32"
   VAR objType   INIT objTypeStatic
   VAR Style     INIT WIN_WS_CHILD // + MCS_NOTODAY + MCS_NOTODAYCIRCLE + MCS_WEEKNUMBERS
   METHOD create( oParent, oOwner, aPos, aSize, aPresParams, lVisible )

   END CLASS

METHOD create( oParent, oOwner, aPos, aSize, aPresParams, lVisible )

   aSize := { 170, 245 }
   ::tstControl:Create( oParent, oOwner, aPos, aSize, aPresParams, lVisible )

   RETURN SELF
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
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Calendário para escolher datas

Mensagem por JoséQuintas »

Ou basta algo simples assim?
calendario2.png
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/
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Calendário para escolher datas

Mensagem por Kapiaba »

Porter, eu faria assim, veja se te ajuda. Mesmo porquê, o calendário só confundiria o uçuário. Melhor é ele digitar a data inicial e a data final e você faz o filtro como quiser.
porter.png
Abs.
porter
Usuário Nível 5
Usuário Nível 5
Mensagens: 1057
Registrado em: 10 Dez 2009 16:44
Localização: OLIMPIA-SP

Calendário para escolher datas

Mensagem por porter »

Porter, eu faria assim, veja se te ajuda. Mesmo porquê, o calendário só confundiria o uçuário. Melhor é ele digitar a data inicial e a data final e você faz o filtro como quiser.
ola Kapiaba e Quintas, obrigado por responder,
Quanto a informar a data inicial e final, tudo bem, mas eu gostaria de algo parecido com esse box que
você postou para informa as datas, entendeu, isso que eu não tenho ideia de como se faz ou se tem como
fazer algo parecido usando o harbour 3.2.0dev (console), usando uma lib grafica ou api do windows ou a
melhor forma.
Estou apenas criando um quadro e dentro informando data inicial e final, quero fazer algo mais moderno,
não sei se estou conseguindo explicar.

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

Calendário para escolher datas

Mensagem por JoséQuintas »

Concordo com o Kapiaba.
Imagine que quer a data de 1/1/2000....
Vai ficar paginando o calendário por 17 anos.... complicado.

E quanto a tela Windows.... elas me causam raiva....
Muito melhor e mais prática uma tela simples em GTWVG.
Pode parecer piada... mas é sério...
Já pensando em retirar o uso de messagebox() do aplicativo.

Janelas é bom, mas janelinhas... é problema.
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/
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Calendário para escolher datas

Mensagem por Kapiaba »

Mister Quintas, não entendi... Porquê telas for windows causam-lhe raiva? São fáceis de fazer e lindas!!
quintas.png
Abs
porter
Usuário Nível 5
Usuário Nível 5
Mensagens: 1057
Registrado em: 10 Dez 2009 16:44
Localização: OLIMPIA-SP

Calendário para escolher datas

Mensagem por porter »

Aqui no fórum tem um tópico "Exemplo simples de gtwvg"

Vou compilar e ver se consigo adaptar alguma coisa em meu sistema,
nunca fiz nada com GTWVG.
Responder