Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.09.2012, 13:57   #1
lacasombra
Новичок
Джуниор
 
Регистрация: 10.09.2012
Сообщений: 2
По умолчанию Определение скорости набора текста в Delphi

Всем привет, пишу программу клавиатурный тренажёр в Delphi, большая часть программы уже готова, осталось лишь определить скорость набора текста пользователя. Подскажите пожалуйста как это реализовать, если можно с примерами и пояснениями. К вопросу прикрепил пример из другой программы, там вычисляется средняя скорость, и сама скорость. Помогите пожалуйста определить скорость набора текста, как в прикрепленном примере. Заранее спасибо!
Вложения
Тип файла: zip Пример.zip (229.3 Кб, 9 просмотров)
lacasombra вне форума Ответить с цитированием
Старый 11.09.2012, 17:16   #2
lacasombra
Новичок
Джуниор
 
Регистрация: 10.09.2012
Сообщений: 2
По умолчанию

Вот код, который я написал:
Код:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, jpeg;

type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Timer2: TTimer;
Timer1: TTimer;
Label5: TLabel;
procedure FormCreate(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
chas1,min1,sec1,msec1,chas2,min2,sec2,msec2:word;
sk1,sec1real,msreal,sk,obsk:real;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
label2.Caption:=floattostr(obsk)+' '+'ñèìâ/ìèí';
label4.Caption:=floattostr(sk)+' '+'ñèìâ/ìèí';
timer2timer(timer2);

end;

procedure TForm1.Timer2Timer(Sender: TObject);
begin
label5.Caption:=timetostr(now);
end;

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
var begtime,vreme:tdatetime;
begin
vreme:=time;
DecodeTime((vreme), chas2, min2, sec2, msec2);
if sec2<sec1 then //åñëè ñåêóíäû2<ñåêóíäû1
begin
sec2:=(sec2+60-sec1);
end
else
begin
sec2:=sec2-sec1;
end;
if msec2<msec1 then //åñëè ìèëèñåêóíäû2<ìèëèñåêóíäû1
begin
msec2:=msec2+1000-msec1;
end
else
begin
msec2:=msec2-msec1;
end;
sec1real:=round(sec2);
msreal:=round(msec2);
sk1:=sec1real+(msreal/1000);
sk:=(60 / sk1); //ñêîðîñòü íàáîðà çà 1 ìèíóòó
obsk:=(obsk+sk)/ 2;
label2.Caption:=floattostr(round(obsk))+'ñèìâ/ìèí';
label4.Caption:=floattostr(round(sk))+'ñèìâ/ìèí';
timer1.Enabled:=true;
begtime:=time;
DecodeTime((BegTime), chas1, min1, sec1, msec1);

end;

end.
Код работает, скорость определяется, но дело не в этом. Проблема в том, что я не уверен в правильности определения скорости...

Последний раз редактировалось Stilet; 11.09.2012 в 17:59.
lacasombra вне форума Ответить с цитированием
Старый 23.04.2013, 13:43   #3
Stranger209
Новичок
Джуниор
 
Регистрация: 23.04.2013
Сообщений: 1
По умолчанию

привет! по курсовому нужна такая же программа.
Вы ее доделали? если да, то не могли бы Вы скинуть ее на почту? очень нужна.
Stranger209 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
datagridview - позиционирование по мере набора текста andrew_jr20 C# (си шарп) 1 23.11.2011 23:37
определение текста alex0097 Общие вопросы Delphi 7 30.07.2010 23:47
Контроль состояние набора текста в Edit. Delphi S_Yevgeniy Помощь студентам 2 07.06.2010 12:06
Определение тематики текста Solncelikiy Помощь студентам 0 17.05.2010 16:38
Программа для набора готового текста в текстовый редактор brick Помощь студентам 13 03.09.2009 09:26