一個 MonthCalendar BoldDays 的問題. |
尚未結案
|
ysaiman
一般會員 發表:1 回覆:1 積分:0 註冊:2005-03-04 發送簡訊給我 |
我有個 database, 它有一個 day number fields(由 1 至 366), 一個 boolean field (用來記著那日是否 bold).
我想當我按 Button 時, database 所指著的那日會變 bold. 而個 Calendar 會自動更新. 我咁寫:
var
BoldDay : Array[1..31] of Cardinal; //儲存 bold 的日期 procedure TfrmMain.GetFavorite(Mon: Integer);
var
i, BeginDay, EndDay : integer;
begin
BeginDay := 1;
for i := 0 to Mon - 2 do
BeginDay := BeginDay DayOfMon[i 1]; //找那月由那日開始, 如 2月 由第32日至60日
EndDay := BeginDay DayOfMon[Mon] - 1; // 3月 由第61日至91日 QryStreamsFavorite.Close;
QryStreamsFavorite.SQL.Clear;
QryStreamsFavorite.SQL.Add('SELECT * FROM Streams WHERE Datenum BETWEEN ' IntToStr(BeginDay) ' AND ' IntToStr(EndDay) ';');
QryStreamsFavorite.Open; i := 1;
QryStreamsFavorite.First;
while not QryStreamsFavorite.Eof do
begin
if QryStreamsFavorite.FieldByName('Favorite').Value = True then //check 是否 bold
BoldDay[i] := QryStreamsFavorite.FieldByName('Datenum').Value - (BeginDay - 1)
else BoldDay[i] := 0; //如:[1,0,3,4,0,0,7.....,29,0,30,31] Inc(i);
QryStreamsFavorite.Next;
end;
end; procedure TfrmMain.MonthCalendarGetMonthInfo(Sender: TObject; Month: Cardinal;
var MonthBoldInfo: Cardinal);
begin
case Month of
1 : GetFavorite(1); //不同的月份
2 : GetFavorite(2);
3 : GetFavorite(3);
4 : GetFavorite(4);
5 : GetFavorite(5);
6 : GetFavorite(6);
7 : GetFavorite(7);
8 : GetFavorite(8);
9 : GetFavorite(9);
end;
MonthCalendar.BoldDays(BoldDay, MonthBoldInfo);
end; procedure TfrmMain.JvTransparentButton2Click(Sender: TObject);
var
MonthBoldInfo: Cardinal;
ST : TSystemTime;
begin
QryStreams.Edit; //更新那field的value. True->False, False->True.
QryStreams.FieldByName('Favorite').Value := Not(QryStreams.FieldByName('Favorite').Value);
QryStreams.Post;
QryStreams.Requery; DateTimeToSystemTime(MonthCalendar.Date, ST);
MonthBoldInfo := 0; //<--其實唔係好明, 但要咁先比我 compile
MonthCalendarGetMonthInfo(Sender, ST.wMonth ,MonthBoldInfo);
end; 但唔得, 個MonthCalendar 不會更新, 我要去第二個月再返轉頭才睇到之前的改變.
請各位多教導...
|
ysaiman
一般會員 發表:1 回覆:1 積分:0 註冊:2005-03-04 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |