Ver Mensaje Individual
  #3  
Antiguo 27-08-2013
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Reputación: 23
José Luis Garcí Va camino a la fama
La 3ª parte

Código Delphi [-]



procedure TMiPanelDiary.Paint;
function xfsema(ffecha:tDateTime):integer;    //Nos da el día de la semana en número
var
    texfec:string;
    fec: integer;
    fec2:string;
    Present: TDateTime;
    Year, Month, Day, Hour, Min, Sec, MSec: Word;
begin
        Present:= ffecha;
        DecodeDate(Present, Year, Month, Day);
        case  dayofweek(ffecha)of
          1:Fec:=7;
          2:Fec:=1;
          3:Fec:=2;
          4:Fec:=3;
          5:Fec:=4;
          6:Fec:=5;
          7:Fec:=6;
        end;
        Result:=fec;
end;

function xdiasemana(VDia:integer;Language:TLengua):string; //Muestra el día de la semana
var REDia:string;       //Añadir el lenguaje y su traducción
begin
   case  VDia of
      7:case Language of
             Espanol:REDia:='Domingo';
             Frances:REDia:='Dimanche' ;
             Aleman:REDia:='Sonntag'  ;
             Italiano:REDia:='Domenica'  ;
             Ingles:REDia:='Sunday'  ;
             Catalan:REDia:='Diumenge'  ;
             Gallego:REDia:='Domingo'  ;
             Vasco:REDia:='Igandea' ;
        end;
      1:case Language of
             Espanol:REDia:='Lunes';
             Frances:REDia:='Lundi'  ;
             Aleman:REDia:='Montag'  ;
             Italiano:REDia:='Lunedi'  ;
             Ingles: REDia:='Monday' ;
             Catalan:REDia:='Dilluns'  ;
             Gallego:REDia:='Luns'  ;
             Vasco: REDia:='Astelehena' ;
        end;
      2:case Language of
             Espanol:REDia:='Martes';
             Frances:REDia:='Mardi'  ;
             Aleman:REDia:='Dienstag'  ;
             Italiano:REDia:='Martedì'  ;
             Ingles:REDia:='Tuesday'  ;
             Catalan:REDia:='Dimarts'  ;
             Gallego:REDia:='Martes'  ;
             Vasco:REDia:='Asteartea'  ;
        end;
      3:case Language of
             Espanol:REDia:='Miercoles';
             Frances: REDia:='Mercredi' ;
             Aleman: REDia:='Mittwoch' ;
             Italiano:REDia:='Mercoledì'  ;
             Ingles:REDia:='Wednesday'  ;
             Catalan:REDia:='Dimecres'  ;
             Gallego:REDia:='Mércores'  ;
             Vasco:REDia:='Asteazkena'  ;
        end;
      4:case Language of
             Espanol:REDia:='Jueves';
             Frances:REDia:='Jeudi'  ;
             Aleman: REDia:='Donnerstag' ;
             Italiano:REDia:='Giovedi'  ;
             Ingles:REDia:='Thursday'  ;
             Catalan: REDia:='Dijous' ;
             Gallego:REDia:='Xoves'  ;
             Vasco:REDia:='Osteguna'  ;
        end;
      5:case Language of
             Espanol:REDia:='Viernes';
             Frances:REDia:='Vendredi'  ;
             Aleman:REDia:='Freitag'  ;
             Italiano:REDia:='Venerdì'  ;
             Ingles:REDia:='Friday'  ;
             Catalan:REDia:='Divendres'  ;
             Gallego: REDia:='Venres' ;
             Vasco:REDia:='Ostirala'  ;
        end;
      6:case Language of
             Espanol:REDia:='Sábado';
             Frances:REDia:='Samedi'  ;
             Aleman:REDia:='Samstag'  ;
             Italiano:REDia:='Sabato'  ;
             Ingles:REDia:='Saturday'  ;
             Catalan: REDia:='Dissabte' ;
             Gallego:REDia:='Sábado'  ;
             Vasco:REDia:='Larunbata'  ;
        end;
   end;
   Result:=REDia;
end;

function Mes(ffecha:tDateTime;Language:TLengua):string;  //Nos devuelve el mes
var
    fec2:string;
    Present: TDateTime;
    Year, Month, Day, Hour, Min, Sec, MSec: Word;
begin
        Present:= ffecha;
        DecodeDate(Present, Year, Month, Day);
        Case month of
          1:case Language of
             Espanol:fec2:='Enero';
             Frances:fec2:='Janvier';
             Aleman:fec2:='Januar';
             Italiano:fec2:='Gennaio';
             Ingles:fec2:='January';
             Catalan:fec2:='Gener';
             Gallego:fec2:='Xaneiro';
             Vasco:fec2:='Urtarrila';
            end;

          2:case Language of
             Espanol:fec2:='Febrero';
             Frances:fec2:='Février';
             Aleman:fec2:='Februar';
             Italiano:fec2:='Febbraio';
             Ingles:fec2:='February';
             Catalan:fec2:='Febrer';
             Gallego:fec2:='Febreiro';
             Vasco:fec2:='Otsaila';
            end;

          3:case Language of
             Espanol:fec2:='Marzo';
             Frances:fec2:='Mars';
             Aleman:fec2:='März';
             Italiano:fec2:='Marzo';
             Ingles:fec2:='March';
             Catalan:fec2:='Març';
             Gallego:fec2:='Marzo';
             Vasco:fec2:='Martxoa';
            end;

          4:case Language of
             Espanol:fec2:='Abril';
             Frances:fec2:='Avril';
             Aleman:fec2:='April';
             Italiano:fec2:='Aprile';
             Ingles:fec2:='April';
             Catalan:fec2:='Abril';
             Gallego:fec2:='Abril';
             Vasco:fec2:='Apirila';
            end;

          5:case Language of
             Espanol:fec2:='Mayo';
             Frances:fec2:='Mai';
             Aleman:fec2:='Mai';
             Italiano:fec2:='Maggio';
             Ingles:fec2:='May';
             Catalan:fec2:='Maig';
             Gallego:fec2:='Maio';
             Vasco:fec2:='Maiatzaren';
            end;

          6:case Language of
             Espanol:fec2:='Junio';
             Frances:fec2:='Juin';
             Aleman:fec2:='Juni';
             Italiano:fec2:='Giugno';
             Ingles:fec2:='June';
             Catalan:fec2:='Juny';
             Gallego:fec2:='Xuño';
             Vasco:fec2:='Ekaina';
            end;

          7:case Language of
             Espanol:fec2:='Julio';
             Frances:fec2:='Juillet';
             Aleman:fec2:='Juli';
             Italiano:fec2:='Luglio';
             Ingles:fec2:='July';
             Catalan:fec2:='Juliol';
             Gallego:fec2:='Xullo';
             Vasco:fec2:='Uztaila';
            end;

          8:case Language of
             Espanol:fec2:='Agosto';
             Frances:fec2:='Août';
             Aleman:fec2:='August';
             Italiano:fec2:='Agosto';
             Ingles:fec2:='August';
             Catalan:fec2:='Agost';
             Gallego:fec2:='Agosto';
             Vasco:fec2:='Abuztua';
            end;

          9:case Language of
             Espanol:fec2:='Septiembre';
             Frances:fec2:='Septembre';
             Aleman:fec2:='September';
             Italiano:fec2:='Settembre';
             Ingles:fec2:='September';
             Catalan:fec2:='Setembre';
             Gallego:fec2:='Setembro';
             Vasco:fec2:='Iraila';
            end;

         10:case Language of
             Espanol: fec2:='Octubre';
             Frances:fec2:='Octobre';
             Aleman:fec2:='Oktober';
             Italiano:fec2:='Ottobre';
             Ingles:fec2:='October';
             Catalan:fec2:='Octubre';
             Gallego:fec2:='Outubro';
             Vasco:fec2:='Urria';
            end;

         11:case Language of
             Espanol:fec2:='Noviembre';
             Frances:fec2:='Novembre';
             Aleman:fec2:='November';
             Italiano:fec2:='Novembre';
             Ingles:fec2:='November';
             Catalan:fec2:='Novembre';
             Gallego:fec2:='Novembro';
             Vasco:fec2:='Azaroa';
            end;
         12:case Language of
             Espanol:fec2:='Diciembre';
             Frances:fec2:='Décembre';
             Aleman:fec2:='Dezember';
             Italiano:fec2:='Dicembre';
             Ingles:fec2:='December';
             Catalan:fec2:='Desembre';
             Gallego:fec2:='Decembro';
             Vasco:fec2:='Abendua';
            end;
        end;
        Result:=fec2;
end;

function ano(fexc:tdatetime):string;    //DEvuelve año en String
var
    Present: TDateTime;
    Year, Month, Day: Word;
begin
    Present:= fexc;
    DecodeDate(Present, Year, Month, Day);
    Result:=IntToStr(year);
end;

function NumSemana(Fecha:string):String;  //Numero de semanas
var
   PrimerDia:TDate;
   DiaDelPrimerDia:integer;
begin     {Calculamos primer dia del año}
    PrimerDia:=StrToDate('01/01/'+Copy(Fecha,7,4));
    {Calculamos dia de la semana que empieza por lunes}
    if DayOfWeek(PrimerDia)-1 =0 then DiaDelPrimerDia:=7
                                 else DiaDelPrimerDia:=DayOfWeek(PrimerDia)-1;
    {Calculamos el numero de semana del año}
    Result:=IntToStr(Trunc((StrToDate(Fecha)-PrimerDia+DiaDelPrimerDia-1) /7)+1);
end;

function Estaciones(Fecha:TDateTime; Language:TLengua):string;
begin
   if (Fecha=StrToDate('21/03/'+ano(Fecha))) or ((Fecha>StrToDate('21/03/'+ano(Fecha))) and (Fecha'21/06/'+ano(Fecha)))) then
   begin  //Primavera
       case Language of
         Espanol:Result:='Primavera' ;
         Frances:Result:='Printemps' ;
         Aleman:Result:='Frühling' ;
         Italiano:Result:='Primavera' ;
         Ingles:Result:='Spring' ;
         Catalan:Result:='Primavera' ;
         Gallego:Result:='Primavera' ;
         Vasco:Result:='Spring' ;
       end;
   end;
   if (Fecha=StrToDate('21/06/'+ano(Fecha))) or ((Fecha>StrToDate('21/06/'+ano(Fecha))) and (Fecha'23/09/'+ano(Fecha)))) then
   begin  //Verano
       case Language of
         Espanol:Result:='Verano' ;
         Frances:Result:='Été' ;
         Aleman:Result:='Sommer' ;
         Italiano:Result:='Estate' ;
         Ingles:Result:='Summer' ;
         Catalan:Result:='Estiu' ;
         Gallego:Result:='Verán' ;
         Vasco:Result:='Uda' ;
       end;
   end;
      if (Fecha=StrToDate('23/09/'+ano(Fecha))) or ((Fecha>StrToDate('21/09/'+ano(Fecha))) and (Fecha'21/12/'+ano(Fecha)))) then
   begin  //Otoño
       case Language of
         Espanol:Result:='Otoño' ;
         Frances:Result:='Automne' ;
         Aleman:Result:='Herbst' ;
         Italiano:Result:='Autunno' ;
         Ingles:Result:='Fall' ;
         Catalan:Result:='Tardor' ;
         Gallego:Result:='Caer' ;
         Vasco:Result:='Erori' ;
       end;
   end;
      if (Fecha=StrToDate('21/12/'+ano(Fecha))) or ((Fecha>StrToDate('21/12/'+ano(Fecha))) and (Fecha'21/03/'+ano(Fecha)))) then
   begin  //Invierno
       case Language of
         Espanol:Result:='Invierno' ;
         Frances:Result:='Hiver' ;
         Aleman:Result:='Winterreifen' ;
         Italiano:Result:='Inverno' ;
         Ingles:Result:='Winter' ;
         Catalan:Result:='Hivern' ;
         Gallego:Result:='Inverno' ;
         Vasco:Result:='Negua' ;
       end;
   end;
end;

function Juliana(Fecha:string):string;  //días del año que vamos
begin
    Result :=IntToStr(trunc(StrToDate(Fecha) -StrToDate('01/01/'+copy(Fecha,7,4)))+1);
end;

function Juliana3(Fecha:string):string; //Dias del año
begin
    Result :=IntToStr(trunc(StrToDate('31/12/'+copy(Fecha,7,4)) - StrToDate('01/01/'+copy(Fecha,7,4)))+1);
end;
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita