DBDateMake (可連上DB 的DateMaske) |
|
liorex
初階會員 ![]() ![]() 發表:19 回覆:60 積分:32 註冊:2002-08-20 發送簡訊給我 |
將前些日子寫的元件DateMask改成可以連上資料庫
DATE 欄位以TDateTime(Double) 格式儲存 ----------------------
一切有為法 如夢幻泡影
如露亦如電 應做如是觀
----------------------
|
ying0515
中階會員 ![]() ![]() ![]() 發表:90 回覆:168 積分:81 註冊:2003-01-04 發送簡訊給我 |
|
alenlien
一般會員 ![]() ![]() 發表:0 回覆:1 積分:0 註冊:2003-12-08 發送簡訊給我 |
|
liorex
初階會員 ![]() ![]() 發表:19 回覆:60 積分:32 註冊:2002-08-20 發送簡訊給我 |
回覆上面兩樓的前輩
1.裡面的use UDataForm可以make起來,因為那是一個簡單的開窗
其目的是開窗選日期回edit中只是我忘記放上去了,對不起
2.要使用這個code 可以新增一個package 然後install 就會新增在
元鍵盤上了.
udateform的code
TfrmDateForm = class(TForm) Panel2: TPanel; Panel1: TPanel; SpeedButton1: TSpeedButton; SpeedButton2: TSpeedButton; Label1: TLabel; Label2: TLabel; edYear: TEdit; UpDown1: TUpDown; edMonth: TEdit; UpDown2: TUpDown; MCalendar: TMonthCalendar; procedure SpeedButton2Click(Sender: TObject); procedure SpeedButton1Click(Sender: TObject); procedure MCalendarClick(Sender: TObject); procedure edYearKeyPress(Sender: TObject; var Key: Char); procedure UpDown2Click(Sender: TObject; Button: TUDBtnType); private { Private declarations } procedure PutDateToEdit(dates :Double); procedure EdtToDate; public { Public declarations } end; //ClientForm function OpenDateFomr(DefDate : Double;own:TWinControl;_points:Tpoint):Double ; var frmDateForm: TfrmDateForm; implementation {$R *.dfm} function OpenDateFomr(DefDate : Double;own:TWinControl;_points:Tpoint):Double ; begin result :=DefDate ; with TfrmDateForm.Create(own) do begin MCalendar.Date := DefDate ; PutDateToEdit(MCalendar.Date); top := _points.y Panel1.Height ; Left :=_points.x ; try if ShowModal = mrYes then begin Result := MCalendar.Date ; end ; finally Free; end; end; end ; procedure TfrmDateForm.SpeedButton2Click(Sender: TObject); begin ModalResult := mrYes ; end; procedure TfrmDateForm.SpeedButton1Click(Sender: TObject); begin ModalResult := mrNo end; procedure TfrmDateForm.MCalendarClick(Sender: TObject); begin PutDateToEdit(MCalendar.Date); end; procedure TfrmDateForm.PutDateToEdit(dates: Double); var mBuf : string ; begin // 12345678 mBuf := FormatDateTime('YYYYMMDD',dates); UpDown1.Position := Strtoint(copy(mBuf,1,4)); UpDown2.Position := Strtoint(copy(mBuf,5,2)); end; procedure TfrmDateForm.EdtToDate; begin MCalendar.Date := EncodeDate(UpDown1.Position ,UpDown2.Position,1); end; procedure TfrmDateForm.edYearKeyPress(Sender: TObject; var Key: Char); begin if not (key in ['0'..'9',#8,#13]) then key := #0; if key = #13 then EdtToDate; end; procedure TfrmDateForm.UpDown2Click(Sender: TObject; Button: TUDBtnType); begin EdtToDate; end;---------------------- 一切有為法 如夢幻泡影 如露亦如電 應做如是觀 ---------------------- |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |