線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:3654
推到 Plurk!
推到 Facebook!

如何把DateToStr要傳回的值改掉

答題得分者是:mypigbaby
s563348
一般會員


發表:6
回覆:14
積分:4
註冊:2006-12-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-02-27 14:41:58 IP:220.130.xxx.xxx 訂閱
請問各位大大:
我想把DateToStr(Date)傳回的值例如 97/02/27改成 097/02/27
因為整個專案中用很多DateToStr, 不想一個一個改,
可否在DateToStr()傳回值前先把它改掉?
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-02-27 15:02:32 IP:75.18.xxx.xxx 未訂閱
sure.
press F1, check out Format function.
===================引 用 s563348 文 章===================
請問各位大大:
我想把DateToStr(Date)傳回的值例如 97/02/27改成 097/02/27
因為整個專案中用很多DateToStr, 不想一個一個改,
可否在DateToStr()傳回值前先把它改掉?
s563348
一般會員


發表:6
回覆:14
積分:4
註冊:2006-12-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-02-27 15:25:24 IP:220.130.xxx.xxx 訂閱
請問是這樣嗎?
DecodeDate(Date, Year, Month, Day);
Edit1.Text := Format('=/-/-',[Year-1911,Month,Day]);
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-02-27 15:42:29 IP:75.18.xxx.xxx 未訂閱
Please try and error, then you'll know !
That's the way of programming.
===================引 用 s563348 文 章===================
請問是這樣嗎?
DecodeDate(Date, Year, Month, Day);
Edit1.Text := Format('=/-/-',[Year-1911,Month,Day]);
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-02-27 16:18:44 IP:75.18.xxx.xxx 未訂閱
Check out online help more carefully and patiently, then you'll know why.

Edit1.Text := Format('%.03d/%.02d/%.02d',[Year-1911,Month,Day]);
===================引 用 Stallion 文 章===================
Please try and error, then you'll know !
That's the way of programming.
===================引 用 s563348 文 章===================
請問是這樣嗎?
DecodeDate(Date, Year, Month, Day);
Edit1.Text := Format('=/-/-',[Year-1911,Month,Day]);
s563348
一般會員


發表:6
回覆:14
積分:4
註冊:2006-12-12

發送簡訊給我
#6 引用回覆 回覆 發表時間:2008-02-27 16:25:20 IP:220.130.xxx.xxx 訂閱
感謝您, 輸出結果對了
再請問一下:有辦法直接去改DateToStr()的function嗎?
因為它放在...\delphi5\source\rtl\sys\sysutil.pas, 我改了....可沒作用
pillar62
資深會員


發表:9
回覆:324
積分:271
註冊:2002-04-15

發送簡訊給我
#7 引用回覆 回覆 發表時間:2008-02-27 16:48:08 IP:219.87.xxx.xxx 訂閱
您好
可以試試看用FORMADATETIME('eeemmdd', Date)
如果是在民國一百年以前會是六碼所以要自己處理前面加上一個0,如果是一百年以後就會顯示七碼!
當然 FormatDateTime裡面還有很多用法可以按F1去試試看喔!!
------
Pillar Wang
Coffee
版主


發表:31
回覆:878
積分:561
註冊:2006-11-15

發送簡訊給我
#8 引用回覆 回覆 發表時間:2008-02-27 16:56:44 IP:220.130.xxx.xxx 訂閱
press F1, get the subject "date/time formatting variables" and you'll get it.
------
不論是否我發的文,在能力範圍皆很樂意為大家回答問題。
為了補我的能力不足之處,以及讓答案可以被重複的使用,希望大家能儘量以公開的方式問問題。
在引述到我的文時自然會儘量替各位想辦法,謝謝大家!
s563348
一般會員


發表:6
回覆:14
積分:4
註冊:2006-12-12

發送簡訊給我
#9 引用回覆 回覆 發表時間:2008-02-27 18:30:35 IP:220.130.xxx.xxx 訂閱
感謝各位大大:
我的shortdateformate='eeee/MM/dd', MaskEdit1.editmask = '!999/99/99;1; '
輸出的結果是 ' 97/02/27', 97年前面都會空一格, 操作者常常會忘了它的存在, 就直接輸入日期
造成日期格式錯誤, 所以才會想要自動在最前面填入0,
因為要每隻有用到DateToStr的程式都要去改, 才會偷懶想看可不可以直接改DateToStr() function
目前支票到期日已經到100年了, 所以不能等到真的100年才來改
yubad2000
中階會員


發表:0
回覆:44
積分:78
註冊:2007-09-30

發送簡訊給我
#10 引用回覆 回覆 發表時間:2008-02-28 12:52:32 IP:66.171.xxx.xxx 未訂閱
Another way around is to use "find and replace" to replace "DateToStr" to your new function name in the source code.
This new function should use the same arguments as DateToStr uses.

===================引 用 s563348 文 章===================
感謝各位大大:
我的shortdateformate='eeee/MM/dd', MaskEdit1.editmask = '!999/99/99;1; '
輸出的結果是 ' 97/02/27', 97年前面都會空一格, 操作者常常會忘了它的存在, 就直接輸入日期
造成日期格式錯誤, 所以才會想要自動在最前面填入0,
因為要每隻有用到DateToStr的程式都要去改, 才會偷懶想看可不可以直接改DateToStr() function
目前支票到期日已經到100年了, 所以不能等到真的100年才來改
------
===波士頓夜未眠===
What a wonderful world!!
Jazz up the world with jazz!!
==================

When I am not programming...
you can find me here:
http://www.holy-war.de/EN/World3/bin/?advertiser=63190
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#11 引用回覆 回覆 發表時間:2008-02-28 14:17:34 IP:61.67.xxx.xxx 未訂閱
不要那麼死腦筋, 一直想要去改原始的function, 何不自已創建一個 myDatetoStr , 程式中全部改用 myDatetoStr 就好了唄!
===================引 用 s563348 文 章===================
感謝您, 輸出結果對了
再請問一下:有辦法直接去改DateToStr()的function嗎?
因為它放在...\delphi5\source\rtl\sys\sysutil.pas, 我改了....可沒作用
mypigbaby
高階會員


發表:11
回覆:168
積分:155
註冊:2006-07-20

發送簡訊給我
#12 引用回覆 回覆 發表時間:2008-02-29 08:50:31 IP:203.73.xxx.xxx 訂閱
豬寶寶公司的做法
uses your_public;
裡面的寫法

unit your_public;
function strtoint(_STR:string):Integer;
begin
Result:=StrToIntDef(_STR,0);
end;


直接蓋掉原本的strtoint

===================引 用 s563348 文 章===================
請問各位大大:
我想把DateToStr(Date)傳回的值例如 97/02/27改成 097/02/27
因為整個專案中用很多DateToStr, 不想一個一個改,
可否在DateToStr()傳回值前先把它改掉?
系統時間:2024-05-05 13:13:03
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!