Hola jerryacuna, bienvenido a
Club Delphi
Como es costumbre con los que se inician, te invitamos a que leas nuestra
guía de estilo.
No conozco modo de hacer exáctamente lo que solicitas:
Cita:
...esto debe mostrarlo en cada celda del calendario día y valor de cambio...
|
La alternativa que se me ocurre es mostrar el valor correspondiente al día seleccionado, mediante propiedad
Hint del
TMonthCalendar.
Código Delphi
[-]
type
TForm1 = class(TForm)
tuQuery: TQuery;
MonthCalendar1: TMonthCalendar;
procedure FormCreate(Sender: TObject);
protected
procedure WmNotify(var Msg: TWMNOTIFY); message WM_NOTIFY;
private
public
end;
...
implementation
uses CommCtrl;
procedure TForm1.FormCreate(Sender: TObject);
begin
MonthCalendar1.ShowHint:= True;
end;
procedure TForm1.WmNotify(var Msg: TWMNOTIFY);
begin
if PNMHdr(Msg.NMHdr)^.code = MCN_SELECT then
begin
with tuQuery do
begin
SQL.Text:= 'SELECT VALOR FROM TEST WHERE FECHA = :FECHA';
ParamByName('FECHA').AsDate:=
SystemTimeToDateTime(PNMSelChange(Msg.NMHdr)^.stSelStart);
Open;
if tuQuery.IsEmpty then
MonthCalendar1.Hint:= ' N/D '
else
MonthCalendar1.Hint:= FormatFloat(' $ 0.00 ', FieldByName('VALOR').AsFloat);
end;
end;
end;
Los valores de cotización del dolar son obtenidos mediante una consulta de la columna '
VALOR' de una tabla '
TABLA' seleccionada por la columna '
FECHA' (Esos nombres deberas cambiarlos por los declarados en tu bd).
Saludos