procedure TMiPanelDiary.Paint;
function xfsema(ffecha:tDateTime):integer; 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; var REDia:string; 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; 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; var
Present: TDateTime;
Year, Month, Day: Word;
begin
Present:= fexc;
DecodeDate(Present, Year, Month, Day);
Result:=IntToStr(year);
end;
function NumSemana(Fecha:string):String; var
PrimerDia:TDate;
DiaDelPrimerDia:integer;
begin
PrimerDia:=StrToDate('01/01/'+Copy(Fecha,7,4));
if DayOfWeek(PrimerDia)-1 =0 then DiaDelPrimerDia:=7
else DiaDelPrimerDia:=DayOfWeek(PrimerDia)-1;
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 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 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 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 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; begin
Result :=IntToStr(trunc(StrToDate(Fecha) -StrToDate('01/01/'+copy(Fecha,7,4)))+1);
end;
function Juliana3(Fecha:string):string; begin
Result :=IntToStr(trunc(StrToDate('31/12/'+copy(Fecha,7,4)) - StrToDate('01/01/'+copy(Fecha,7,4)))+1);
end;