如何寫出一個時間相減的程式,誰能幫幫我... |
尚未結案
|
Killy
一般會員 發表:1 回覆:1 積分:0 註冊:2003-10-14 發送簡訊給我 |
最近我在學習Delphi6程式..... 我想寫出一個時間相減的程式...... 程式的題目是這樣..... "下班時間減下班時間".. 只要輸入"下班時間"和"上班時間"... 然後再按一個按鈕,他就會自動幫你相減,然後顯示出來..... 以下是我自己寫的程式,可是有錯誤,無法執行.... 我不知道到底錯在哪...... 誰能幫我改一下,或是幫我重新寫一個..... 我會非常感謝你的..... unit U01; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls; type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Edit3: TEdit;
Edit4: TEdit;
procedure Edit2Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end; var
Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Edit2Change(Sender: TObject);
var
a,b,c,d:single;
begin
a:=strtofloat(edit1.text);
b:=strtofloat(edit2.text);
c:=strtofloat(edit3.text);
d:=strtofloat(edit4.text);
label3:=((a*60) c)-((b*60) d)/60;
ediout.text:=floattostr(label3);
end; end.
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
|
sos_admin
版主 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
//自定义函数实现时间差
type TDateDiff=record
days,hours,minutes,seconds,mseconds:integer;
end;
function GetDiff(const Date1,Date2:TDateTime):TDateDiff;
var Diff:TDateTime;
temp:TDateDiff;
begin
Diff:=abs(Date1-Date2);
temp.days:=trunc(Diff);
Diff:=(Diff-temp.days)*24;
temp.hours:=trunc(Diff);
Diff:=(Diff-temp.hours)*60;
temp.minutes:=trunc(Diff);
Diff:=(Diff-temp.minutes)*60;
temp.seconds:=trunc(Diff);
Diff:=(Diff-temp.seconds)*1000;
temp.mseconds:=trunc(Diff);
Result:=temp;
end; procedure TForm1.Button1Click(Sender: TObject);
var
astart:string;
mytime:TDateDiff;
begin
astart:='2003-10-15 8:15:00 00';
mytime:=GetDiff(strtodatetime(astart),now()) ;
showmessage(inttostr(mytime.days));
showmessage(inttostr(mytime.hours));
showmessage(inttostr(mytime.minutes));
showmessage(inttostr(mytime.seconds));
showmessage(inttostr(mytime.mseconds));
end; try~~~
|
aquarius
資深會員 發表:3 回覆:347 積分:330 註冊:2003-05-21 發送簡訊給我 |
將時間字串轉為 TDATETIME 再相減就好啦!!
procedure TForm1.Button1Click(Sender: TObject); var s1, s2 : string ; dt1, dt2 : TDateTime ; dDiff : double ; s, sRet : string ; begin s1:='2003/10/15 17:55:00' ; s2:='2003/10/15 18:06:00' ; dt1:=StrToDateTime(s1) ; dt2:=StrToDateTime(s2) ; dDiff:=dt2-dt1 ; sRet:='' ; if trunc(dDiff)>0 then begin sRet:=inttostr(trunc(dDiff)) '天'; end ; s:=FormatDateTime('hh:nn:ss',dDiff) ; sRet:=sRet copy(s,1,2) '時' copy(s,4,2) '分' copy(s,7,2) '秒' ; ShowMessage(sRet) ; end;...Aquarius
------
水瓶男的blog: http://791909.blogspot.com |
Killy
一般會員 發表:1 回覆:1 積分:0 註冊:2003-10-14 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |