xl_delphi 0 Denunciar post Postado Abril 7, 2009 Boa tarde galera, Qria saber se tem alguma forma de informar o dia da semana em um edit ex. segunda - feira e ao clicar num botão retornar todos os dias do mês que caem na segunda-feira. Pesquisei, mas só achei o contrário, colocar a data e informar os dias da semana. Alguém já viu alguma coisa parecida... Por favor se alguém souber ou tiver alguma idéia de como fazer, me ajudem... http://forum.imasters.com.br/public/style_emoticons/default/cry.gif Compartilhar este post Link para o post Compartilhar em outros sites
Maikel Scheid 1 Denunciar post Postado Abril 8, 2009 Olá Fiz uma postagem aqui da rotina para saber os dias da semana (seg-feira por exemplo) presentes no mês. http://maikelscheid.blogspot.com/2009/04/d...tes-no-mes.html Att Compartilhar este post Link para o post Compartilhar em outros sites
xl_delphi 0 Denunciar post Postado Abril 8, 2009 Oi Maikel Scheid é exatamente disso que eu preciso... http://forum.imasters.com.br/public/style_emoticons/default/joia.gif só tenho mais uma pergunta... Eu não conheço DaysInMonth(Date), mas pelo q vi ele pega sempre o mês atual.. Tem como fazer pra que apareça de 2 meses que não sejam necessariamente o mês atual ou o próximo??? http://forum.imasters.com.br/public/style_emoticons/default/upset.gif Brigadão pela ajuda!!! http://forum.imasters.com.br/public/style_emoticons/default/grin.gif Compartilhar este post Link para o post Compartilhar em outros sites
Chrnos 30 Denunciar post Postado Abril 8, 2009 Na verdade xl_delphi, ele pega o mês de acordo com a data passada por referência na função (onde está sendo passada o Date, que é uma função própria do delphi para retornar o dia atual). Se você mudar o date por outra data válida a função DaysInMonth vai considerar o mês da data passada. []'s Compartilhar este post Link para o post Compartilhar em outros sites
xl_delphi 0 Denunciar post Postado Abril 13, 2009 Oi Chrnos, como falei anteriormente não sei nd sobre essa função DaysInMonth e tb não sei como identificar onde está sendo passada o Date. O q eu fiz foi acessar o link do Maikel Scheid, e lá tem esse código: procedure TForm1.Button1Click(Sender: TObject); var DiasMes : Integer; i : integer; DiaSemana : Integer;{1 Dom, 2 Seg, 3 Ter, 4 Qua, 5 Qui, 6 ---, 7 Sab} {Use a uses DateUtils} Dias : String; begin DiasMes := DaysInMonth(Date); DiaSemana := 2; for I := 1 to DiasMes do begin {Verifica os dias que são segunda-feira e adiciona a data na lista} if DayOfWeek(StrToDate(IntToStr(i)+FormatDateTime('/MM/yyyy',Date))) = DiaSemana then Dias := Dias + IntToStr(i)+FormatDateTime('/MM/yyyy',Date) + #13; end; ShowMessage(Dias); end; a única coisa q eu fiz foi ctrl+v e ctrl+c... http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif você pode me ajudar a encontrar o local onde é passado esse date??? Compartilhar este post Link para o post Compartilhar em outros sites
Chrnos 30 Denunciar post Postado Abril 13, 2009 Amigo, o Date é uma função própria do delphi e está sendo passada para a função DaysInMonth nesta linha: DiasMes := DaysInMonth(Date); Ou seja... você precisa trocar o Date dos () pela data que quer usar de referência. []'s Compartilhar este post Link para o post Compartilhar em outros sites
xl_delphi 0 Denunciar post Postado Abril 15, 2009 Bom dia Chrnos, Fiz como você falou: Ou seja... você precisa trocar o Date dos () pela data que quer usar de referência. Mas saiu algo errado, alterei o date e coloquei uma data ex. DiasMes := DaysInMonth(15/04/2009); e o ano q aparece é 1899. :unsure: você pode me ajudar a sair dessa!!! Compartilhar este post Link para o post Compartilhar em outros sites
Maikel Scheid 1 Denunciar post Postado Abril 15, 2009 tente assim DiasMes := DaysInMonth(StrToDate('15/04/2009')) Att Compartilhar este post Link para o post Compartilhar em outros sites
xl_delphi 0 Denunciar post Postado Abril 16, 2009 Boa tarde galera, Ainda não consegui... http://forum.imasters.com.br/public/style_emoticons/default/upset.gif Primeiro fiz assim: procedure TForm1.Button1Click(Sender: TObject); var DiasMes : Integer; i : integer; DiaSemana : Integer;{1 Dom, 2 Seg, 3 Ter, 4 Qua, 5 Qui, 6 ---, 7 Sab} {Use a uses DateUtils} Dias : String; begin DiasMes := DaysInMonth(StrToDate('15/04/2009')) DiaSemana := 2; for I := 1 to DiasMes do begin {Verifica os dias que são segunda-feira e adiciona a data na lista} if DayOfWeek(StrToDate(IntToStr(i)+FormatDateTime('/MM/yyyy',(StrToDate('15/04/2009')))= DiaSemana then Dias := Dias + IntToStr(i)+FormatDateTime('/MM/yyyy',(StrToDate('15/04/2009'))) + #13; end; ShowMessage(Dias); end; deu o seguinte erro: Incompatible types: 'String' and 'Integer' Depois tenteis assim: procedure TForm1.Button1Click(Sender: TObject); var DiasMes : Integer; i : integer; DiaSemana : Integer;{1 Dom, 2 Seg, 3 Ter, 4 Qua, 5 Qui, 6 ---, 7 Sab} {Use a uses DateUtils} Dias : String; begin DiasMes := DaysInMonth(StrToDate('15/04/2009')); DiaSemana := 2; for I := 1 to DiasMes do begin if DayOfWeek(StrToDate(IntToStr(i)+FormatDateTime('/MM/yyyy',diasmes))) = DiaSemana then Dias := Dias + IntToStr(i)+FormatDateTime('/MM/yyyy',diasmes) + #13; end; ShowMessage(Dias); end; Mas o ano sai 1900... Por favor me ajudem... http://forum.imasters.com.br/public/style_emoticons/default/cry.gif Obg Compartilhar este post Link para o post Compartilhar em outros sites
Maikel Scheid 1 Denunciar post Postado Abril 16, 2009 Olá Abri o Delphi aqui e corrigi as duas rotinas, onde as mesmas seguem abaixo corrigidas e funcionando corretamente: procedure TForm1.Button1Click(Sender: TObject); var DiasMes : Integer; i : integer; DiaSemana : Integer;{1 Dom, 2 Seg, 3 Ter, 4 Qua, 5 Qui, 6 ---, 7 Sab} {Use a uses DateUtils} Dias : String; begin DiasMes := DaysInMonth(StrToDate('15/04/2009')); DiaSemana := 2; for I := 1 to DiasMes do begin {Verifica os dias que são segunda-feira e adiciona a data na lista} if DayOfWeek(StrToDate(IntToStr(i)+FormatDateTime('/MM/yyyy',(StrToDate('15/04/2009')))))= DiaSemana then Dias := Dias + IntToStr(i)+FormatDateTime('/MM/yyyy',(StrToDate('15/04/2009'))) + #13; end; ShowMessage(Dias); end; procedure TForm1.Button2Click(Sender: TObject); var DiasMes : Integer; i : integer; DiaSemana : Integer;{1 Dom, 2 Seg, 3 Ter, 4 Qua, 5 Qui, 6 ---, 7 Sab} {Use a uses DateUtils} Dias : String; begin DiasMes := DaysInMonth(StrToDate('15/04/2009')); DiaSemana := 2; for I := 1 to DiasMes do begin if DayOfWeek(StrToDate(IntToStr(i)+FormatDateTime('/MM/yyyy',StrToDate('15/04/2009')))) = DiaSemana then Dias := Dias + IntToStr(i)+FormatDateTime('/MM/yyyy',StrToDate('15/04/2009')) + #13; end; ShowMessage(Dias); end; Seu problema no primeiro caso é a falta de alguns parenteses nas equaçoes. No segundo caso, você estava passando a variavel DiasMes como sendo uma variavel do tipo Date e a mesma é integer. Substitui a variavel pela data que você está verificando. Att Compartilhar este post Link para o post Compartilhar em outros sites
xl_delphi 0 Denunciar post Postado Abril 23, 2009 Boa Tarde, Desculpem a demora... fiquei tão feliz ao v q deu certo q fui logo colocar em prática e acabei esquecendo de voltar aqui pra agradecer e dizer q tá funcionando direitinho... Muito obrigado aos amigos q me ajudaram em especial Maikel Scheid. Vcs são 10 http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Abraços!!! Compartilhar este post Link para o post Compartilhar em outros sites