PDA

Ver la Versión Completa : Dias y meses


romansiux
11-06-2005, 23:38:46
Hola a todos.

Les agradecería muchísimo su ayuda..
Tengo Delphi7 y mi Base de Datos esta en Mysql, hago la conexión por medio de MyDac.

Quiero que el sistema me ponga en un reporte cuando le tengo que llamar a cierto cliente, por ejemplo primero se le llama al cliente y se le pregunta cuando se le puede llamar, si el dice que todos los Lunes, entonces que cada lunes me ponga en el reporte que tengo que llamarle a ese cliente, y todos los días se va ha estar checando este reporte para saber a quien llamarle.

Otro ejemplo es si el cliente quiere que le llame a finales de cada mes, que aparezca en el reporte ya cuando sea finales de cada mes.

Pero no tengo ni idea de como hacerlo, ¿alguien me podría dar alguna idea?
La consulta la quiero hacer por sql para poder sacarla en el reporte...

:confused: Lo he intentado capturando la fecha, pero no se como saber si es Lunes o Martes.

:( Saludos y Muchísimas gracias por anticipado...

lucasarts_18
12-06-2005, 01:47:57
Hola:

Podrías intentar capturando la fecha con el componente TDateTimePicker de la ficha Win32, y si te fijas en las propiedades del objeto, tiene una propiedad dateFormat teniendo éste dos modos:

1- Formato corto
2- Formato largo.

Éste último podría servirte ya que toma el formato largo de fecha que se encuentra configurado en el panel de control, o sea día,mes,año.

Creo que por ahí podrías ver ;) .

Suerte.

Saludos.
Aarón.

romansiux
12-06-2005, 04:31:25
Lucasarts 18, ya estuve viendo el TDateTimePicker, el Formato largo, me pone de la siguiente manera (Sabado, 11 de Junio de 2005), esto esta muy bueno, pero quise guardarlo en mi Base de Datos y no se guarda asi, de la forma que me guarda es de la siguiente manera (11/06/2005 21:03:35), pero yo quiero que me guarde así (sabado, 11 de junio de 2005) tal y como esta en el TDateTimePicker.

Como le puedo hacer?

De la forma que lo guardo es de la siguiente manera:
Este es el código que tengo en el Botón Guardar
MyTable1.Insert;
MyTable1.FieldByName('dia').AsDateTime:=DateTimePicker1.DateTime;
MyTable1.Post;
MyTable1.Close;
MyTable1.Open;

Saludos

Y gracias

lucasarts_18
12-06-2005, 06:15:31
Hola:

Te lo guarda así por qué esa es la forma o el tipo de dato especifícado en la BD, no conozco otra forma de hacerlo, así como lo propones tú, ojalá alguien sepa, así aprovecho de aprender yo también :) .
Otra solución sería ( no se sí será lo mejor) es guardarlo en un campo varchar en la BD así podrás guardarlo de la manera que dices,no se me ocurre otra forma :( .

Saludos.
Aarón.

Ohcan
13-06-2005, 11:18:45
Prueba a guardar en un campo aparte el día de la semana.
Para sacarlo puedes usar al go como esto:

function TForm1.DiaDeLaSemana(Fecha: TDate; Completo:Boolean=False): string;
var
DiasSemana:array[1..7] of string;
begin
//Calculamos la letra del día de la semana
if Completo then
begin
DiasSemana[1] := 'DOMINGO'; DiasSemana[2] := 'LUNES';
DiasSemana[3] := 'MARTES'; DiasSemana[4] := 'MIERCOLES';
DiasSemana[5] := 'JUEVES'; DiasSemana[6] := 'VIERNES';
DiasSemana[7] := 'SABADO';
end
else
begin
DiasSemana[1] := 'D'; DiasSemana[2] := 'L'; DiasSemana[3] := 'M';
DiasSemana[4] := 'X'; DiasSemana[5] := 'J'; DiasSemana[6] := 'V';
DiasSemana[7] := 'S';
end;
Result := DiasSemana[DayOfWeek(Fecha)];
end;

romansiux
13-06-2005, 17:19:12
Ya pude capturar la fecha como yo queria ....Gracias a todos por su ayuda:D

Ahora lo que me falta es hacer la consulta en SQL:confused: