(A) 我完全不会写 Delphi(B) 想办到以下功能(A)  TForm1 下有一个 TForm1.Button1 和 TForm1.Edit1(B)  按下 Button1 后开始执行P := 1234.566;For w = 1 To 1000000 DO BEGIN   Q := Q + P * 12  + P /33;  END; (C) 最后把执行 For 所花费的秒数 传给  TForm1.Edit1  

解决方案 »

  1.   


    var
       dtBegin:TDateTime;
    ...
    begin
       p:=1234.566;
       dtBegin:=now;
       For w = 1 To 1000000 DO BEGIN 
          Q := Q + P * 12  + P /33; 
       Edit1.Text:=IntToStr(DateTimeToUnix(now)-DateTimeToUnix(dtBegin));
       
      

  2.   


    var
      Time1, Time2: Longint;
      p, q: Double;
      w: Integer;
    begin
      P := 1234.566; 
      Time1 := GetTickCount;
      For w = 1 To 1000000 DO 
        Q := Q + P * 12  + P /33;
      Time2 := GetTickCount;
      Edit1.Text := IntToStr(Time2 - Time1); 
    end;
      

  3.   

    晕,我2楼的代码有问题,最后应该是:
    Edit1.Text := IntToStr((Time2 - Time1) div 1000);  因为是秒数,所以用div取整
      

  4.   


    请问 Delphi 执行时会不会检查 "阵列索引是否 超出范围" ,  "整数是否 超出范围" 例如w1: integer;
    w2: integer;Q: integer;For w1 := 1 to 10000 do begin
     For w2 := 1 to 10000 do begin
      Q:= Q +1000000000;  // 加到让 Q 数值超过 Interger 容许范围时 , Delphi 是否会发出 "警讯"
     end;
    end;