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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.05.2015, 18:41   #1
fanmag
 
Регистрация: 24.05.2015
Сообщений: 4
По умолчанию время нажатия на каждую клавишу

Здравствуйте, нужна ваша помощь!
Есть фраза, которую пользователь вводит в текстовое поле, необходимо посчитать в секундах время нажатия на каждую клавишу и время ее удержания и записать результат в массив.

Подскажите, пожалуйста, каким образом это осуществить?
fanmag вне форума Ответить с цитированием
Старый 24.05.2015, 19:37   #2
zvygin1964
Старожил
 
Аватар для zvygin1964
 
Регистрация: 19.06.2013
Сообщений: 2,463
По умолчанию

При нажатии на любую клавишу запустить таймер и посчитать количество циклов его срабатывания до отпускания клавиши, записать (произведение из количества циклов на длительность цикла) в элемент массива. При новом нажатии перейти к следующему элементу массива.
Репутация: полный "0"
zvygin1964 вне форума Ответить с цитированием
Старый 24.05.2015, 19:51   #3
fanmag
 
Регистрация: 24.05.2015
Сообщений: 4
По умолчанию

Может подскажите как это все организовать, такое чувство, что пол интернета уже облазил, но сам код или какой-нибудь пример на такую тему не нашел. Спасибо

Код:
Private Sub TextBox1_KeyDown(sender As System.Object, e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
        If e.KeyCode = Keys.N Then
            t1 = TimeOfDay.Millisecond
        End If
    End Sub
Но выдает постоянно результат 0, как исправить ?

Код:
Public Class Form1
    Dim t1, t2, t3 As Date
    Dim i As Integer


    Private Sub TextBox1_KeyDown(sender As System.Object, e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
        If e.KeyCode = Keys.N Then
            t1 = Now

        End If
    End Sub

    Private Sub TextBox1_KeyUp(sender As System.Object, e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyUp
        If e.KeyCode = Keys.N Then
            t2 = Now
            'e.Handled = True
        End If
    End Sub

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        i = 0
        If TextBox1.Text = "тестова фраза" Then i = i + 1
        Label1.Text = Str(i)


        Label2.Text = CStr(t2.Millisecond - t1.Millisecond)
    End Sub
End Class
этот код рабочий, но считает только конкретно милисекунды, как его можно офрмить чтобы брались для разницы милисекунды и секунды вместе?

Последний раз редактировалось Stilet; 25.05.2015 в 07:45.
fanmag вне форума Ответить с цитированием
Старый 25.05.2015, 07:45   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
fanmag
А тебе это на Бейсике нужно сделать?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.05.2015, 19:47   #5
fanmag
 
Регистрация: 24.05.2015
Сообщений: 4
По умолчанию

Да, нужно на Бейсике
fanmag вне форума Ответить с цитированием
Старый 26.05.2015, 00:06   #6
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

Вот одна из конструкций для определения разности времени в миллисекундах.
Код:
Dim ms As Long = DateDiff(DateInterval.Second, startDt, endDt) * 1000

Как-то так, ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 26.05.2015, 22:24   #7
fanmag
 
Регистрация: 24.05.2015
Сообщений: 4
Печаль

Цитата:
Сообщение от ViktorR Посмотреть сообщение
Вот одна из конструкций для определения разности времени в миллисекундах.
Код:
Dim ms As Long = DateDiff(DateInterval.Second, startDt, endDt) * 1000

Как-то так, ...
Попробовал эту конструкцию и в результате всегда получаю 0..
fanmag вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Исправить обработчик события нажатия на клавишу REztor C# (си шарп) 4 02.01.2015 12:59
Как убрать задержку после нажатия на клавишу liquidon Общие вопросы Delphi 7 24.01.2012 11:11
Время нажатия на кнопку мыши(Время реакции) Кирилл13 Помощь студентам 1 11.04.2009 19:41
Событие нажатия на клавишу клавиатуры Bayazet Общие вопросы Delphi 2 03.02.2009 16:17