var
   MyST:TSystemTime;
begin
  with MyST do
  begin
    wYear:=2004;
    wMonth:=11;
    wDay:=25;
    wHour:=8;
    wMinute:=9;
    wSecond:=10;
  end;
  SetSystemTime(MyST);
end;
现在我想在上面的各个的数字的地方用 edit.text来代替,前后的变量类型不一致的,该如何进行转换??

解决方案 »

  1.   

    先转化为int型,然后再直接强制转化
    例如wyear:=word(strtoint(edit1.text));
    (不好意思,没调试,楼主试验一下)
      

  2.   

    直接用 StrToInt 函数也是可以的。
      

  3.   

    var
       MyST:TSystemTime;
    begin
      with MyST do
      begin
        Edit1.Text:=IntToStr(2004);
        Edit2.text:=IntToStr(11);
        Edit3.text:=IntToStr(25);
        Edit4.text:=IntToStr(8);
        Edit5.text:=IntToStr(9);
        Edit6.Text:=IntToStr(10);
      end;
      SetSystemTime(MyST);
    end;
      

  4.   

    不好意思,没看清楚:var
       MyST:TSystemTime;
    begin
      with MyST do
      begin
        wYear:=StrToInt(Edit1.text);
        wMonth:=StrToInt(Edit2.Text);
        wDay:=StrToInt(Edit3.Text);
        wHour:=StrToInt(Edit4.text);
        wMinute:=StrToInt(Edit5.text);
        wSecond:=StrToInt(Edit6.text);
      end;
      SetSystemTime(MyST);
    end;