全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2329
推到 Plurk!
推到 Facebook!

关于DateTimePicker的问题

尚未結案
Amanda_Chen
一般會員


發表:25
回覆:82
積分:21
註冊:2003-12-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-03-06 13:55:38 IP:61.165.xxx.xxx 未訂閱
DateTimePicker默认为DateTime类型,可是想取空值怎样做呢?现在将parseInput属性设为True,可以删除值了,但却会给出出错信息,然后将一个日期给回。或者怎样能将DateTimePicker取值类型转为字串型哩?      请教请教
deity
尊榮會員


發表:90
回覆:876
積分:678
註冊:2003-05-09

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-03-06 15:51:09 IP:219.129.xxx.xxx 未訂閱
你好: datetimetostr(DateTimePicker1.DateTime) 可以转成字符串类型,试试。 ——行径窄处,留一步与人行——
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-03-06 16:18:08 IP:63.84.xxx.xxx 未訂閱
您好﹗    TDateTimePicker元件的日期預設值是取自電腦系統當天的日期時間﹐當您刪除其Date值是﹐則會取1899年12月31日作為其回傳值﹒    相關的轉換函數如下﹕ DateTimeToStr函數﹕將Datetime形態轉為字串形態 例﹕Edit1.Text := DateTimeToStr(DateTimePicker1.DateTime);    DateToStr函數﹕將Date形態轉為字串形態 例﹕Edit1.Text := DateToStr(DateTimePicker1.Date);    TimeToStr函數﹕將Time形態轉為字串形態 例﹕Edit1.Text := TimeToStr(DateTimePicker1.Time);    參考看看﹗    ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟
Amanda_Chen
一般會員


發表:25
回覆:82
積分:21
註冊:2003-12-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-03-06 22:15:51 IP:61.165.xxx.xxx 未訂閱
我想一定是我没有表达清楚。我是在做查询时遇到这个问题的,当选定一个日期时,做在选定日期的查询。日期为空时,做所有单据的查询。而日期选项我是用DataTimePicker做的。可是它必须指定值,而且必须是DataTime类型。改用ComboBox与MonthCalendar组合也可以做,但是有些繁琐,而且下拉时MonthCalenda的显示总有点怪怪的。有没有更好的方法呢?或者,DataTimePicker可以修改扩展它的属性?该怎么做好呢?
Amanda_Chen
一般會員


發表:25
回覆:82
積分:21
註冊:2003-12-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-03-06 22:22:14 IP:61.165.xxx.xxx 未訂閱
或者,DataTimePicker与用户交互值是怎样取到的呢?如果在DataTimePicker中删除原有日期,这个空串,怎样取得?如果想赶在它报错前处理这个空串。< > < >也不知这样说是更清楚了还是更不清楚了。
deity
尊榮會員


發表:90
回覆:876
積分:678
註冊:2003-05-09

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-03-07 01:06:01 IP:218.15.xxx.xxx 未訂閱
引言: 我想一定是我没有表达清楚。我是在做查询时遇到这个问题的,当选定一个日期时,做在选定日期的查询。日期为空时,做所有单据的查询。而日期选项我是用DataTimePicker做的。可是它必须指定值,而且必须是DataTime类型。改用ComboBox与MonthCalendar组合也可以做,但是有些繁琐,而且下拉时MonthCalenda的显示总有点怪怪的。有没有更好的方法呢?或者,DataTimePicker可以修改扩展它的属性?该怎么做好呢? < face="Verdana, Arial, Helvetica"> 你好,其实我觉得如果你既要查询所有时间段的记录,又要查询某个时间段的记录,还不如这样: 先拉两个RadioButton,供选择所有记录,某时间段记录, 选择RadioButton1则查找出所有时间段记录,选择RadioButton2则查找出介于DataTimePicker1和DataTimePicker2之间的记录,代码如下: var date1,date2:Tdate; begin date1:=DateTimePicker1.Date; date2:=DateTimePicker1.Date; if RadioButton1.checked then begin Query1.close; Query1.sql.Clear; Query1.sql.Add('SELECT *from table1'); end else if RadioButton2.checked then begin if date1>date2 then showmessage('时间选择出错,请重新选择!') else begin Query1.close; Query1.sql.Clear; Query1.sql.Add('SELECT *from table1'); Query1.sql.Add('where(dat>=:rq1)and(dat<=:rq2)'); end; Query1.Params [0].DataType :=ftdate; Query1.Params [0].Value :=date1; Query1.Params [1].DataType :=ftdate; Query1.Params [1].Value :=date2; Query1.Active :=true; end; end; 以上代码还没经测试,请自己试试看。 ——行径窄处,留一步与人行——
Amanda_Chen
一般會員


發表:25
回覆:82
積分:21
註冊:2003-12-28

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-03-07 08:47:42 IP:61.165.xxx.xxx 未訂閱
谢谢deity大大,您的方法是变通的一个好方法。帮我扩展了思路。可是看人家实现过这个功能,实在有点点不甘心的说。
deity
尊榮會員


發表:90
回覆:876
積分:678
註冊:2003-05-09

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-03-07 12:37:13 IP:218.15.xxx.xxx 未訂閱
你可以试试 datetimepicker1.format:='*' (*表示“一个空格”) 则可删除datetimepicker1里的时间,试试 ——行径窄处,留一步与人行——
Amanda_Chen
一般會員


發表:25
回覆:82
積分:21
註冊:2003-12-28

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-03-07 15:30:46 IP:61.165.xxx.xxx 未訂閱
to deity: 这样是可以显示空串,可是其它日期数据也无法取到了呀。好象还不是所想要的,再想想。
deity
尊榮會員


發表:90
回覆:876
積分:678
註冊:2003-05-09

發送簡訊給我
#10 引用回覆 回覆 發表時間:2004-03-08 10:18:08 IP:218.15.xxx.xxx 未訂閱
引言: to deity: 这样是可以显示空串,可是其它日期数据也无法取到了呀。好象还不是所想要的,再想想。 < face="Verdana, Arial, Helvetica"> 您好,您想取得其他日期数据,试试这样: procedure TForm1.DateTimePicker1Change(Sender: TObject); begin datetimePicker1.Format:=''; //注意这里没空格了 end; 那么当您点选datetimePicker1时,它就会与你选的日期为准 ——行径窄处,留一步与人行——
Amanda_Chen
一般會員


發表:25
回覆:82
積分:21
註冊:2003-12-28

發送簡訊給我
#11 引用回覆 回覆 發表時間:2004-03-08 10:52:04 IP:61.165.xxx.xxx 未訂閱
to deity: < >和俺想要的越来越靠近了,可是还不完全一样。在删除日期后,也要认可为 >< >
Amanda_Chen
一般會員


發表:25
回覆:82
積分:21
註冊:2003-12-28

發送簡訊給我
#12 引用回覆 回覆 發表時間:2004-03-08 20:01:37 IP:61.165.xxx.xxx 未訂閱
找到了一个 >
kevin622
一般會員


發表:0
回覆:22
積分:9
註冊:2003-10-16

發送簡訊給我
#13 引用回覆 回覆 發表時間:2004-03-08 20:42:41 IP:210.244.xxx.xxx 未訂閱
我發表一下我的笨方法,你看看可不可行。 在 DateTimePicker1 上面加覆蓋上一個 Edit or MaskEdit,只露出下拉的按鈕。當 user 作日期選擇後,就將 DateTimePicker1.date 顯示到 edit 上。你就只需要判斷 edit 上的值就好了。當 edit 被清空也不會有問題。你就不需要一直在 DateTimePicker 上費神了.. §§§ 量力而為 §§§ 當覺得力量不足時,就是該為自己充電的時候了。
Amanda_Chen
一般會員


發表:25
回覆:82
積分:21
註冊:2003-12-28

發送簡訊給我
#14 引用回覆 回覆 發表時間:2004-03-08 21:20:10 IP:61.165.xxx.xxx 未訂閱
to kevin622:也是个好的变通方法。呵呵。可就是想知道它的那个错误提示是怎么激发出来滴呢?实际应用中打算采用
deity
尊榮會員


發表:90
回覆:876
積分:678
註冊:2003-05-09

發送簡訊給我
#15 引用回覆 回覆 發表時間:2004-03-09 00:50:04 IP:218.15.xxx.xxx 未訂閱
终于给我找到了相关问题的信息,您可以看看下面: http://delphi.ktop.com.tw/topic.php?topic_id=23976 我还没有试通,明天再试试,太困了 你可以试试改改,看行不行。 ——行径窄处,留一步与人行——
Amanda_Chen
一般會員


發表:25
回覆:82
積分:21
註冊:2003-12-28

發送簡訊給我
#16 引用回覆 回覆 發表時間:2004-03-09 20:54:21 IP:61.165.xxx.xxx 未訂閱
to deity: < >向您致敬!这么勤力!这种态度已经超过这个问题本身了。< >
系統時間:2024-06-24 3:49:48
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!