Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-10-2013
pabloe9k pabloe9k is offline
Registrado
NULL
 
Registrado: oct 2013
Posts: 5
Poder: 0
pabloe9k Va por buen camino
Question Ayuda con función para detectar días.

Hola a todos.
Necesito de su ayuda, gente.
Tendría que hacer una función que me devuelva la cantidad de días martes que tiene el mes en curso.
Por las dudas, aclaro que son muy básicos mis conocimientos de Delphi, con lo cual la respuesta con la que me ayuden tendría que tener el código de la función completo.
Si pueden darme una mano, será realmente una ayuda!!
Muchas gracias.
Saludos.
Responder Con Cita
  #2  
Antiguo 31-10-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola pabloe9k, bienvenido a Club Delphi

Como a todos los que se inician te invitamos a que leas nuestra guía de estilo.

Código Delphi [-]
uses DateUtils;

function CountSameDay(const aYear, aMonth, aDay: Word): Integer;
var
  i: Integer;
begin
  Result := 0;
  for i := 1 to DaysInAMonth(aYear, aMonth) do
    if DayOfTheWeek(EncodeDate(aYear, aMonth, i)) = aDay then
      Inc(Result);
end;

Ejemplo de uso:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  mes, anio : Word;
begin
  mes  := 10;
  anio := 2013;
  ShowMessage(Format('El mes %d de %d tiene %d días martes',
    [mes,anio,CountSameDay(anio ,mes, DayTuesday)]));
end;
La función te sirve para cualquier día, lo envio como argumento (aDay), usando las constantes simbólicas declaradas en la unidad DateUtils:
Código Delphi [-]
const
  DayMonday = 1;
  DayTuesday = 2;
  DayWednesday = 3;
  DayThursday = 4;
  DayFriday = 5;
  DaySaturday = 6;
  DaySunday = 7;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 31-10-2013 a las 19:50:40.
Responder Con Cita
  #3  
Antiguo 31-10-2013
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
pabloe9k,

Cita:
Empezado por pabloe9k
...una función que me devuelva la cantidad de días martes que tiene el mes en curso...
Revisa este código:
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, DateUtils, ComCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    MonthCalendar1: TMonthCalendar;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

// Calcula la cantidad de días Martes de un Mes y Año específico
procedure TForm1.Button1Click(Sender: TObject);
const
   NameMonth : Array[1..12] of String = ('Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic');

var
   i : Integer;
   DateSearch : TDate;
   Year, Month, Days, DaysMonth : Word;

begin

   DateSearch := MonthCalendar1.Date;
   Year := StrToInt(FormatDateTime('y',DateSearch));
   Month := StrToInt(FormatDateTime('m',DateSearch));
   DaysMonth := DaysInAMonth(Year,Month);

   for i := 1 to DaysMonth do
      if FormatDateTime('ddd', EncodeDate(Year,Month,i)) = 'Tue' then
         inc(Days);

   MessageDlg(Format('El Mes de %s tiene %d días Martes',[NameMonth[Month],Days]),mtInformation,[mbOK],0);

end;

end.
El código anterior calcula la cantidad de días Martes de un Mes y Año específico como se puede apreciar en la siguiente imagen:



Espero sea útil

Nelson.
Responder Con Cita
  #4  
Antiguo 01-11-2013
pabloe9k pabloe9k is offline
Registrado
NULL
 
Registrado: oct 2013
Posts: 5
Poder: 0
pabloe9k Va por buen camino
Thumbs up

Muchas, muchas gracias a ambos!
Ya me pongo a probarlo.

Saludos!
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Ayuda para detectar errores en consultas DamianG Varios 4 13-06-2011 14:59:20
Aportacion Funcion para calcular dias : DaysForDate bitbow Varios 1 08-11-2010 20:49:24
funcion para saber los dias que hay entre dos fechas estebanx Varios 5 19-04-2006 23:01:51
Detectar una fecha 30 días antes. darkone2k3 Varios 9 12-11-2004 20:31:18
Ayuda para detectar un fallo en diseño de dll Sergio OOP 3 17-10-2003 18:33:17


La franja horaria es GMT +2. Ahora son las 23:42:43.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi