|
#16
|
||||
|
||||
А что не получается? И какая у вас Delphi?
Начинающий программист уверен, что в 1 килобайте 1000 байт.
Законченный программист уверен, что в 1 километре 1024 метра. |
#17
|
|||
|
|||
СПАСИБО!!!!!!! все получилось!!!!!
|
#18
|
|||
|
|||
Всем привет!Требуется небольшая помощь. Делаю обучающую программу с возможностью тестирования. В архиве исходники. В unit4,6,7 содержится код трех тем.Мне необходимо сделать так, чтобы в процессе прохождения теста до его окончания(можно задать время проведения теста в редакторе теста (Unit2)), если уже набрано больше неправильных ответов чем указано в редакторе теста(В редакторе теста указывается общее число вопрос и количество правильных ответов которое нужно дать чтобы получить соответствующую оценку!!!), то тест останавливался бы и выводилась оценка(чтобы не ждать окончания теста).Никак не могу сообразить(((
"I remember the good old days, when computers were mainframes, analysts were magicians,and programmers punced cards..." |
#19
|
||||
|
||||
У вас должен быть на форме компонент TTimer у котрого три задачи:
1. Вывод общегое времени затраченного на тест. 2. Вывод оставшегося времени на текущий вопрос. (Необязательная вещь) 3. Слежение за количеством верных/неверных ответов. Вот п.3 у вас и будет принимать решение о прерывании/продолжении теста. Но вообще прерывать серию тестов на пол-пути - неверное решение, т.к. дает испытуемому возможность быстро вычислить методом тыка, верный ответ. Необходимо всю серию тестов доводить до финала, и только после этого выдавать оценку. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#20
|
|||
|
|||
Всем привет!Требуется небольшая помощь. Делаю обучающую программу с возможностью тестирования. В архиве исходники. В unit4,6,7 содержится код трех тем.Мне необходимо сделать так, чтобы в процессе прохождения теста до его окончания(можно задать время проведения теста в редакторе теста (Unit2)), если уже набрано больше неправильных ответов чем указано в редакторе теста(В редакторе теста указывается общее число вопрос и количество правильных ответов которое нужно дать чтобы получить соответствующую оценку!!!), то тест останавливался бы и выводилась оценка(чтобы не ждать окончания теста).Никак не могу сообразить(((
Programm.rar "I remember the good old days, when computers were mainframes, analysts were magicians,and programmers punced cards..." |
#21
|
|||
|
|||
А как это методом тыка испытуемый узнает?)Там не выводится правильный/неправильный в процессе теста
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
|
||||
|
||||
В общем как я понял у вас так:
1. Заверешение серии тестов по времени или по достижении последнего вопроса. 2. Заверешение теста по времени или по переходу к следующему вопросу. Тогда наверное где-то так: В начале серии тестов инициализируете переменную: Код:
StartTestSeriaTime := GetTickCount; Код:
StartTestTime := GetTickCount; Код:
CurrentTime := GetTickCount; if CurrentTime - StartTestSeriaTime > MaxTestSeriaTime then ShowMessage('Отведенное время на серию тестов истекло'); if CurrentTime - StartTestTime > MaxTestTime then ShowMessage('Отведенное время на тест истекло'); Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#23
|
|||
|
|||
Мне необходимо добавить завершение теста когда он уже выполнен на 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
|
|||
|
|||
Уже сам разобралсяВсего то новую переменную добавить надо было.
Появился другой вопрос: Имеется 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
|
||||
|
||||
Если я правильно понял, то на SpinEdit1 вы накрутили 10, затем перешли на вторую вкладку и накрутили на SpinEdit2 12, затем возвращаетесь к SpinEdit1 а у вас вместо 10 снова 0. Если это так, то это ненормальное поведение контролов и скорее всего вы сами в этом виноваты, т.к. где-то при смене вкладки прописали обнулять значение SpinEditов.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#26
|
|||
|
|||
Ничего не прописывал...Хотя есть одна вещь настройки берутся из файла *.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
|
||||
|
||||
Значит мое предположение, о ваших шаловливых ручках подтвердилось.
А как у вас загоняются данные из ини-файлов в контролы? Наверняка это происходит не только при занрузке, но и в процессе работы программы. А вы случаем не пользуетесь сторонним компонентом для этих целей? Предположу, что это именно так и надо просто этот компонент активировать при старте/выходе из программы, а все остальное время он должен быть выключенным. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#28
|
|||
|
|||
Данные загоняются не из ини а в ини .То есть задаю значения СпинЭдита потом по нажатию на кнопку эти значения записываются в ини файл, из которого уже потом берутся значения количества времени и критериев...Вот такой принцип
"I remember the good old days, when computers were mainframes, analysts were magicians,and programmers punced cards..." |