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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.05.2014, 02:21   #1
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию Протестируйте программу "Создатель тестов"

Здравствуйте! Написал программу по созданию и прохождению тестов с возможностью поиска, сортировки и т.д., сам алгоритм основан на алгоритме BDA (похожу ему вечная слава на этом форуме))) ), в общем протестируйте, называйте плюсы и минусы))

з.ы. кнопка "назад" пока не доделана, а тест создается по двойному щелчку в списке, двойной щелчок=номер правильного ответа. И открывается тест тоже по двойному щелчку.

з.з.ы. Только сильно не критикуйте, в ближайшее время планирую добавить возможность прохождения теста, щелкая по картинкам.)

з.з.з.ы. пароль при удалении теста и при открытии формы с удалением отчетов: "пароль"
Вложения
Тип файла: rar Создатель тестов.rar (451.9 Кб, 29 просмотров)
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 02.05.2014, 19:51   #2
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Вот вторая версия программы, исправил сортировку, добавил возможность возвращаться к предыдущему вопросу, оцените программу, скажите о недоработках. Спасибо!
Вложения
Тип файла: rar Создатель тестов.rar (453.2 Кб, 25 просмотров)
from dark to light)

Последний раз редактировалось Алексей_2012; 02.05.2014 в 20:29.
Алексей_2012 вне форума Ответить с цитированием
Старый 03.05.2014, 17:28   #3
AnTe
Форумчанин
 
Регистрация: 25.09.2008
Сообщений: 209
По умолчанию

создаём тест, вопрос номер 1 из двух, введите кол-во вариантов ответа - появляются соответствующие поля ввода, заполняй их, не заполняй - кнопки "далее" не появляется, остаётся только закрыть окно и всё

кнопка "загрузать тесты" вообще не работает

искать не по чему

примеров тестов нет

программа не работает, к тому же, перегружена модальными showmessage, надо, не надо - они вылазят

нечего тестировать!
AnTe вне форума Ответить с цитированием
Старый 03.05.2014, 17:44   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

AnTe, нужно два раза щёлкнуть по варианту ответа в списке слева (это указано в первом сообщении), чтобы задать вариант ответа и перейти к заданию следующего вопроса.

Замечания:
Задать у первой формы poDesktopCenter, а то появляется где-то правее и ниже центра
Кнопки снизу расположил бы без сдвига относительно друг друга
При сжимании формы кнопки не уменьшаются и залезают друг на друга
При задании вопроса подпись варианта ответа есть только у последнего ("Вариант ответа №2" есть, а "Вариант ответа №1" нет)
При прохождении теста изменение размера формы не влияет на положение кнопок "далее" и "назад", но позволяет "спрятать" ответы на вопрос
Кнопка "далее" не срабатывает, если не выбран ответ
Кнопка "назад" не сохраняет выбранный ответ
Хорошо бы, чтобы завершение теста было по отдельной кнопке, а не по "далее", чтобы тест можно было завершить досрочно или случайно при листании вопросов не закончить тест

Основное замечание по изменению размера форм - задать минимально возможный размер адекватным, чтобы кнопки перестали залезать друг на друга, не исчезали варианты ответа и т.д.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 03.05.2014, 23:34   #5
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

а вот с надписями не знаю почему так выходит, убрал labelededit, оставил edit, и добавил tlabel, label'ы не отображаются кроме последнего на scrollbox'e, почему?

Код:
 try
    k := StrToInt(trim(LabeledEdit2.text));
  except
    Exit;
  end;
  SetLength(MyEdits, k);
  SetLength(labels, k);
  for i := 1 to k do
  begin
    MyEdits[i - 1] := Tedit.Create(self);
    with MyEdits[i - 1] do
    begin
      Parent := Form3.ScrollBox1;
      Width := 250;
      Top := i * 40;
      Left := 20;
      OnKeyup := ram;
      text := '';
    end;
      labels[i - 1] := Tlabel.Create(self);
      with labels[i - 1] do
    begin
     Parent := Form3.ScrollBox1;
      Top :=i * 40;
      Left := MyEdits[i - 1].Width+MyEdits[i - 1].left+20;
            labels[i-1].Caption:='Вариант ответа №'+inttostr(i);
    end;
  end;
Хорошо, учту ваши подсказки, а цель программы была заключена из многочисленных просьб преподавателей написать им тест, мне это надоело и решил создать такую программу, на текущем этапе реализовал сохранение теста в архив через VLCZip, а так же выгрузку из него, теперь бьюсь над авторизацией для препода, скоро кину ехе файл, придется правда картинку убрать чтоб меньше весил, помню те времена, когда на форум можно было большие архивы закачивать)) КРИЗИС видимо)

з.ы. кому нужны исходники, пишите в ЛС.

Кстати, пока не наделал косяков, то как решить проблему с авторизацией?

Регистрация-решенное дело,

вход- если стоит галочка "не спрашивать пароль", то программа автоматически дает допуск к некоторым функциям, не нужным студентам, такое как сохранение тестов

ладно, спросить хотел про восстановление пароля:

если есть логин, то по логину ищется связанный с ним вопрос, по ответу на этот вопрос программа определяет что делать дальше, если ответ верный, то предлагает заменить пароль, или лучше отобразить старый?

Вот, это первое, второе, а что если пользователь забыл логин, то искать по паролю в базе данных и далее спрашивать ответ на вопрос? Это глупо, ведь пароли разных преподов могут совпадать, а если делать проверку на пароль-дубликат, то это тоже глупо, так как таким образом можно и подобрать пароль, в голове каша короче) помогите разобраться, и вообще, стоит ли игра свеч?

Просто хочу сделать так, чтобы подпрограмма: сохранить тесты, сохраняла в архив не все тесты, а только те, которые относятся к уже вошедшему логину) Вот, помогите советом, а то напишу много не нужного

з.ы. BDA еще раз спасибо за подталкивание) То есть за начальный алгоритм)

Кстати, на счет кнопки "назад" у меня там возникали проблемы в дальнейшем с отчетом, можете потестить? если балл был, то он снимается, если его не было-не снимается, далее удаляются три строки последних в отчете, то есть выбранный вариант ответа, и правелен ли ответ на вопрос, ну и пропуск, пустая строка, иногда выплывали лаги с тем, что вариант ответа затирал фамилию тестируемого, решил проблему добавлением лишнего пропуска, но это ведь не уберет строку "Вы ответили так-то"...фух, вроде все написал, у кого хватит сил прочитать все-молодец)) Спасибо!
from dark to light)

Последний раз редактировалось Алексей_2012; 04.05.2014 в 00:10.
Алексей_2012 вне форума Ответить с цитированием
Старый 04.05.2014, 21:53   #6
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Здравствуйте! Все проблемы решены, и с выводом надписи тоже, когда тест создаете, добавил поиск отчетов по дате, надеюсь больше каких-то мелочных лагов не возникнет, следующую версию выложу такую, куда можно будет добавлять картинки, вернее делать из них тест, если кому надо конечно, думаю новичкам поможет, а у вас, люди добрые, прошу помощи, гляньте программу)) Да, видимо тема не оч хорошая, ответов мало( а скачиваний много.
Вложения
Тип файла: rar Создатель тестов Бетта.rar (331.7 Кб, 20 просмотров)
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 05.05.2014, 13:00   #7
Xo66um
Форумчанин
 
Регистрация: 11.05.2013
Сообщений: 154
По умолчанию

Ошибка вылезла после нажатия по кнопке "Создать тест", и ввода имени.
Версия программы из этого поста.
Изображения
Тип файла: jpg 1.jpg (43.8 Кб, 141 просмотров)
Xo66um вне форума Ответить с цитированием
Старый 05.05.2014, 13:49   #8
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Извиняюсь, там проверка на имя файла, чтобы отчет потом не запортить, исправлю чуть позже, пока нет времени, там добавить условие просто:

Код:
if listbox1.count>0 then
,

вечером перезалью в тот же пост, то есть подредактирую пост)

з.ы. уже придумал как добавлять картинки, создать массив кнопок и tlabelededitob, по кнопке заливать путь к файлу в labelededit, затем кликнуть на листбокс для выбора правильной картинки, а сами картинки скопировать в папку с ПО, чтобы большой путь не шифровать, и при потребности перенести файлы теста на другой пк архивировать и картинки. Вот моя идея, хочу послушать ваши)
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 05.05.2014, 15:41   #9
AnTe
Форумчанин
 
Регистрация: 25.09.2008
Сообщений: 209
По умолчанию

Цитата:
Сообщение от Алексей_2012 Посмотреть сообщение
ладно, спросить хотел про восстановление пароля:

если есть логин, то по логину ищется связанный с ним вопрос, по ответу на этот вопрос программа определяет что делать дальше, если ответ верный, то предлагает заменить пароль, или лучше отобразить старый?
Лучше хранить в базе хеш, лучше - полученный каким-нибудь нормальным алгоритмом, например, из семейства SHA-2. При этом заданный вопрос отпадёт сам собой.

Цитата:
Вот, это первое, второе, а что если пользователь забыл логин
попросить ввести e-mail, указанный при регистрации, выслать новый логин-пароль на него или номер телефона, на который выслать СМС-ку

Цитата:
то искать по паролю в базе данных
это как понимать? логин забыл, а пароль помнит? просто исключительная ситуация! скорее всего, забудет и то, и то, и вообще забудет, регистрировался ли в системе, или нет

Цитата:
ведь пароли разных преподов могут совпадать
да не вопрос - не давать юзеру вводить пароль, а генерировать его. В таком случае можно вообще без имени пользователя обойтись, не уменьшаяя (а то и увеличивая) криптостойкость системы в целом. Вот только вопрос удобства.....

Цитата:
стоит ли игра свеч?
всё зависит от постановки задачи и от схемы работы.

Вот к примеру, если юзеры логинятся по удалёнке, и находятся в домене - использовать информацию из LDAP, - тогда отпадает не только вопрос регистрации, но и вопрос авторизации.

Цитата:
Просто хочу сделать так, чтобы подпрограмма: сохранить тесты, сохраняла в архив не все тесты, а только те, которые относятся к уже вошедшему логину)
как вариант - всех пользователей зарегистрировать под реальными именами: полное ФИО, с указанием номера группы, а при начале набора фамилии выдавать выпадающий список, дабы юзер выбрал там себя. Останется только ввести пароль.



Цитата:
Вот, помогите советом, а то напишу много не нужного
Для того, чтобы не написать ненужного, я бы посоветовал (по своему горькому опыту ) изучить мат.часть по каждому встретившемуся моменту. Чтобы не просто сделать абы что, дабы работало кое как, а получить реальный опыт правильного решения, где нужно - с использованием современных технологий, не тратя время на ковыряние с разваливающимся спонтанно собранным велосипедом с квадратными колёсами.

Последний раз редактировалось AnTe; 05.05.2014 в 15:43.
AnTe вне форума Ответить с цитированием
Старый 07.05.2014, 02:53   #10
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
Подмигивание

Здравствуйте, простите за задержку, много чего добавил/изменил, начиная от ВВ главной формы, заканчивая формированием отчета и архивацией данных, версия почти готова, требования преподов пока не установились на среднем арифметическом, поэтому на форму создания теста добавил чекбокс блокировки кнопки "назад", если она не заблокирована, то считается число нажатий, а так же запоминается ответ, но многие думают что запоминание ответа лишнее, так как тест можно просто тупо прощелкать, это я уже про то, что ранее у меня по кнопке "далее" другой вопрос не показывался. Эх, осталось добавить возможность создавать тест в картинках, у кого-нибудь есть идеи как проверить и отличить расширение файла *.mp3 от картинок, и потом, если проверять расширение картинок, а картинки многих видов есть bmp jpg идр, то это долго проверять придется, если в общем картинка, то ее имя добавляется в файл тест, а картинка копируется в папку с тестом, чтоб ее можно было потом автоматически заархивировать, преподаватели же будут раскидываться эти тесты по разным пк, и легче и проще чтоб программа делала это автоматически, в общем новая версия, надеюсь там уже не выявите таких мелких недоработок, из-за которых накрывается вся программа, вот видите, товарищи, всю важность тестирования ПО!)
Вложения
Тип файла: rar тест бетта.rar (339.8 Кб, 32 просмотров)
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Постоянно слетает галочка "автоматически" в "Параметры Excel", "Формулы", "Вычисления в книге" Alexsandrr Microsoft Office Excel 4 19.10.2013 14:22
Написал программу, "интерфейс-помощник". Протестируйте и предложите улучшения Smogg Софт 10 06.12.2012 14:01
Создать класс "Фигура", от него наследованием создать 3 класса ("треугольник", "четырехугольник", "окружность") funnyy Помощь студентам 3 17.10.2012 17:40
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04
запрос (выйти(завершить программу)) "Y";"N". SKS Паскаль, Turbo Pascal, PascalABC.NET 7 15.01.2009 16:32