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

有關數學函式看內容幫解答一下

尚未結案
jaon
一般會員


發表:12
回覆:1
積分:2
註冊:2004-08-02

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-08-11 17:09:06 IP:218.160.xxx.xxx 未訂閱
以下是我程式內容 就是我要把DateTimePicker1和edit2 edit3的值 顯示在edit5 然後再把edit5的值顯示在edit4 我這程式是有關日期的 我有上傳我做的Delphi的程式Form1檔案上傳上來給各位看 舉例 開始日期+期限( 幾年 幾月 幾日) 2002/1/1+ 5月25日 = 2002/5/26 我的問題是當我執行時先不管edit1物件的值只要將edit2跟edit3 輸入的值顯示在edit5 然後再把edit5的值加上1年然後顯示在edit4 各位大大會的人 可以幫解答一下嗎?@@ 小弟先在這感謝嚕~~@@    procedure TForm1.Button1Click(Sender: TObject); Var   D1,D2,TD : Tdate;   im : Integer ; begin   D1 := Trunc(DateTimePicker1.Date) ;   IM := StrToInt(Edit1.Text)*12+StrToInt(Edit2.Text) ;   D2 := IncMonth(D1,12); //滿一年的日期   TD := Now;   //=Max(D2,TD);//    //或是   //If D2 < TD Then Begin     // 未滿一年   //End Else Begin     // 滿一年      D1 := Trunc(DateTimePicker1.Date) ;   IM := StrToInt(Edit1.Text)*12+StrToInt(Edit2.Text) ;   D1 := IncMonth(D1,IM);   Edit5.Text := DateToStr(D1+StrToInt(Edit3.Text)-1); end;    end.     發表人 - jaon 於 2004/08/11 17:15:18
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-08-12 08:49:02 IP:210.65.xxx.xxx 未訂閱
Hi jaon,
procedure TForm1.Button1Click(Sender: TObject);
Var
  d1,d2,d3 : TDate;
begin
  d1 := DatetimePicker1.Date;
  try
    d2 := IncMonth(d1,StrToInt(Edit2.Text));
    d2 := IncDay(d2,StrToInt(Edit3.Text));
    Edit4.Text := DateToStr(d2);
    try
      d3 := IncYear(d2,StrToInt(Edit1.Text));
      Edit5.Text := DateToStr(d3);
    except
      Edit5.Text := 'Error'
    end;
  except;
    Edit4.Text := 'Error';
    Edit5.Text := 'Error';
  end;
end;
uses DateUtils ---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
poemkevin
初階會員


發表:26
回覆:77
積分:30
註冊:2002-10-19

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-08-12 09:16:37 IP:210.202.xxx.xxx 未訂閱
procedure TForm1.Button1Click(Sender: TObject); Var D1,D2,TD : Tdate; i,j,k,jm : Integer ; y,m,d:word; begin    D1 := Trunc(DateTimePicker1.Date) ;    DecodeDate(D1,y,m,d);    i:=strtoint(edit1.Text);    j:=strtoint(edit2.Text);    k:=strtoint(edit3.Text);       jm:=j+m;        repeat      if jm > 12 then       begin        jm := jm -12;        inc(i);       end;       until (jm <= 12);      TD:=  EncodeDate(y+i,jm,d)+k;   D2:=  EncodeDate(y+i+1,jm,d)+k;   //截止日期   Edit5.Text:=DateTimeToStr(TD);  //加上日期   Edit4.Text:=DateTimeToStr(D2);    end;    ps: 抱歉了, 因為小弟也是新手, 程式寫得不是很精簡,      看看是否有前輩願意介紹更精簡的程式寫法, Thank YOU!
系統時間:2024-05-17 16:19:40
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!