又一个关于导入的问题 |
答題得分者是:st33chen
|
zhouying82
高階會員 發表:150 回覆:272 積分:189 註冊:2004-03-16 發送簡訊給我 |
每次导入数据,在时间方面,一定要先点击记录向前或者记录向后按钮,MASKEDIT上面才会正常显示,请问这个是什么原因啊?
[code delphi] procedure TForm4.LoadData; begin LabeledEdit2.Text := form1.abstable1.fieldByName('提醒人').AsString; MaskEdit1.Text := formatdatetime('HH:mm',Form1.ABSTable1.fieldbyname('提醒时间').asdatetime); memo1.text:=form1.abstable1.fieldByName('提醒内容').AsString; LabeledEdit1.Text := form1.abstable1.fieldByName('声音文件').AsString; if form1.abstable1.FieldByName('键盘提示').AsBoolean then ComboBox2.ItemIndex := 0 else ComboBox2.ItemIndex := 1; if Form1.ABSTable1.fieldbyname('提醒日期').asdatetime=0 then dateTimePicker1.Format :=' ' else datetimepicker1.date:=StrToDate(formatdatetime('yyyy-mm-dd',Form1.ABSTable1.fieldbyname('提醒日期').asdatetime)) end; procedure TForm4.ToolButton1Click(Sender: TObject); begin Form1.ABSTable1.First ; LoadData; end; [/code]
------
断断续续的学了几年,还是一个初学者,永远支持Delphi ! |
zhouying82
高階會員 發表:150 回覆:272 積分:189 註冊:2004-03-16 發送簡訊給我 |
上面的这个问题,自己解决了。犯了个低级错误。呵呵。现在的新问题是我怎么样判断MASKEDIT里面设定时间的完整性呢?我的代码如下,不好好像总是不会不会跳出我所指定的错误信息,而是系统自己默认的。不知道怎么搞,是我的代码有问题吗?
procedure TForm4.MaskEdit1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); var time: TDate; begin try time:=(StrTodate(MaskEdit1.Text)); except MessageBox(Handle, '请输入正确的时间格式!', 'ReminDer提醒', MB_OK MB_ICONINFORMATION MB_TOPMOST); MaskEdit1.SetFocus; end; end;
------
断断续续的学了几年,还是一个初学者,永远支持Delphi ! |
zhouying82
高階會員 發表:150 回覆:272 積分:189 註冊:2004-03-16 發送簡訊給我 |
|
st33chen
尊榮會員 發表:15 回覆:591 積分:1201 註冊:2005-09-30 發送簡訊給我 |
您好,
我用 d6 測下式可以, Form1.ABSTable1.fieldbyname('提醒时间').asdatetime:=StrToDatetime(MaskEdit1.Text); // 如果 maskedit1.text 為 'hh:nn' 型 // 如果 maskedit1.text 為 'hhnn' 型, 改用 maskedit1.edittext Form1.ABSTable1.fieldbyname('提醒时间').asdatetime:=StrToDatetime(MaskEdit1.editText); 又 聽說 d7 以上 strtodatetime 可以加 formatsetting string, 則是 Form1.ABSTable1.fieldbyname('提醒时间').asdatetime:=StrToDatetime(MaskEdit1.Text, 'hh:nn'); 又, 雖是小問題(compie, run 都不會有錯誤訊息, 但是資料是錯誤的), 但仍提醒您, delphi 的 formatstring 是以 nn 代表 minute (以和 month 的 mm 區分) d6 是如此, d7以後不知, 但是照判斷他應該不會改這點才是. 參考一下囉. ===================引 用 zhouying82 文 章=================== 最后一个问题就是,我怎么样可以通过MASKEDIT保存时间呢? [code delphi] Form1.ABSTable1.fieldbyname('提醒时间').asdatetime:=StrToDatetime(formatdatetime('HH:mm',strtodate(MaskEdit1.Text))); [/code] 上面这句总是提示错误。是哪里写错了呢?
------
IS IT WHAT IT IS 我是 李慕白 請倒著唸. 又想把老話拿出來說, 請用台語發音 : 專家專家全是ROBOT CAR (滷肉腳啦); 都已接手這麼久了, 績效還是那麼爛, 講話還那麼大聲. |
zhouying82
高階會員 發表:150 回覆:272 積分:189 註冊:2004-03-16 發送簡訊給我 |
还是接上面的问题,
[code delphi] procedure TForm4.MaskEdit1Exit(Sender: TObject); var time: Ttime; begin try time:=(StrTotime(MaskEdit1.Text)); except MessageBox(Handle, '请输入正确的时间格式!', 'ReminDer提醒', MB_OK MB_ICONINFORMATION MB_TOPMOST); MaskEdit1.SetFocus; end; end; [/code] 这么写判断的话,如果格式错误,为是么总不是弹出我所要的错误提示呢?
------
断断续续的学了几年,还是一个初学者,永远支持Delphi ! |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |