Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Программа и интерфейс
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #16  
Старый 16.03.2009, 23:03
Аватар для Karsh
Karsh Karsh вне форума
Активный
 
Регистрация: 22.09.2007
Адрес: SPb
Сообщения: 228
Версия Delphi: 7, 2009, XE2
Репутация: 70
По умолчанию

А что не получается? И какая у вас Delphi?
__________________
Начинающий программист уверен, что в 1 килобайте 1000 байт.
Законченный программист уверен, что в 1 километре 1024 метра.
Ответить с цитированием
  #17  
Старый 16.03.2009, 23:07
DAN DAN вне форума
Прохожий
 
Регистрация: 03.03.2009
Сообщения: 24
Репутация: 10
По умолчанию

СПАСИБО!!!!!!! все получилось!!!!!
Ответить с цитированием
  #18  
Старый 28.06.2009, 16:32
bleeep bleeep вне форума
Прохожий
 
Регистрация: 28.06.2009
Сообщения: 37
Репутация: 10
По умолчанию

Всем привет!Требуется небольшая помощь. Делаю обучающую программу с возможностью тестирования. В архиве исходники. В unit4,6,7 содержится код трех тем.Мне необходимо сделать так, чтобы в процессе прохождения теста до его окончания(можно задать время проведения теста в редакторе теста (Unit2)), если уже набрано больше неправильных ответов чем указано в редакторе теста(В редакторе теста указывается общее число вопрос и количество правильных ответов которое нужно дать чтобы получить соответствующую оценку!!!), то тест останавливался бы и выводилась оценка(чтобы не ждать окончания теста).Никак не могу сообразить(((
__________________
"I remember the good old days, when computers were
mainframes, analysts were magicians,and programmers
punced cards..."
Ответить с цитированием
  #19  
Старый 28.06.2009, 16:48
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

У вас должен быть на форме компонент TTimer у котрого три задачи:
1. Вывод общегое времени затраченного на тест.
2. Вывод оставшегося времени на текущий вопрос. (Необязательная вещь)
3. Слежение за количеством верных/неверных ответов.
Вот п.3 у вас и будет принимать решение о прерывании/продолжении теста.

Но вообще прерывать серию тестов на пол-пути - неверное решение, т.к. дает испытуемому возможность быстро вычислить методом тыка, верный ответ. Необходимо всю серию тестов доводить до финала, и только после этого выдавать оценку.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #20  
Старый 28.06.2009, 16:56
bleeep bleeep вне форума
Прохожий
 
Регистрация: 28.06.2009
Сообщения: 37
Репутация: 10
По умолчанию

Всем привет!Требуется небольшая помощь. Делаю обучающую программу с возможностью тестирования. В архиве исходники. В unit4,6,7 содержится код трех тем.Мне необходимо сделать так, чтобы в процессе прохождения теста до его окончания(можно задать время проведения теста в редакторе теста (Unit2)), если уже набрано больше неправильных ответов чем указано в редакторе теста(В редакторе теста указывается общее число вопрос и количество правильных ответов которое нужно дать чтобы получить соответствующую оценку!!!), то тест останавливался бы и выводилась оценка(чтобы не ждать окончания теста).Никак не могу сообразить(((
Programm.rar
__________________
"I remember the good old days, when computers were
mainframes, analysts were magicians,and programmers
punced cards..."
Ответить с цитированием
  #21  
Старый 28.06.2009, 16:58
bleeep bleeep вне форума
Прохожий
 
Регистрация: 28.06.2009
Сообщения: 37
Репутация: 10
По умолчанию

А как это методом тыка испытуемый узнает?)Там не выводится правильный/неправильный в процессе теста
Timer стоит. В интарвале установленном в настройках движется ProgressBar и допустим на "3" нам надо дать 6 правильных ответов из 10.
Тогда если мы бы дали 5 неправильных то таймер бы остановился и вывелась бы оценка. Вот не пойму куда условие вставить чтобы так было
if kol-vern>=Form2.SpinEdit1.Value - Form2.SpinEdit5.Value then выводим оценку и останавливаем тест
__________________
"I remember the good old days, when computers were
mainframes, analysts were magicians,and programmers
punced cards..."

Последний раз редактировалось bleeep, 28.06.2009 в 17:11.
Ответить с цитированием
  #22  
Старый 28.06.2009, 17:43
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

В общем как я понял у вас так:
1. Заверешение серии тестов по времени или по достижении последнего вопроса.
2. Заверешение теста по времени или по переходу к следующему вопросу.
Тогда наверное где-то так:
В начале серии тестов инициализируете переменную:
Код:
StartTestSeriaTime := GetTickCount;
В начале каждого теста инициализируете переменную:
Код:
StartTestTime := GetTickCount;
в OnTimer вставляете код:
Код:
CurrentTime := GetTickCount;
if CurrentTime - StartTestSeriaTime > MaxTestSeriaTime 
then ShowMessage('Отведенное время на серию тестов истекло');
if CurrentTime - StartTestTime > MaxTestTime 
then ShowMessage('Отведенное время на тест истекло');
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #23  
Старый 28.06.2009, 18:07
bleeep bleeep вне форума
Прохожий
 
Регистрация: 28.06.2009
Сообщения: 37
Репутация: 10
По умолчанию

Мне необходимо добавить завершение теста когда он уже выполнен на 2 до окончания всего теста
Время на отдельный вопрос не задается, только на весь тест.
__________________
"I remember the good old days, when computers were
mainframes, analysts were magicians,and programmers
punced cards..."

Последний раз редактировалось bleeep, 28.06.2009 в 18:13.
Ответить с цитированием
  #24  
Старый 29.06.2009, 00:22
bleeep bleeep вне форума
Прохожий
 
Регистрация: 28.06.2009
Сообщения: 37
Репутация: 10
По умолчанию

Уже сам разобралсяВсего то новую переменную добавить надо было.
Появился другой вопрос: Имеется PageControl на котором есть три TabSheet'а на каждом TabSheet'е имеются SpinEdit'ы.
Допустим я меняю значение одного SpeenEdit'а перехожу на следующий TabSheet затем возвращаюсь и измененное значение SpinEdit'а осталося старым(каким было до изменения).Как сделать чтобы не изменялось?
__________________
"I remember the good old days, when computers were
mainframes, analysts were magicians,and programmers
punced cards..."
Ответить с цитированием
  #25  
Старый 29.06.2009, 01:39
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Если я правильно понял, то на SpinEdit1 вы накрутили 10, затем перешли на вторую вкладку и накрутили на SpinEdit2 12, затем возвращаетесь к SpinEdit1 а у вас вместо 10 снова 0. Если это так, то это ненормальное поведение контролов и скорее всего вы сами в этом виноваты, т.к. где-то при смене вкладки прописали обнулять значение SpinEditов.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #26  
Старый 29.06.2009, 20:02
bleeep bleeep вне форума
Прохожий
 
Регистрация: 28.06.2009
Сообщения: 37
Репутация: 10
По умолчанию

Ничего не прописывал...Хотя есть одна вещь настройки берутся из файла *.ini в нем прописаны так сказать заданные SpinEdit'ом значения а при загрузке программы она берет значения из файла если таковой присутствует в директории...Может с этим связано?
Во точно..Удалил файлы из директории и это исчезло.То есть при старте у меня прога проверяет наличие файлов, если есть то значения в SpinEdit'ах не изменяются как я привел пример выше. Если же файлы отсутствуют то все норм, мне необходимо сделать чтобы так было и с присутствием файлов
Код:
procedure TForm2.FormShow(Sender: TObject);
begin
GetDir(0,sPath);
if FileExists(sPath + '\Cfg.INI')  then
  begin
 Label7.Caption:='файл конфигурации создан';

 SpinEdit1.Value:=strtoint(Form4.ReadIni('all','kolv'));
 SpinEdit2.Value:=strtoint(Form4.ReadIni('all','kolm'));
 SpinEdit3.Value:=strtoint(Form4.ReadIni('all','5'));
 SpinEdit4.Value:=strtoint(Form4.ReadIni('all','4'));
 SpinEdit5.Value:=strtoint(Form4.ReadIni('all','3'));
   end
   else Label7.Caption:='файл конфигурации не создан';

   end;
Вот оно, может просто убрать присвоение?)В принципе больше в алгоритме нигде не применяется))
...Ура работает))Спасибо что подтолкнули в правильном направлении
__________________
"I remember the good old days, when computers were
mainframes, analysts were magicians,and programmers
punced cards..."

Последний раз редактировалось bleeep, 29.06.2009 в 20:16.
Ответить с цитированием
  #27  
Старый 29.06.2009, 20:15
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Значит мое предположение, о ваших шаловливых ручках подтвердилось.
А как у вас загоняются данные из ини-файлов в контролы? Наверняка это происходит не только при занрузке, но и в процессе работы программы. А вы случаем не пользуетесь сторонним компонентом для этих целей? Предположу, что это именно так и надо просто этот компонент активировать при старте/выходе из программы, а все остальное время он должен быть выключенным.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #28  
Старый 29.06.2009, 20:24
bleeep bleeep вне форума
Прохожий
 
Регистрация: 28.06.2009
Сообщения: 37
Репутация: 10
По умолчанию

Данные загоняются не из ини а в ини .То есть задаю значения СпинЭдита потом по нажатию на кнопку эти значения записываются в ини файл, из которого уже потом берутся значения количества времени и критериев...Вот такой принцип
__________________
"I remember the good old days, when computers were
mainframes, analysts were magicians,and programmers
punced cards..."
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 18:29.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter