Calendário no Forms

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
rafaeld
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 36
Registrado em: Seg, 28 Ago 2006 1:38 pm
Localização: Blumenau - SC

Aí pessoal, alguém sabe se eu posso criar um evento, por exemplo, clicar num botao e abrir um calendário???
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Cara, eu não tenho nada pronto aqui, mas dá pra fazer algo muito bom com relação a esses calendários popup. Veja só:

* Primeiro, você cria uma função FNC_CHAMA_CALENDARIO. Essa função apenas chama um FORM de calendário. (Esse form, basicamente mostra um calendário e fica esperando o cara clicar OK). --> Caso você não tenha um programa que mostra um calendário terá que fazer um OU achar algum na internet.
* Bom, quando o usuário escolheu a data e clicou OK, ele grava numa variável GLOBAL a data escolhida e retorna pra sua função, que recupera essa global e retorna em formato de DATA.

Dessa forma, você tem um popup de calendário feito no próprio forms! É um programa que pode ser usado em várioas ocasiões. Dá pra fazer com que a window desse form de calendário seja MODAL pra janela não se perder...

Em resumo: fica muito bom!

IDÉIA: Quem sabe a gente monta essa rotina e deixa disponível aqui pra todos ?
Se alguém tiver o form de calendário pronto já ajuda! Fica o desafio! :-)
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Pessoal:
Parece que tem um calendário no diretório DEMO do forms:

Selecionar tudo

<ORAHOME>\TOOLS\DEVDEMO60\DEMO\FORMS


Pra quem não tem, está disponível em :
http://www.oracle.com/technology/sample ... demos.html

Vou deixar o LINK apenas do calendário .ZIP nesse link:
http://www.glufke.net/oracle/download/calendario.zip

Estamos perto de fazer uma rotina BOA de calendário :-)
rafaeld
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 36
Registrado em: Seg, 28 Ago 2006 1:38 pm
Localização: Blumenau - SC

Beleza cara, valeu!!!
Vou dar uma olhada nesse demo aí....
jctq
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 27
Registrado em: Qua, 08 Fev 2006 1:21 pm
Localização: São Gonçalo
Att,
Julio Quintão

Cara não sei se você usa application , mas tem um calendario já pronto lá ...
no canvas blockname do form appstand. é só pegar e usar.
Valeu Abraços
izaiascatelli
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 16
Registrado em: Ter, 17 Mai 2005 4:24 pm
Localização: curitiba pr

Fiz um codigo em sql que retorna um calendário que pode
facilmente ser colocado em um bloco baseado em query:

Selecionar tudo

SELECT 
       segunda
    ,  terca
    ,  quarta
    ,  quinta
    ,  sexta
    ,  sabado
    ,  domingo

FROM (
SELECT

       Min(Decode(sem,1,d)) segunda,
       Min(Decode(sem,2,d)) terca,
       Min(Decode(sem,3,d)) quarta,
       Min(Decode(sem,4,d)) quinta,
       Min(Decode(sem,5,d)) sexta,
       Min(Decode(sem,6,d)) sabado,
       Min(Decode(sem,7,d)) domingo,
       d-sem semana

FROM
(
SELECT
Decode(To_Number(To_Char(To_Date(LEVEL||'/02/2007','dd/mm/yyyy'),'d')),1,7,To_Number(To_Char(To_Date(LEVEL||'/02/2007','dd/mm/yyyy'),'d'))-1) sem,
LEVEL d
FROM dual
CONNECT BY LEVEL <= To_Number(To_Char(last_day(To_Date('01/02/2007','dd/mm/yyyy')),'dd'))
)
GROUP BY d-sem
ORDER BY semana
)
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Ola izaiascatelli
Tentei executar o calendário num Oracle 8.1.7.4 e apresentou uma mensagem assim:

Selecionar tudo

ORA-01436: CONNECT BY loop in user data
Em que banco você desenvolveu esse SQL ?
izaiascatelli
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 16
Registrado em: Ter, 17 Mai 2005 4:24 pm
Localização: curitiba pr

Oracle 10
izaiascatelli
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 16
Registrado em: Ter, 17 Mai 2005 4:24 pm
Localização: curitiba pr

O resultado, conforme o mês, fica assim:

Selecionar tudo

SEGUNDA TERCA QUARTA QUINTA SEXTA SABADO DOMINGO
                          1     2      3       4
      5     6      7      8     9     10      11
     12    13     14     15    16     17      18
     19    20     21     22    23     24      25
     26    27     28
rafaeld
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 36
Registrado em: Seg, 28 Ago 2006 1:38 pm
Localização: Blumenau - SC

legal esse select aí, funciona certinho....
Valeu!!!
rcesar
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 2
Registrado em: Qua, 06 Fev 2008 8:29 pm
Localização: Palmares Paulista - SP

achei muito legal a idéia do calendário no form mais ficou mais irado :-o se vocês colocarem uma imagem de um calendário no fundo não é por nada mais ficou um trabalho bem profisa!!!
nem parece que foi montado no forms
lelostyle
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 9
Registrado em: Qui, 09 Jul 2009 9:59 pm
Localização: SP

dr_gori beleza ?

Alem dos forms vou precisar ter uma base de dados não é? com as informações do form para poder executar não é? ??? Desculpe a pergunta é que sou iniciante.

Abraço
RodrigoValentim
Moderador
Moderador
Mensagens: 367
Registrado em: Ter, 25 Mar 2008 3:41 pm
Localização: Salvador - BA
Rodrigo Valentim
Analista de Sistemas
Oracle Developer

Campanha: Faça uma pesquisa antes de perguntar!!!

Sim, para você trabalhar com forms, você precisa de uma base de dados...
rodcapella
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 19
Registrado em: Ter, 07 Jul 2009 10:26 am
Localização: Rio de Janeiro - RJ
_________________
Rodrigo Póvoa
Analista de Sistemas Júnior
Oracle Developer

Izaiascatelli,

Boa solução. Vou usar essa query ai para gerar um forms de calendário padrão.

Vlw,
Jezper
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 36
Registrado em: Seg, 17 Ago 2009 11:02 am
Localização: Gaspar-SC
Jeziel Peres

PL/SQL - Forms 6i

boa mais ainda tenho dificuldade na verdade em outra coisa...
tenho q cadastrar na tabela valores de determinados dias e isso acontecera como o usuario quiser ou seja vo te q enserir dados em determinado dia da semana e do mês... alguém poderia mi ajudar...
Eduardo Salles
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 8
Registrado em: Qua, 07 Mai 2008 8:53 pm
Localização: pr

Gostaria de contribuir com mais outra forma de retornar um calendário:

Selecionar tudo

 select lpad( Month, 20-(20-length(month))/2 ) month,
"Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sab"
from (select to_char(dt,'fmMonthfm YYYY') month,
CASE when to_char(dt,'fmMonthfm YYYY') like 'Dec%' AND to_char(dt+1,'iw') = '01' then '53'
when to_char(dt,'fmMonthfm YYYY') like 'Jan%' AND to_char(dt+1,'iw') = '53' then '0'
else to_char(dt+1,'iw')
END week,
max(decode(to_char(dt,'d'),'1',lpad(to_char(dt,'fmdd'),2))) "Dom",
max(decode(to_char(dt,'d'),'2',lpad(to_char(dt,'fmdd'),2))) "Seg",
max(decode(to_char(dt,'d'),'3',lpad(to_char(dt,'fmdd'),2))) "Ter",
max(decode(to_char(dt,'d'),'4',lpad(to_char(dt,'fmdd'),2))) "Qua",
max(decode(to_char(dt,'d'),'5',lpad(to_char(dt,'fmdd'),2))) "Qui",
max(decode(to_char(dt,'d'),'6',lpad(to_char(dt,'fmdd'),2))) "Sex",
max(decode(to_char(dt,'d'),'7',lpad(to_char(dt,'fmdd'),2))) "Sab"
from (select trunc(sysdate,'y')-1+rownum dt
from all_objects
where rownum <= add_months(trunc(sysdate,'y'),12) - trunc(sysdate,'y'))
group by to_char(dt,'fmMonthfm YYYY'), to_char( dt+1, 'iw' )
order by to_char(dt+1,'iw'))
order by to_date( month, 'Month YYYY' ), to_number(week) 
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 10 visitantes