欲编一个测试打字速度的小软件,求测每分钟打字速度的公式!
在窗体上放一个MEMO控件,和一开始按钮。在点开始按钮时,程序开始计时。。
然后在MEMO的CHANGE事件里用的公式来算打字速度。。
我想是用总字数来除所用时间数。。不知在代码上该如何体现。。
如能解决另开100分相送
:)

解决方案 »

  1.   

    length(memo1.lines.text)/所花时间   返回的是什么类型??最好给所详细代码.. 谢谢。,,很急
      

  2.   

    字数:length(memo1.lines.text)
    所用时间:gettickcount;
    二者相除即可。
      

  3.   

    length(memo1.lines.text)memo的文本长度
      

  4.   

    我想应该这样吧
    var
      BeginTime,EndTime,BetweenTime:DataTime;
      KnockSpeed:real;1、点击[开始]
      BeginTime:=time;
    2、点击[结束]
      EndTime:=time;
      BetweenTime:=EndTime-BeginTime;
      KnockSpeed:=round(Length(memo1.lines.text)/MinuteOf(BetweenTime));
    3、label1.caption:=FloaToStr(KnockSpeed)+'字/分钟';
      
      

  5.   

    随手写一个,大家改进吧。......
    var
      S:TTime;
    ......procedure TForm1.Button1Click(Sender: TObject);
    begin
      S:=time;//开始计时
    end;procedure TForm1.Memo1Change(Sender: TObject);
    var
      D:TTime;
      Hour, Min, Sec, MSec:Word;
    begin
      D:=time;
      DecodeTime(D-S, Hour, Min, Sec, MSec);
      Edit1.Text:=FloatToStr(Length(memo1.text)/(Hour*3600+Min*60+Sec+MSec/1000));
      // 单位:字/每秒
    end;
      

  6.   

    时间用Timer啊,定义一个i:integer=1;
    procedure TForm1.Memo1Change(Sender: TObject);
    var
    n:integer;
    beginn:=Memo1.GetTextLen;
    label1.Caption:=inttostr(n div i);//用总字数来除所用时间(秒)数
    end;procedure TForm1.Timer1Timer(Sender: TObject);
    begin
    i:=i+1;
    end;
      

  7.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls,math;type
      TForm1 = class(TForm)
        Memo1: TMemo;
        Button1: TButton;
        procedure Memo1Change(Sender: TObject);
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;
      starttime:integer;implementation{$R *.dfm}procedure TForm1.Memo1Change(Sender: TObject);
    begin
      caption:=formatfloat('0.00', memo1.GetTextLen/ ((GetTickCount-starttime)/1000/60));
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
      starttime:=GetTickCount;
    end;end.