Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-10-2006
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 30
jachguate Va por buen camino
Olvidé mencionar que debes incluir la función DateUtils en la clausula Uses de tu unidad. Francamente desconozco si dicha unidad está disponible en delphi 5.

Saludos.
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #2  
Antiguo 01-11-2006
reina reina is offline
Miembro
 
Registrado: ago 2005
Ubicación: Capital Federal-La Plata (Bs As)
Posts: 147
Poder: 22
reina Va por buen camino
Hola! tarde..recien copie el codigo del compañero..y le reforme unas cosas por sino tenes esas funciones en delphi5..en mi triste delphi 4 no estan .

Código Delphi [-]
procedure TForm1.QuincenasDelAnio(Anio: integer);
var
  FechaIni, FechaFin: TDate;  aux, i:integer;
begin
  for i:= 1 to 12 do
  begin
       FechaIni := EncodeDate(Anio, i, 1);
       FechaFin := EncodeDate(Anio, i, 15);
       Memo1.Lines.add(Datetostr(FechaIni) + '-' + DateToStr(FechaFin));
       FechaIni:= EncodeDate(Anio, i, 16);
       if i = 12 then
           aux:=Round(EncodeDate((Anio + 1), 1, 1) - EncodeDate(Anio, i, 1))
       else
           aux:=Round(EncodeDate(Anio, i + 1, 1) - EncodeDate(Anio, i, 1));
       FechaFin :=EncodeDate(Anio,i, aux);
       Memo1.Lines.add(Datetostr(FechaIni) + '-' + DateToStr(FechaFin));
  end;
end;
procedure TForm1.MesesDelAnio(Anio: Integer);
var
  FechaIni, FechaFin: TDate;  aux, i:integer;
begin
  for i:= 1 to 12 do
  begin
       FechaIni := EncodeDate(Anio, i, 1);
       if i = 12 then
           aux:=Round(EncodeDate((Anio + 1), 1, 1) - EncodeDate(Anio, i, 1))
       else
           aux:=Round(EncodeDate(Anio, i + 1, 1) - EncodeDate(Anio, i, 1));
       FechaFin :=EncodeDate(Anio,i, aux);
       Memo1.Lines.add(Datetostr(FechaIni) + '-' + DateToStr(FechaFin));
  end;
end;

Bueno fijate si te sirve...esta hecho medio asi nomas, de todas formas me parece que si sos nuevo en delphi deberias usar el help..la ayuda no muerde y esta para ayudar! la palabra misma lo dice. Si pones date..datetime o algo relacionado con lo que queres buscar te sale lo que buscas.
Tambien podrias mirar el libro La Cara Oculta de Delphi 4, es el mejor para mi gusto para aprender delphi.
salu22 y exitos
Responder Con Cita
  #3  
Antiguo 01-11-2006
OscarRd OscarRd is offline
Miembro
 
Registrado: sep 2006
Posts: 14
Poder: 0
OscarRd Va por buen camino
Gracias a todos, por su valiosa colaboracion
con sus consejos y recomendaciones pude lograr mi objetivo.

A continuacion esta el codigo:
Una ves mas Gracias a todos....
Código Delphi [-]
procedure TForm1.Button2Click(Sender: TObject);
var
  Present,PrimerDia,primerDiaMesSig,
   m,ndia,dFecha,dFecha2,dFecha3,dFecha4: TDateTime;
   cantDiaMes,re: word;
   Year, Month, Day, Hour, Min, Sec, MSec, Tf : Word;
    n :integer;
    date, Date2, date3, Date4,
   sYear,sDia,cFecha,cFecha2,cFecha3,cFecha4 : string;
    I,iCount, DiaTopeMes, inDias :Integer;
   quinc1, quinc2:Real;
begin
  case  rgpPeriodos.ItemIndex of
   0:begin {Semanal}
      DiaTopeMes := 30;
     quinc1:= DiaTopeMes/2;
    quinc2:= quinc1 + 1;
    with Query1 do
     begin
        Sql.Clear;
        close;
        try
         sql.add('create table #TempPeri(fecha_1 char(20),fecha_2 char(20))');
          ExecSQL;
        except

        end;
         sYear :=copy(DateEdit971.text,7,10); //Año
          sDia :=copy(DateEdit971.text,1,2); //Dia
       For i:= 1 to 12 Do
       Begin
         Month:= Month + 1;
           if Length(IntToStr(Month)) <> 2 then
           begin
             Date := sDia+'/'+'0'+IntToStr(Month)+'/'+sYear;
           end
           else
           begin
               Date := sDia+'/'+IntToStr(Month)+'/'+sYear;
           end;

            dFecha :=strTodate(Date);

          //----------------------------------------------------------
           {Obtiene el Total de dias del mes}
           PrimerDia := StrToDate(Date);
         PrimerDiaMesSig := incMonth(PrimerDia,1);
         cantDiaMes := round(PrimerDiaMesSig - PrimerDia);

            for iCount := 1 to 4 do
            Begin
             inDias := 7;
              if iCount = 1 then
              begin
                dFecha4 :=  dFecha;
              dFecha  :=  dFecha+7;
              Dfecha  :=  dFecha -1;
              end
              else
              begin
                dFecha4 := dFecha;
              dFecha  := dFecha+7;
              end;

              cfecha  := DateTostr(dFecha);
              cFecha4 := DateTostr(dFecha4);

              if iCount = 1 then
              begin
               Close;
              sql.Clear ;
                Sql.Add('insert into #TempPeri');
                sql.add('Values('+QuotedStr(cFecha4)+','+QuotedStr(cFecha)+')');
                ExecSQL;
              end;

              dFecha2 := dFecha+1;
              cFecha2 := DateTostr(dFecha2);

              dFecha3 := dFecha+7;
              cFecha3 := DateTostr(dFecha3);

             sql.Clear ;
               Sql.Add('insert into #TempPeri');
             sql.add('Values('+QuotedStr(cFecha2)+','+QuotedStr(cFecha3)+')');
             ExecSQL;
            end;
       end;
     end;
     With query2 do
     begin
        sql.clear;
        close;
        sql.add('select * from #TempPeri');
        open;
     end;{=======FIN SEMANAL=======}
   end;

   1:begin {Quincenal}
      DiaTopeMes := 30;
     quinc1:= DiaTopeMes/2;
    quinc2:= quinc1 + 1;
    with Query1 do
     begin
        Sql.Clear;
        close;
        try
         sql.add('create table #TempPeri(fecha_1 char(20),fecha_2 char(20))');
          ExecSQL;
        except

        end;
         sYear :=copy(DateEdit971.text,7,10); //Año
          sDia :=copy(DateEdit971.text,1,2); //Dia
       For i:= 1 to 12 Do
       Begin
         Month:= Month + 1;
           if Length(IntToStr(Month)) <> 2 then
           begin
             Date := sDia+'/'+'0'+IntToStr(Month)+'/'+sYear;
              Date2 := FloatToStr(quinc1) +'/'+'0'+IntToStr(Month)+'/'+sYear;
           end
           else
           begin
               Date := sDia+'/'+IntToStr(Month)+'/'+sYear;
              Date2 := FloatToStr(quinc1) +'/'+IntToStr(Month)+'/'+sYear;
           end;

           //----------------------------------------------------------
           {Obtiene el Total de dias del mes}
           PrimerDia :=StrToDate(Date);
         PrimerDiaMesSig := incMonth(PrimerDia,1);
         cantDiaMes := round(PrimerDiaMesSig - PrimerDia);
           //-----------------------------------------------------------
           if Length(IntToStr(Month)) <> 2 then
           begin
          Date3 := FloatToStr(quinc2) +'/'+'0'+IntToStr(Month)+'/'+sYear;
             Date4 := IntToStr(cantDiaMes ) +'/'+'0'+IntToStr(Month)+'/'+sYear;
           end
           else
           begin
           Date3 := FloatToStr(quinc2) +'/'+IntToStr(Month)+'/'+sYear;
            Date4 := IntToStr(cantDiaMes ) +'/'+IntToStr(Month)+'/'+sYear;
           end;


           Close;
           sql.Clear ;
           Sql.Add('insert into #TempPeri');
           sql.add('Values('+QuotedStr(Date)+','+QuotedStr(Date2)+')');
           ExecSQL;

           sql.Clear ;
             Sql.Add('insert into #TempPeri');
           sql.add('Values('+QuotedStr(Date3)+','+QuotedStr(Date4)+')');
           ExecSQL;
       end;
     end;
     With query2 do
     begin
        sql.clear;
        close;
        sql.add('select * from #TempPeri');
        open;
     end;
   end; {===============Fin Quincenal===============}

   2:begin {Mensual}
      DiaTopeMes := 30;
     quinc1:= DiaTopeMes/2;
    quinc2:= quinc1 + 1;
    with Query1 do
     begin
        Sql.Clear;
        close;
        try
            Sql.add('drop table #TempPeri');
            Sql.Clear;
            close;
        sql.add('create table #TempPeri(fecha_1 char(20),fecha_2 char(20))');
          ExecSQL;
        except
        end;
         sYear :=copy(DateEdit971.text,7,10); //Año
          sDia :=copy(DateEdit971.text,1,2); //Dia
       For i:= 1 to 12 Do
       Begin
         Month:= Month + 1;
           if Length(IntToStr(Month)) <> 2 then
           begin
             Date := sDia+'/'+'0'+IntToStr(Month)+'/'+sYear;
           end
           else
           begin
               Date := sDia+'/'+IntToStr(Month)+'/'+sYear;
           end;

           //----------------------------------------------------------
           {Obtiene el Total de dias del mes}
           PrimerDia :=StrToDate(Date);
         PrimerDiaMesSig := incMonth(PrimerDia,1);
         cantDiaMes := round(PrimerDiaMesSig - PrimerDia);
           //-----------------------------------------------------------
           if Length(IntToStr(Month)) <> 2 then
           begin
             Date4 := IntToStr(cantDiaMes ) +'/'+'0'+IntToStr(Month)+'/'+sYear;
           end
           else
           begin
             Date4 := IntToStr(cantDiaMes ) +'/'+IntToStr(Month)+'/'+sYear;
           end;

           Close;
           sql.Clear ;
           Sql.Add('insert into #TempPeri');
           sql.add('Values('+QuotedStr(Date)+','+QuotedStr(Date4)+')');
           ExecSQL;
       end;
     end;
     With query2 do
     begin
        sql.clear;
        close;
        sql.add('select * from #TempPeri');
        open;
     end; {===============Fin Mensual====================}
     end;
     3:begin {Anual}
       with Query1 do
      begin
        Sql.Clear;
       close;
       try
          Sql.add('drop table #TempPeri');
           Sql.Clear;
            close;
        sql.add('create table #TempPeri(fecha_1 char(20),fecha_2 char(20))');
          ExecSQL;
         except
         end;

         sYear := copy(DateEdit971.text,7,10); //Año
          sDia  := copy(DateEdit971.text,1,2); //Dia

         if Length(IntToStr(Month)) <> 2 then
         begin
          Date := sDia+'/'+'01'+'/'+sYear;
         end
        else
        begin
          Date := sDia+'/'+IntToStr(Month)+'/'+sYear;
        end;

         dFecha := StrTodate(Date);
         cFecha := DateTostr(dFecha);

         cFecha2 := '31/12/'+sYear;


         sql.Clear;
         Close;
        Sql.Add('insert into #TempPeri');
        sql.add('Values('+QuotedStr(cFecha)+','+QuotedStr(cFecha2)+')');
         ExecSQL;
        end;
         With query2 do
        begin
          sql.clear;
          close;
          sql.add('select * from #TempPeri');
          open;
        end;
       end;{=============Anual==================}
 end;
end;

Última edición por jachguate fecha: 02-11-2006 a las 15:10:39.
Responder Con Cita
  #4  
Antiguo 02-11-2006
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 30
jachguate Va por buen camino
Hola.

Me tomé la libertad de editar tu mensaje para añadir la etiqueta [delphi]. ¡La diferencia en la presentación del código es notable!.

Para aprender su uso, podes editar tu mensaje o bien seguir en mi firma el vínculo a la etiqueta [code], cuyo uso es idéntico.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #5  
Antiguo 02-11-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Un consejo Oscar, elimina el try except ... end si no tienes nada puesto entre el Except y el end. Si ocurriese un error, jamás podrías detectar que se produce en ese try except.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Obtener tiempo entre fechas YaninaGenia Oracle 5 04-05-2006 20:46:20
función para obtener diferencias entre fechas - Firebird clanmilano SQL 1 11-11-2005 13:29:52
Las horribles fechas, control de fechas Huer OOP 6 18-10-2005 19:11:49
Backup de tablas especificas Marcos Firebird e Interbase 2 18-02-2005 15:20:16
Pintar Celdillas especificas en una grilla josem Conexión con bases de datos 2 19-07-2004 20:57:17


La franja horaria es GMT +2. Ahora son las 21:39:56.


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