Solicito ayuda para resolver los problemas de este nuevo componente
unit UPanelDiary; | |
interface | |
uses WinTypes, WinProcs, Messages, SysUtils, Classes, Controls, | |
Forms, Graphics, Extctrls, StdCtrls, Dialogs; | |
type | |
TClockSelected=(Select12,Select24); | |
TLengua=(Espanol, Frances, Aleman, Italiano, Ingles, Catalan, Gallego, Vasco); | |
TFormato=(Basico,Extendido,Completo); | |
//Para el Panel Reloj | |
TClock=class(TPersistent) //Para crear propiedades agrupadas | |
private | |
FClock12_24 : TClockSelected; | |
FClockEnable : Boolean; | |
FPanelVisible : Boolean; | |
FColorClock : TColor; | |
FFontClock : TFont; | |
FInterval : Integer; | |
FAlarmActive : Boolean; | |
FHourAlarm : TTime; | |
FHour : TTime; | |
FMessageAlarm : String; | |
procedure SetClock12_24(Value : TClockSelected); | |
procedure SetClockEnable(Value : Boolean); | |
procedure SetPAnelVisible(Value : Boolean); | |
procedure SetColorClock(Value : TColor); | |
procedure SetFontClock(Value : TFont); | |
procedure SetInterval(Value : Integer); | |
procedure SetAlarmActive(Value : Boolean); | |
procedure SetHourAlarm(Value:TTime); | |
procedure SetMessageAlarm(Value:string); | |
protected | |
published | |
property Clock12_24 : TClockSelected read FClock12_24 write SetClock12_24 default Select12; { Ver el Reloj en 12 o 24 horas } | |
property ClockEnable : Boolean read FClockEnable write SetClockEnable default True; { Reloj en uso } | |
property PanelVisible : Boolean read FPanelVisible write SetPAnelVisible default True; { Ver Eel panel } | |
property ColorClock : TColor read FColorClock write SetColorClock default $00FFCCCC; { Color de Fondo Del Reloj } | |
property FontClock : TFont read FFontClock write SetFontClock; { Fuente del Reloj } | |
property Interval : Integer read FInterval write SetInterval default 1000; { Intervalo para el Disparador } | |
property AlarmActive:Boolean read FAlarmActive write SetAlarmActive default False; { Si hay una alarma activa } | |
property HourAlarm: TTime read FHourAlarm write SetHourAlarm; { Hora a la que disparar la alarma } | |
property MessageAlarm:string read FMessageAlarm write SetMessageAlarm; { Mensaje a mostrar al disparar la alarma } | |
end; | |
type | |
TDayX=class(TPersistent) //Para crear propiedades agrupadas | |
private //Este siempre esta visible | |
FColorDay : TColor; //Color del panel | |
FFontDay : TFont; | |
FHeight : Integer; | |
procedure SetColorDay(Value : TColor); | |
procedure SetFontDay(Value : TFont); | |
procedure SetHeight(Value:Integer); | |
published | |
property ColorDay : TColor read FColorDay write SetColorDay default clWhite; { Color de fondo del Dia } | |
property FontDay : TFont read FFontDay write SetFontDay; { Fuente del dia } | |
property Height :integer read FHeight write SetHeight; | |
end; | |
type | |
TMonth=class(TPersistent) //Para crear propiedades agrupadas | |
private | |
FColorMonth : TColor; | |
FFontMonth : TFont; | |
FPanelVisible : Boolean; | |
procedure SetColorMonth(Value : TColor); | |
procedure SetFontMonth(Value : TFont); | |
procedure SetPAnelVisible(Value : Boolean); | |
published | |
property ColorMonth : TColor read FColorMonth write SetColorMonth default $0033CCFF; { Color de Fondo Del MEs } | |
property FontMonth : TFont read FFontMonth write SetFontMonth; { Fuente del mes } | |
property PanelVisible : Boolean read FPanelVisible write SetPAnelVisible default True; { Ver Eel panel } | |
end; | |
type | |
TYear=class(TPersistent) //Para crear propiedades agrupadas | |
private | |
FColorYear : TColor; | |
FFontYear : TFont; | |
FPanelVisible : Boolean; | |
procedure SetColorYear(Value : TColor); | |
procedure SetFontYear(Value : TFont); | |
procedure SetPAnelVisible(Value : Boolean); | |
published | |
property ColorYear : TColor read FColorYear write SetColorYear default $0033CCFF; { Color de Fondo Del año } | |
property FontYear : TFont read FFontYear write SetFontYear; { Fuente del Año } | |
property PanelVisible : Boolean read FPanelVisible write SetPAnelVisible default True; { Ver Eel panel } | |
end; | |
type | |
TStation=class(TPersistent) //Para crear propiedades agrupadas | |
private | |
FColorStation : TColor; | |
FFontStation : TFont; | |
FPanelVisible : Boolean; | |
procedure SetColorStation(Value : TColor); | |
procedure SetFontStation(Value : TFont); | |
procedure SetPAnelVisible(Value : Boolean); | |
published | |
property ColorStation : TColor read FColorStation write SetColorStation default clRed; { Color de Fondo de la Estacion } | |
property FontStation : TFont read FFontStation write SetFontStation; { Fuente de la Estacion } | |
property PanelVisible : Boolean read FPanelVisible write SetPAnelVisible default True; { Ver Eel panel } | |
end; | |
type | |
TWeeksDay=class(TPersistent) //Para crear propiedades agrupadas | |
private | |
FColorWeeksDays : TColor; | |
FFontWeekDays : TFont; | |
FPanelVisible : Boolean; | |
procedure SetColorWeeksDays(Value : TColor); | |
procedure SetFontWeekDays(Value : TFont); | |
procedure SetPAnelVisible(Value : Boolean); | |
published | |
property ColorWeeksDays : TColor read FColorWeeksDays write SetColorWeeksDays default $0033CCFF; { Color de fondo } | |
property PanelVisible : Boolean read FPanelVisible write SetPAnelVisible default True; { Ver Eel panel } | |
property FontWeekDays : TFont read FFontWeekDays write SetFontWeekDays; { Muestra las semanasy dias transcurridos/pendientes fuentes} | |
end; | |
type | |
TDayExt=class(TPersistent) //Para crear propiedades agrupadas | |
private | |
FColorDayExt : TColor; | |
FFontDayExt : TFont; | |
FPanelVisible : Boolean; | |
procedure SetColorDayExt(Value : TColor); | |
procedure SetFontDayExt(Value : TFont); | |
procedure SetPAnelVisible(Value : Boolean); | |
published | |
property ColorDayExt : TColor read FColorDayExt write SetColorDayExt default $0033CCFF; { Color de Fondo Del Dia Extendido } | |
property FontDayExt : TFont read FFontDayExt write SetFontDayExt; { Fuente del dia extendido } | |
property PanelVisible : Boolean read FPanelVisible write SetPAnelVisible default True; { Ver Eel panel } | |
end; | |
type | |
TNotice=class(TPersistent) //Para crear propiedades agrupadas | |
private | |
FPanelVisible : Boolean; | |
FNoticeColor : TColor; | |
FNoticeFont : TFont; | |
FText1 : string; | |
FText2 : string; | |
FHeight : Integer; | |
procedure SetNoticeColor(Value : TColor); | |
procedure SetNoticeFont(Value : TFont); | |
procedure SetPAnelVisible(Value : Boolean); | |
procedure SetText1(Value:string); | |
procedure SetText2(Value:string); | |
procedure SetHeight(Value : Integer); | |
published | |
property PanelVisible : Boolean read FPanelVisible write SetPAnelVisible default True; { Ver Eel panel } | |
property NoticeColor : TColor read FNoticeColor write SetNoticeColor default clBlue; | |
property NoticeFont : TFont read FNoticeFont write SetNoticeFont; | |
property Text1 :string read FText1 write SetText1; | |
property Text2 :string read FText2 write SetText2; | |
property Height :Integer read FHeight write SetHeight; | |
end; | |
type | |
TMiPanelDiary = class(TPanel) | |
private | |
{ Private fields of TPanelDiary } | |
FTipo : TFormato; | |
FDay : TDayX; //Dia siempre visible | |
FDayExt : TDayExt; //Muestra más información del día | |
FMonth : TMonth; //Muestra el mes | |
FYear : TYear; //Muestra el año | |
FWeeksDays : TWeeksDay; //Muestra información adicional | |
FStation : TStation; //Muestra cual de las 4 estaciones estamos | |
FClock : TClock; //Muestra el reloj y la alarma | |
FNotice : TNotice; //Muestra 2 lineas con información | |
FDate : TDate; //Fecha | |
FDay_mmddyy : String; //Formato de la fecha | |
FLanguage : TLengua; //Lenguaje a mostrar los texto por defecto | |
FOnlyOneFont : Boolean; //Una fuente para todos, exepto el día | |
FUsarComentarios : Boolean; //Mostrar Comentarios y datos | |
FAutoheight : Boolean; //Cuadra la altura de los diversos paneles | |
FMyTimer : TTimer; | |
FPanelNotice : TPanel; | |
FPanelStation : Tpanel; | |
FPanelDayExt : Tpanel; | |
FPanelDayX : TPanel; | |
FPanelMonth : TPanel; | |
FPanelYear : TPanel; | |
FPanelWeeksDay : TPanel; | |
FPanelClock : TPanel; | |
FTexto1 : TLabel; | |
FTexto2 : TLabel; | |
FOnClickNotice : TNotifyEvent; { Al pulsar en el panel de avisos } | |
FOnClickClock : TNotifyEvent; { Al pulsar en el Reloj } | |
FOnClickDay : TNotifyEvent; { Al pulsar en el dia } | |
FOnClickDayExt : TNotifyEvent; { Al pulsar en el dia Extendido } | |
FOnClickMonth : TNotifyEvent; { Al pulsar en el mes } | |
FOnClickStation : TNotifyEvent; { Al pulsar en el Estacion } | |
FOnClickWeeksDays : TNotifyEvent; { Al pulsar en el Semanas/dias } | |
FOnClickYEar : TNotifyEvent; { Al pulsar en el año } | |
FOnDateChanged : TNotifyEvent; { Cuando cambia de Dia } | |
FOnAlarm : TNotifyEvent; {Cuando salta la alarma } | |
FOnTimer : TNotifyEvent; { cuando hace timer } | |
procedure AutoInitialize; | |
procedure AutoDestroy; | |
procedure SetDate(Value : TDate); | |
procedure SetLanguage(Value : TLengua); | |
procedure SetUsarComentarios(Value : Boolean); | |
procedure SetTipo(Value : TFormato); | |
procedure SetAutoheight(Value : Boolean); | |
procedure SetOnlyOneFont(Value : Boolean); | |
protected | |
procedure ClickNotice(Sender : TObject); virtual; { Al pulsar en el panel de avisos } | |
procedure ClickClock(Sender : TObject); virtual; { Al pulsar en el Reloj } | |
procedure ClickDay(Sender : TObject); virtual; { Al pulsar en el dia } | |
procedure ClickDayExt(Sender : TObject); virtual; { Al pulsar en el dia Extendido } | |
procedure ClickMonth(Sender : TObject); virtual; { Al pulsar en el mes } | |
procedure ClickStation(Sender : TObject); virtual; { Al pulsar en el Estacion } | |
procedure ClickWeeksDays(Sender : TObject); virtual; { Al pulsar en el Semanas/dias } | |
procedure ClickYEar(Sender : TObject); virtual; { Al pulsar en el año } | |
procedure Alarm(Sender : TObject); virtual; { Al dar la alarma } | |
procedure DateChanged(Sender : TObject); virtual; { Cuando cambia de Dia } | |
procedure Timer(Sender:TObject); virtual; { cuando hace timer } | |
procedure Click; override; | |
procedure Loaded; override; | |
procedure Paint; override; | |
procedure Resize; override; | |
public | |
property Day_mmddyy : String read FDay_mmddyy; { Muestra el dia para consultas SQL } | |
procedure Calculos; { Calculamnos la estacion del año semanas y dias } | |
constructor Create(AOwner: TComponent); override; | |
destructor Destroy; override; | |
published | |
property OnClickNotice : TNotifyEvent read FOnClickNotice write FOnClickNotice; | |
property OnClickClock : TNotifyEvent read FOnClickClock write FOnClickClock; | |
property OnClickDay : TNotifyEvent read FOnClickDay write FOnClickDay; | |
property OnClickDayExt : TNotifyEvent read FOnClickDayExt write FOnClickDayExt; | |
property OnClickMonth : TNotifyEvent read FOnClickMonth write FOnClickMonth; | |
property OnClickStation : TNotifyEvent read FOnClickStation write FOnClickStation; | |
property OnClickWeeksDays : TNotifyEvent read FOnClickWeeksDays write FOnClickWeeksDays; | |
property OnClickYEar : TNotifyEvent read FOnClickYEar write FOnClickYEar; | |
property OnDateChanged : TNotifyEvent read FOnDateChanged write FOnDateChanged; | |
property OnAlarm : TNotifyEvent read FOnAlarm write FOnAlarm; | |
property OnTimer : TNotifyEvent read FOnDateChanged write FOnDateChanged; | |
property OnClick; | |
property OnDblClick; | |
property OnDragDrop; | |
property OnEnter; | |
property OnExit; | |
property OnKeyDown; | |
property OnKeyPress; | |
property OnKeyUp; | |
property OnMouseDown; | |
property OnMouseMove; | |
property OnMouseUp; | |
property OnResize; | |
property Date : TDate read FDate write SetDate; { Dia para los Calculos } | |
property Language : TLengua read FLanguage write SetLanguage default Espanol; { Lenguaje Seleccionado } | |
property OnlyOneFont : Boolean read FOnlyOneFont write SetOnlyOneFont default False; { Usar solo una fuente } | |
property Notice:TNotice read FNotice write FNotice; | |
property Station:TStation read FStation write FStation; | |
property DayExt:TDayExt read FDayExt write FDayExt; | |
property Day: TDayX read FDay write FDay; | |
property Month:TMonth read FMonth write FMonth; | |
property Year:Tyear read FYear write FYear; | |
property WeekDays:TWeeksDay read FWeeksDays write FWeeksDays; | |
property Clock:TClock read FClock write FClock; | |
property UsarComentarios:Boolean read FUsarComentarios write SetUsarComentarios ; | |
property Tipo: TFormato read FTipo write SetTipo; | |
property Autoheight:Boolean read FAutoheight write SetAutoheight ; | |
end; | |
var VarIHeighAutoHEigt:Integer; | |
implementation | |
{ TPanelDiary } | |
procedure TMiPanelDiary.Alarm(Sender: TObject); | |
begin | |
if Assigned(FOnAlarm) then FOnAlarm(Sender); | |
if FClock.FMessageAlarm<>'' then ShowMessage(FClock.FMessageAlarm); | |
end; | |
procedure TMiPanelDiary.AutoDestroy; | |
begin | |
FClock.Free; | |
FClock.FFontClock.Free; | |
FDay.FFontDay.Free; | |
FDayExt.FFontDayExt.Free; | |
FMonth.FFontMonth.Free; | |
FStation.FFontStation.Free; | |
FWeeksDays.FFontWeekDays.Free; | |
FYear.FFontYear.Free; | |
FPanelNotice.Free; | |
FPanelStation.Free; | |
FPanelDayExt.Free; | |
FPanelDayX.Free; | |
FPanelMonth.Free; | |
FPanelYear.Free; | |
FPanelWeeksDay.Free; | |
FPanelClock.Free; | |
FMyTimer.free; | |
FTexto1.Free; | |
FTexto2.Free; | |
end; | |
procedure TMiPanelDiary.AutoInitialize; | |
begin | |
FOnlyOneFont := False; | |
FDate := Now; | |
FLanguage := Espanol; | |
Height := 318; | |
Width := 177; | |
FUsarComentarios := True; | |
Ftipo := Completo; | |
FAutoheight := False; | |
//------------------------------------------------Notice | |
FNotice := TNotice.Create; | |
Fnotice.FNoticeColor := clBlue; | |
FNotice.FPanelVisible := False; | |
FNotice.FText1 := ''; | |
FNotice.FText2 := ''; | |
FNotice.Height := 40; | |
FNotice.FNoticeFont := TFont.Create; | |
with FNotice.FNoticeFont do | |
begin | |
Color := clYellow; | |
Name := 'Arial'; | |
Size := 12; | |
Style := [fsBold] | |
end; | |
//------------------------------------------------Estacion | |
FStation := TStation.Create; | |
FStation.FColorStation := $0033CCFF; | |
FStation.FPanelVisible := True; | |
FStation.FFontStation := TFont.Create; | |
with FStation.FFontStation do | |
begin | |
Color := $00CC3300; | |
Name := 'Arial'; | |
Size := 12; | |
Style := [fsBold] | |
end; | |
FStation.FColorStation := clRed; | |
//------------------------------------------------Dias Extendidos | |
FDayExt := TDayExt.Create; | |
FDayExt.FColorDayExt := $0033CCFF; | |
FDayExt.FPanelVisible := True; | |
FDayExt.FFontDayExt := TFont.Create; | |
with FDayExt.FFontDayExt do | |
begin | |
Color := $00CC3300; | |
Name := 'Arial'; | |
Size := 12; | |
Style := [fsBold] | |
end; | |
//------------------------------------------------Dia | |
FDay := TDayX.Create; | |
FDay.FColorDay := clWhite; | |
FDay.FHeight := 100; | |
FDay.FFontDay := TFont.Create; | |
with FDay.FFontDay do | |
begin | |
Color := clBlack; | |
Name := 'Arial'; | |
Size := 70; | |
Style := [fsBold] | |
end; | |
//------------------------------------------------Mes | |
FMonth := TMonth.Create; | |
FMonth.FColorMonth := $0033CCFF; | |
FMonth.FPanelVisible := True; | |
FMonth.FFontMonth := TFont.Create; | |
with FMonth.FFontMonth do | |
begin | |
Color := $00CC3300; | |
Name := 'Arial'; | |
Size := 12; | |
Style := [fsBold] | |
end; | |
//------------------------------------------------Año | |
FYear := TYear.Create; | |
FYear.FColorYear := $0033CCFF; | |
FYear.FPanelVisible := True; | |
FYear.FFontYear := TFont.Create; | |
with FYear.FFontYear do | |
begin | |
Color := $00CC3300; | |
Name := 'Arial'; | |
Size := 12; | |
Style := [fsBold] | |
end; | |
//------------------------------------------------Semanas dias | |
FWeeksDays := TWeeksDay.Create; | |
FWeeksDays.FColorWeeksDays := $0033CCFF; | |
FWeeksDays.FPanelVisible := True; | |
FWeeksDays.FFontWeekDays := TFont.Create; | |
with FWeeksDays.FFontWeekDays do | |
begin | |
Color := $00CC3300; | |
Name := 'Arial'; | |
Size := 12; | |
Style := [fsBold] | |
end; | |
//-------------------------------------------------CLOCK | |
FClock := TClock.Create; | |
FClock.FClockEnable := True; | |
FClock.FPanelVisible := True; | |
FClock.FFontClock := TFont.Create; | |
FClock.FClock12_24 := Select12; | |
FClock.FColorClock := $00FFCCCC; | |
FClock.FFontClock.color := $00003333; | |
FClock.FInterval := 1000; | |
FClock.FAlarmActive := False; | |
FClock.FHourAlarm := Now; | |
FClock.FMessageAlarm := ''; | |
FClock.FHour := Now; | |
FMyTimer:=TTimer.Create(Self); //-------------------------------------------------Timer | |
with FMyTimer do | |
begin | |
Enabled := FClock.FClockEnable; | |
Interval := FClock.FInterval; | |
OnTimer := FOnTimer; | |
end; | |
FPanelNotice:=TPanel.Create(Self); //------------------------------------------------Notice | |
with FPanelNotice do | |
begin | |
Parent := Self; | |
TabOrder := 0; | |
Align := alTop; | |
Visible := False; | |
Font := FNotice.FNoticeFont; | |
Color := FNotice.FNoticeColor; | |
Visible := FNotice.FPanelVisible; | |
ParentColor :=false; | |
ParentBackground :=False; | |
Height := FNotice.Height; | |
Caption :=''; | |
end; | |
FTexto1:=TLabel.Create(Self); | |
with FTexto1 do | |
begin | |
Parent := FPanelNotice; | |
Top := 3; | |
Left := 3; | |
AutoSize := False; | |
Width := FPanelNotice.Width-6; | |
Font := FNotice.FNoticeFont; | |
Transparent:= True; | |
Alignment := taCenter | |
end; | |
FTexto2:=TLabel.Create(Self); | |
with FTexto2 do | |
begin | |
Parent := FPanelNotice; | |
Top := 3+FNotice.FNoticeFont.Size+1; //?? +/- | |
Left := 3; | |
AutoSize := False; | |
Width := FPanelNotice.Width; | |
Font := FNotice.FNoticeFont; | |
Transparent:= True; | |
Alignment := taCenter | |
end; | |
FPanelDayExt:=TPanel.Create(Self); //------------------------------------------------Dia Extendido | |
with FPanelDayExt do | |
begin | |
Parent := Self; | |
TabOrder := 1; | |
Align := alTop; | |
Font := FDayExt.FontDayExt; | |
Color := FDayExt.FColorDayExt; | |
Visible := FDayExt.FPanelVisible; | |
ParentColor := false; | |
ParentBackground :=False; | |
Height := 30; | |
Caption :=' Dia '; | |
end; | |
FPaneldayx:=TPanel.Create(Self); //------------------------------------------------Dia | |
with FPanelDayX do | |
begin | |
Parent := Self; | |
TabOrder := 2; | |
Align := alTop; | |
Font := FDay.FFontDay; | |
Color := FDay.FColorDay; | |
Caption := FormatDateTime('dd',Date); | |
ParentColor := false; | |
ParentBackground :=False; | |
Height := FDay.FHeight; | |
end; | |
FPanelMonth:=TPanel.Create(Self); //------------------------------------------------Mes | |
with FPanelMonth do | |
begin | |
Parent := Self; | |
TabOrder := 3; | |
Align := alTop; | |
Font := FMonth.FFontMonth; | |
Color := FMonth.FColorMonth; | |
Visible := FMonth.FPanelVisible; | |
ParentColor := false; | |
ParentBackground :=False; | |
Height := 30; | |
Caption :='MES'; | |
end; | |
FPanelYear:=TPanel.Create(Self); //------------------------------------------------Año | |
with FPanelYear do | |
begin | |
Parent := Self; | |
TabOrder := 4; | |
Align := alTop; | |
Font := FYear.FFontYear; | |
Color := FYear.FColorYear; | |
Visible := FYear.FPanelVisible; | |
ParentColor := false; | |
ParentBackground :=False; | |
Height := 30; | |
Caption :=' AÑO '; | |
end; | |
FPanelWeeksDay:=TPanel.Create(Self); //------------------------------------------------Semanas Dias | |
with FPanelWeeksDay do | |
begin | |
Parent := Self; | |
TabOrder := 5; | |
Align := alTop; | |
Font := FWeeksDays.FFontWeekDays; | |
Color := FWeeksDays.FColorWeeksDays; | |
Visible := FWeeksDays.FPanelVisible; | |
ParentColor :=false; | |
ParentBackground :=False; | |
Height := 30; | |
Caption :='Semanas Dias'; | |
end; | |
FPanelStation:=TPanel.Create(Self); //------------------------------------------------Station | |
with FPanelStation do | |
begin | |
Parent := Self; | |
TabOrder := 6; | |
Align := alTop; | |
Visible := FStation.FPanelVisible; | |
Font := FStation.FFontStation; | |
Color := FStation.FColorStation; | |
ParentColor :=false; | |
ParentBackground :=False; | |
Height := 30; | |
Caption :=' ESTACION '; | |
end; | |
FPanelClock:=TPanel.Create(Self); //------------------------------------------------Reloj | |
with FPanelClock do | |
begin | |
Parent := Self; | |
TabOrder := 7; | |
Align := alTop; | |
Font := FClock.FFontClock; | |
Color := FClock.FColorClock; | |
Visible := FClock.FPanelVisible; | |
ParentColor :=false; | |
ParentBackground :=False; | |
Visible := True; | |
Height := 30; | |
Caption :='Reloj'; | |
end; | |
end; | |
procedure TMiPanelDiary.Calculos; | |
var VariNumeroPaneles:Integer; | |
begin { Calculamnos la estacion del año semanas y dias } | |
VariNumeroPaneles:=1; | |
if FNotice.FPanelVisible then VariNumeroPaneles:=VariNumeroPaneles+1; | |
if FDayExt.FPanelVisible then VariNumeroPaneles:=VariNumeroPaneles+1; | |
if FMonth.FPanelVisible then VariNumeroPaneles:=VariNumeroPaneles+1; | |
if FYear.FPanelVisible then VariNumeroPaneles:=VariNumeroPaneles+1; | |
if FWeeksDays.FPanelVisible then VariNumeroPaneles:=VariNumeroPaneles+1; | |
if FStation.FPanelVisible then VariNumeroPaneles:=VariNumeroPaneles+1; | |
if FClock.FPanelVisible then VariNumeroPaneles:=VariNumeroPaneles+1; | |
VarIHeighAutoHEigt:=(Self.Height-FDay.FHeight) div (VariNumeroPaneles-1); | |
end; | |
procedure TMiPanelDiary.Click; | |
begin | |
inherited Click; | |
end; | |
procedure TMiPanelDiary.ClickClock(Sender: TObject); | |
begin | |
if Assigned(FOnClickClock) then FOnClickClock(Sender); | |
end; | |
procedure TMiPanelDiary.ClickDay(Sender: TObject); | |
begin | |
if Assigned(FOnClickDay) then FOnClickDay(Sender); | |
end; | |
procedure TMiPanelDiary.ClickDayExt(Sender: TObject); | |
begin | |
if Assigned(FOnClickDayExt) then FOnClickDayExt(Sender); | |
end; | |
procedure TMiPanelDiary.ClickMonth(Sender: TObject); | |
begin | |
if Assigned(FOnClickMonth) then FOnClickMonth(Sender); | |
end; | |
procedure TMiPanelDiary.ClickNotice(Sender: TObject); | |
begin | |
if Assigned(FOnClickNotice) then FOnClickNotice(Sender); | |
end; | |
procedure TMiPanelDiary.ClickStation(Sender: TObject); | |
begin | |
if Assigned(FOnClickStation) then FOnClickStation(Sender); | |
end; | |
procedure TMiPanelDiary.ClickWeeksDays(Sender: TObject); | |
begin | |
if Assigned(FOnClickWeeksDays) then FOnClickWeeksDays(Sender); | |
end; | |
procedure TMiPanelDiary.ClickYEar(Sender: TObject); | |
begin | |
if Assigned(FOnClickYEar) then FOnClickYEar(Sender); | |
end; | |
constructor TMiPanelDiary.Create(AOwner: TComponent); | |
begin | |
inherited Create(AOwner); | |
AutoInitialize; | |
end; | |
procedure TMiPanelDiary.DateChanged(Sender: TObject); | |
begin | |
if Assigned(FOnDateChanged) then FOnDateChanged(Sender); | |
end; | |
destructor TMiPanelDiary.Destroy; | |
begin | |
AutoDestroy; | |
inherited Destroy; | |
end; | |
procedure TMiPanelDiary.Loaded; | |
begin | |
inherited Loaded; | |
end; | |
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<StrToDate('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<StrToDate('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<StrToDate('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<StrToDate('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; | |
var Day,Month,Year:Word; | |
VarSTextDayExt1, VarSTextDayExt2, VarSTextDayExt3:string; | |
begin | |
DecodeDate(Now,Year,Month,Day); | |
inherited Paint; | |
Calculos; | |
if FTipo=Basico then | |
begin | |
FNotice.FPanelVisible:=False; | |
FDayExt.FPanelVisible:=True; | |
FMonth.FPanelVisible:=True; | |
FYear.FPanelVisible:=False; | |
FWeeksDays.FPanelVisible:=False; | |
FStation.FPanelVisible:=False; | |
FClock.FPanelVisible:=False; | |
end; | |
if FTipo=Extendido then | |
begin | |
FNotice.FPanelVisible:=False; | |
FDayExt.FPanelVisible:=True; | |
FMonth.FPanelVisible:=True; | |
FYear.FPanelVisible:=True; | |
FWeeksDays.FPanelVisible:=False; | |
FStation.FPanelVisible:=False; | |
FClock.FPanelVisible:=True; | |
end; | |
if FTipo=Completo then | |
begin | |
FNotice.FPanelVisible:=True; | |
FDayExt.FPanelVisible:=True; | |
FMonth.FPanelVisible:=True; | |
FYear.FPanelVisible:=True; | |
FWeeksDays.FPanelVisible:=True; | |
FStation.FPanelVisible:=True; | |
FClock.FPanelVisible:=True; | |
end; | |
if FNotice.FPanelVisible then //---------------------------------------[Noticias] | |
begin | |
FPanelNotice.Visible:=True; | |
FPanelNotice.Color:=FNotice.FNoticeColor; | |
if Autoheight then FPanelNotice.Height:=VarIHeighAutoHEigt; | |
if FOnlyOneFont then FTexto1.Font:=FMonth.FontMonth else FTexto1.Font:=FNotice.FNoticeFont; | |
if FTexto1.Caption<>FNotice.FText1 then FTexto1.Caption:=FNotice.FText1; | |
FTexto1.Width:=FPanelNotice.Width-6; | |
if FOnlyOneFont then FTexto2.Font:=FMonth.FontMonth else FTexto2.Font:=FNotice.FNoticeFont; | |
if FTexto2.Caption<>FNotice.FText2 then FTexto2.Caption:=FNotice.FText2; | |
FTexto2.Width:=FPanelNotice.Width-6; | |
end else FPanelNotice.Visible:=False; | |
if FDayExt.FPanelVisible then //---------------------------------------[Dias Extendido] | |
begin | |
FPanelDayExt.Visible:=True; | |
FPanelDayExt.Color:=FDayExt.FColorDayExt; | |
if Autoheight then FPanelDayExt.Height:=VarIHeighAutoHEigt; | |
if FOnlyOneFont then FPanelDayExt.Font:=FMonth.FontMonth else FPanelDayExt.Font:=FDayExt.FFontDayExt; | |
if UsarComentarios then | |
begin | |
case Language of | |
Espanol:FPanelDayExt.Caption:='Día '+xdiasemana(xfsema(Self.FDate),Language); | |
Frances:FPanelDayExt.Caption:='Jour '+xdiasemana(xfsema(Self.FDate),Language); | |
Aleman:FPanelDayExt.Caption:='Tag '+xdiasemana(xfsema(Self.FDate),Language); | |
Italiano:FPanelDayExt.Caption:='Giorno '+xdiasemana(xfsema(Self.FDate),Language); | |
Ingles:FPanelDayExt.Caption:='Day '+xdiasemana(xfsema(Self.FDate),Language); | |
Catalan:FPanelDayExt.Caption:='Dia '+xdiasemana(xfsema(Self.FDate),Language); | |
Gallego:FPanelDayExt.Caption:='Día '+xdiasemana(xfsema(Self.FDate),Language); | |
Vasco:FPanelDayExt.Caption:='Egun '+xdiasemana(xfsema(Self.FDate),Language); | |
end; | |
end else FPanelDayExt.Caption:=xdiasemana(xfsema(Self.FDate),Language); | |
end else FPanelDayExt.Visible:=False; | |
if FPanelDayX.Caption<>FormatDateTime('dd',Date) then FPanelDayX.Caption:=FormatDateTime('dd',Date); //-------------------------[Día] | |
FPanelDayX.Visible:=true; | |
FPanelDayX.BringToFront; | |
FPanelDayX.Height:=FDay.FHeight; | |
FPanelDayX.Font:=FDay.FontDay; | |
if FMonth.FPanelVisible then //----------------------------------------[Mes] | |
begin | |
FPanelMonth.Visible:=True; | |
FPanelMonth.Color:=FMonth.FColorMonth; | |
if Autoheight then FPanelMonth.Height:=VarIHeighAutoHEigt; | |
FPanelMonth.Font:=FMonth.FFontMonth; | |
if UsarComentarios then | |
begin | |
case Language of | |
Espanol:FPanelMonth.Caption:='Mes '; | |
Frances:FPanelMonth.Caption:='Mois ' ; | |
Aleman:FPanelMonth.Caption:='Monat ' ; | |
Italiano:FPanelMonth.Caption:='Mese ' ; | |
Ingles:FPanelMonth.Caption:='Month ' ; | |
Catalan:FPanelMonth.Caption:='Mes ' ; | |
Gallego:FPanelMonth.Caption:='Mes ' ; | |
Vasco:FPanelMonth.Caption:='Hilabetea ' ; | |
end; | |
FPanelMonth.Caption:=FPanelMonth.Caption+Mes(Self.FDate,FLanguage);//+mes | |
end else FPanelMonth.Caption:=Mes(Self.FDate,FLanguage); //MEs | |
end else FPanelMonth.Visible:=False; | |
if FYear.FPanelVisible then //----------------------------------------[Año] | |
begin | |
FPanelYear.Visible:=True; | |
FPanelYear.Color:=FYear.FColorYear; | |
if Autoheight then FPanelYear.Height:=VarIHeighAutoHEigt; | |
FPanelYear.Font:=FYear.FFontYear; | |
if UsarComentarios then | |
begin | |
case Language of | |
Espanol:FPanelYear.Caption:='Año '; | |
Frances:FPanelYear.Caption:='Année '; | |
Aleman:FPanelYear.Caption:='Jahr '; | |
Italiano:FPanelYear.Caption:='Anno '; | |
Ingles:FPanelYear.Caption:='Year '; | |
Catalan:FPanelYear.Caption:='Any '; | |
Gallego:FPanelYear.Caption:='Ano '; | |
Vasco:FPanelYear.Caption:='Urtea '; | |
end; | |
FPanelYear.Caption:=FPanelYear.Caption+ano(Self.FDate);//+año | |
end else FPanelYear.Caption:=ano(Self.FDate); //año | |
end else FPanelYear.Visible:=False; | |
if FWeeksDays.FPanelVisible then | |
begin | |
FPanelWeeksDay.Visible:=True; | |
FPanelWeeksDay.Color:=FWeeksDays.FColorWeeksDays; | |
if Autoheight then FPanelWeeksDay.Height:=VarIHeighAutoHEigt; | |
if FOnlyOneFont then FPanelWeeksDay.Font:=FMonth.FontMonth else FPanelWeeksDay.Font:=FWeeksDays.FFontWeekDays; | |
if UsarComentarios then | |
begin | |
case Language of | |
Espanol:begin | |
VarSTextDayExt1:='Semanas[ '; | |
VarSTextDayExt2:=' ] Días[ '; | |
VarSTextDayExt3:=' ]'; //X semanas o dias | |
end; | |
Frances:begin | |
VarSTextDayExt1:='Semaines[ '; | |
VarSTextDayExt2:=' ] Jours[ '; | |
VarSTextDayExt3:=' ]'; //X semanas o dias | |
end; | |
Aleman: begin | |
VarSTextDayExt1:='Wochen[ '; | |
VarSTextDayExt2:=' ] Tage[ '; | |
VarSTextDayExt3:=' ]'; //X semanas o dias | |
end; | |
Italiano: begin | |
VarSTextDayExt1:='Settimane[ '; | |
VarSTextDayExt2:=' ] Giorni[ '; | |
VarSTextDayExt3:=' ]'; //X semanas o dias | |
end; | |
Ingles: begin | |
VarSTextDayExt1:='Weeks[ '; | |
VarSTextDayExt2:=' ] Days[ '; | |
VarSTextDayExt3:=' ]'; //X semanas o dias | |
end; | |
Catalan:begin | |
VarSTextDayExt1:='Setmanes[ '; | |
VarSTextDayExt2:=' ] Dies[ '; | |
VarSTextDayExt3:=' ]'; //X semanas o dias | |
end; | |
Gallego:begin | |
VarSTextDayExt1:='Semanas[ '; | |
VarSTextDayExt2:=' ] Días[ '; | |
VarSTextDayExt3:=' ]'; //X semanas o dias | |
end; | |
Vasco :begin | |
VarSTextDayExt1:='Asteak[ '; | |
VarSTextDayExt2:=' ] Egun[ '; | |
VarSTextDayExt3:=' ]'; //X semanas o dias | |
end; | |
end; | |
FPanelWeeksDay.Caption:=VarSTextDayExt1+ NumSemana(DateToStr(Self.FDate))+'/'+Numsemana('31/12/'+copy(datetostr(Self.Fdate),7,4))+VarSTextDayExt2+ | |
Juliana(DateToStr(Self.FDate))+'/'+Juliana3(DateToStr(Self.FDate))+VarSTextDayExt3; | |
end else FPanelWeeksDay.Caption:='[ '+ NumSemana(DateToStr(Self.FDate))+'/'+Numsemana('31/12/'+copy(datetostr(Self.fdate),7,4))+' ] [ '+ | |
Juliana(DateToStr(Self.FDate))+'/'+Juliana3(DateToStr(Self.FDate))+' ]'; | |
end else FPanelWeeksDay.Visible:=False; | |
if FStation.FPanelVisible then //---------------------------------------[Estación] | |
begin | |
FPanelStation.Visible:=True; | |
FPanelStation.Color:=FStation.FColorStation; | |
if Autoheight then FPanelStation.Height:=VarIHeighAutoHEigt; | |
if FOnlyOneFont then FPanelStation.Font:=FMonth.FontMonth else FPanelStation.Font:=FStation.FFontStation; | |
if UsarComentarios then | |
begin | |
case Language of | |
Espanol: FPanelStation.Caption:='Estación [ ' ; //+Estacion+' ] | |
Frances: FPanelStation.Caption:='Gare [ ' ; //+Estacion+' ] | |
Aleman: FPanelStation.Caption:='Bahnhof [ ' ; //+Estacion+' ] | |
Italiano: FPanelStation.Caption:='Stazione [ ' ; //+Estacion+' ] | |
Ingles: FPanelStation.Caption:='Station [ ' ; //+Estacion+' ] | |
Catalan: FPanelStation.Caption:='Estació [ ' ; //+Estacion+' ] | |
Gallego: FPanelStation.Caption:='Estación [ ' ; //+Estacion+' ] | |
Vasco: FPanelStation.Caption:='Geltokia [ ' ; //+Estacion+' ] | |
end; | |
FPanelStation.Caption:=FPanelStation.Caption+Estaciones(Date,Language)+' ]'; //+Estacion | |
end else FPanelStation.Caption:=Estaciones(Date,Language); //+Estacion | |
end else FPanelStation.Visible:=False; | |
if FClock.FPanelVisible then //-----------------------------------------[Reloj] | |
begin | |
FPanelClock.Visible:=True; | |
FPanelClock.Color:=FClock.FColorClock; | |
if Autoheight then FPanelClock.Height:=VarIHeighAutoHEigt; | |
if FOnlyOneFont then FPanelClock.Font:=FMonth.FontMonth else FPanelClock.Font:=FClock.FFontClock; | |
if FClock.FClock12_24=Select12 then FPanelClock.Caption:=FormatDateTime('hh:mm AM/PM', now) | |
else FPanelClock.Caption:=FormatDateTime('hh:mm', now); | |
if FClock.FAlarmActive then FPanelClock.Caption:=FPanelClock.Caption+' [A]'; | |
end else FPanelStation.Visible:=False; | |
end; | |
procedure TMiPanelDiary.Resize; | |
begin | |
inherited Resize; | |
end; | |
procedure TMiPanelDiary.SetAutoheight(Value: Boolean); | |
begin | |
if FAutoheight<>Value then FAutoheight:=Value; | |
Invalidate; | |
end; | |
procedure TMiPanelDiary.SetDate(Value: TDate); | |
begin | |
if FDate<>Value then FDate := Value; | |
Invalidate; | |
end; | |
procedure TMiPanelDiary.SetLanguage(Value: TLengua); | |
begin | |
if FLanguage<>Value then FLanguage:=Value; | |
Invalidate; | |
end; | |
procedure TMiPanelDiary.SetOnlyOneFont(Value: Boolean); | |
begin | |
if FOnlyOneFont<>Value then FOnlyOneFont:=Value; | |
Invalidate; | |
end; | |
procedure TMiPanelDiary.SetTipo(Value: TFormato); | |
begin | |
if FTipo<>Value then FTipo:=Value; | |
Invalidate; | |
end; | |
procedure TMiPanelDiary.SetUsarComentarios(Value: Boolean); | |
begin | |
if FUsarComentarios<>Value then FUsarComentarios:=Value; | |
Invalidate; | |
end; | |
procedure TMiPanelDiary.Timer(Sender: TObject); | |
begin | |
if Assigned(FOnTimer) then FOnTimer(Sender); | |
if FClock.FClockEnable then | |
begin | |
if FPanelClock.Visible then | |
begin | |
if FClock.FClock12_24=Select12 then FPanelClock.Caption:=FormatDateTime('hh:mm AM/PM', now) | |
else FPanelClock.Caption:=FormatDateTime('hh:mm', now); | |
if FClock.FAlarmActive then FPanelClock.Caption:=FPanelClock.Caption+' [A]'; | |
if FClock.FHourAlarm=Now then FOnAlarm(Sender); | |
end; | |
end; | |
end; | |
{ TClock * } | |
procedure TClock.SetAlarmActive(Value: Boolean); | |
begin | |
if FAlarmActive<>Value then FAlarmActive := Value; | |
end; | |
procedure TClock.SetClock12_24(Value: TClockSelected); | |
begin | |
if FClock12_24<>Value then FClock12_24 := Value; | |
end; | |
procedure TClock.SetClockEnable(Value: Boolean); | |
begin | |
if FClockEnable<>Value then FClockEnable := Value; | |
end; | |
procedure TClock.SetColorClock(Value: TColor); | |
begin | |
if FColorClock<>Value then FColorClock := Value; | |
end; | |
procedure TClock.SetFontClock(Value: TFont); | |
begin | |
if FFontClock<>Value then FFontClock.Assign(Value); | |
end; | |
procedure TClock.SetHourAlarm(Value: TTime); | |
begin | |
if FHourAlarm<>Value then FHourAlarm := Value; | |
end; | |
procedure TClock.SetInterval(Value: Integer); | |
begin | |
if FInterval<>Value then FInterval := Value; | |
end; | |
procedure TClock.SetMessageAlarm(Value: string); | |
begin | |
if FMessageAlarm<>Value then FMessageAlarm:= Value; | |
end; | |
procedure TClock.SetPAnelVisible(Value: Boolean); | |
begin | |
if FPanelVisible<>Value then FPanelVisible := Value; | |
end; | |
{ TDayX * } | |
procedure TDayX.SetColorDay(Value: TColor); | |
begin | |
if FColorDay<>Value then FColorDay := Value; | |
end; | |
procedure TDayX.SetFontDay(Value: TFont); | |
begin | |
if FFontDay<>Value then FFontDay.Assign(Value); | |
end; | |
procedure TDayX.SetHeight(Value: Integer); | |
begin | |
if FHeight<>Value then FHeight := Value; | |
end; | |
{ TDayExt * } | |
procedure TDayExt.SetColorDayExt(Value: TColor); | |
begin | |
if FColorDayExt<>Value then FColorDayExt := Value; | |
end; | |
procedure TDayExt.SetFontDayExt(Value: TFont); | |
begin | |
if FFontDayExt<>Value then FFontDayExt.Assign(Value); | |
end; | |
procedure TDayExt.SetPAnelVisible(Value: Boolean); | |
begin | |
if FPanelVisible<>Value then FPanelVisible := Value; | |
end; | |
{ TMonth * } | |
procedure TMonth.SetColorMonth(Value: TColor); | |
begin | |
if FColorMonth<>Value then FColorMonth := Value; | |
end; | |
procedure TMonth.SetFontMonth(Value: TFont); | |
begin | |
if FFontMonth<>Value then FFontMonth.Assign(Value); | |
end; | |
procedure TMonth.SetPAnelVisible(Value: Boolean); | |
begin | |
if FPanelVisible<>Value then FPanelVisible := Value; | |
end; | |
{ TYear * } | |
procedure TYear.SetColorYear(Value: TColor); | |
begin | |
if FColorYear<>Value then FColorYear := Value; | |
end; | |
procedure TYear.SetFontYear(Value: TFont); | |
begin | |
if FFontYear<>Value then FFontYear.Assign(Value); | |
end; | |
procedure TYear.SetPAnelVisible(Value: Boolean); | |
begin | |
if FPanelVisible<>Value then FPanelVisible := Value; | |
end; | |
{ TStation * } | |
procedure TStation.SetColorStation(Value: TColor); | |
begin | |
if FColorStation<>Value then FColorStation := Value; | |
end; | |
procedure TStation.SetFontStation(Value: TFont); | |
begin | |
if FFontStation<>Value then FFontStation.Assign(Value); | |
end; | |
procedure TStation.SetPAnelVisible(Value: Boolean); | |
begin | |
if FPanelVisible<>Value then FPanelVisible := Value; | |
end; | |
{ TWeeksDay * } | |
procedure TWeeksDay.SetColorWeeksDays(Value: TColor); | |
begin | |
if FColorWeeksDays<>Value then FColorWeeksDays:= Value; | |
end; | |
procedure TWeeksDay.SetFontWeekDays(Value: TFont); | |
begin | |
if FFontWeekDays<>Value then FFontWeekDays.Assign(Value); | |
end; | |
procedure TWeeksDay.SetPAnelVisible(Value: Boolean); | |
begin | |
if FPanelVisible<>Value then FPanelVisible := Value; | |
end; | |
{ TNotice } | |
procedure TNotice.SetHeight(Value: Integer); | |
begin | |
if FHeight<>Value then FHeight := Value; | |
end; | |
procedure TNotice.SetNoticeColor(Value: TColor); | |
begin | |
if FNoticeColor<>Value then FNoticeColor := Value; | |
end; | |
procedure TNotice.SetNoticeFont(Value: TFont); | |
begin | |
if FNoticeFont<>Value then FNoticeFont.Assign(Value); | |
end; | |
procedure TNotice.SetPAnelVisible(Value: Boolean); | |
begin | |
if FPanelVisible<>Value then FPanelVisible := Value; | |
end; | |
procedure TNotice.SetText1(Value: string); | |
begin | |
if FText1<>Value then FText1 := Value; | |
end; | |
procedure TNotice.SetText2(Value: string); | |
begin | |
if FText2<>Value then FText2 := Value; | |
end; | |
end. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment