Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 1
Регистрация: 03.01.2016
Сообщений: 76

Как сделать так, чтобы в форме вставлялся отдельно текст вопроса и варианты ответов?

06.03.2016, 23:09. Показов 2702. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Пытаюсь сделать программу на Delphi. Программа с тестирования. Всего она состоит из нескольких окон:
1. "Стартовое", куда вводятся данные (ФИ, класс и т.д.)
2. Окно с самими вопросами и вариантами ответа, с кнопкой "далее".
3. "Верно" (в случае, если верно, вылетает эта формочка)
4. "не верно" (аналогично).

Вот возникает вопрос, как сделать так, чтобы во второй форме вставлялся отдельно текст вопроса, и отдельно варианты ответов. Узнал, что можно как-то с помощью HTML, но возникает вопрос, как я должен оформлять это всё в html ? Как сделать так, чтобы текст вопроса был отдельно, а варианты ответов отдельно? Да ещё как указать, что этот ответ правильный...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.03.2016, 23:09
Ответы с готовыми решениями:

Сделать так, что бы текст из Edit копировался и на открывшемся сайте вставлялся в нужные поля
Как сделать так что бы текст введённый в edit копировался и на откывшемся сайте вставлял в нужные поля, и как лучше всего построить...

Как сделать так чтобы в тесте(в форме) в зависимости от вопроса загружался вариант ответа Chech Box или Option Baton ?
У меня есть база в accesse (программа тестирования)Как сделать так чтобы в тесте(в форме) в зависимости от вопроса загружался вариант...

Как сделать так, чтобы можно было выводить текст в форме
1. Как сделать так, чтобы можно было выводить текст в форме ? Например, как в калькуляторе - ты нажал button и оно вывело цифру, которая...

27
844 / 739 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
07.03.2016, 12:29
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от GadalovDema Посмотреть сообщение
ну в смысле, как информация получается из документа и вставляется в программу
Ты хочеш вопросы все и варианты ответов на них в текстовом файле хранить?

Добавлено через 6 минут
TStringList тогда в помощь!
0
0 / 0 / 1
Регистрация: 03.01.2016
Сообщений: 76
07.03.2016, 12:34  [ТС]
Цитата Сообщение от NIKOLAYY Посмотреть сообщение
Ты хочеш вопросы все и варианты ответов на них в текстовом файле хранить?
Как угодно, но наверное в текстовом файле будет рациональнее... Только изображения всё-равно понадобятся вставлять...
0
844 / 739 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
07.03.2016, 12:42
Цитата Сообщение от GadalovDema Посмотреть сообщение
Как угодно, но наверное в текстовом файле будет рациональнее... Только изображения всё-равно понадобятся вставлять...
Это все делается в три клика мыши!
Изображения (ссылка на него) можно хранить в текстовом файле, но я почему то в код его тут засунул, но это и неважно, все можно сделать и отточить под свой вкус!

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
var
  Form1: TForm1;
  List: TStringList;
  vop: Integer; //номер вопроса
  polotv, otrotv: Integer; //положительный, отрицательный ответ
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  //включаем кнопку ответ
  Button2.Enabled := True;
 
  //выключаем кнопку далее
  Button1.Enabled := False;
 
  //показываем номер вопроса
  inc(vop);
  GroupBox1.Caption := 'Вопрос - ' + IntToStr(vop);
  StatusBar1.SimpleText := '';
 
  case vop of
    1:
      begin
        //правильный ответ здесь - 2
        RadioButton1.Caption := List[1];
        RadioButton2.Caption := List[2];
        RadioButton3.Caption := List[3];
        Label1.Caption := List[4];
        Image1.Picture.LoadFromFile('picture\pdd_1.jpg');
      end;
    2:
      begin
        //правильный ответ здесь - 2
        RadioButton1.Caption := List[6];
        RadioButton2.Caption := List[7];
        RadioButton3.Caption := List[8];
        Label1.Caption := List[9];
        Image1.Picture.LoadFromFile('picture\pdd_2.jpg');
      end;
    3:
      begin
        //правильный ответ здесь - 3
        RadioButton1.Caption := List[11];
        RadioButton2.Caption := List[12];
        RadioButton3.Caption := List[13];
        Label1.Caption := List[14];
        Image1.Picture.LoadFromFile('picture\pdd_3.jpg');
      end;
    4:
      begin
        //правильный ответ здесь - 3
        RadioButton1.Caption := List[16];
        RadioButton2.Caption := List[17];
        RadioButton3.Caption := List[18];
        Label1.Caption := List[19];
        Image1.Picture.LoadFromFile('picture\pdd_4.jpg');
      end;
    5:
      begin
        //правильный ответ здесь - 1
        RadioButton1.Caption := List[21];
        RadioButton2.Caption := List[22];
        RadioButton3.Caption := List[23];
        Label1.Caption := List[24];
        Image1.Picture.LoadFromFile('picture\pdd_5.jpg');
      end;
 
    6:
      begin
         MessageBox(Handle, PAnsiChar('Тест закончен, правильных ответов '
          + Inttostr(polotv) + ' неправильных '+ Inttostr(otrotv)), 'ПДД', MB_OK);
        Close;
      end;
  end;
 
  RadioButton1.Checked := False;
  RadioButton2.Checked := False;
  RadioButton3.Checked := False;
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  List := TStringList.Create;
  List.LoadFromFile('ekzamen.txt');
  Button1.Click; //грузим сразу первый вопрос
end;
Пример текстового файла у меня такой был:
Тут ни чего сложного нету, нужные строки грузиш в нужные компоненты.

========================= Вопрос - 1 =========================
1. Только Б.
2. Только А или Б.
3. В любых.
В каких направлениях Вам разрешено продолжить движение?
========================= Вопрос - 2 =========================
1. Разрешен только при отсутствии приближающегося поезда.
2. Запрещен.
3. Разрешен.
Разрешен ли Вам разворот в указанном месте?
========================= Вопрос - 3 =========================
1. Только легковому автомобилю.
2. Никому.
3. Только автобусу.
Вы намерены повернуть налево. Кому следует уступить дорогу?
========================= Вопрос - 4 =========================
1. Только направо.
2. Только прямо или направо.
3. В любом.
В каких направлениях может продолжить движение водитель автомобиля с включенным проблесковым маячком?
========================= Вопрос - 5 =========================
1. Предупреждает Вас о приближении к сужению проезжей части.
2. Информирует Вас о том, что дорога поворачивает направо.
3. Предоставляет Вам преимущество при перестроении на правую полосу.
Эта разметка, нанесенная на полосе движения:
========================= Конец теста =========================
0
0 / 0 / 1
Регистрация: 03.01.2016
Сообщений: 76
07.03.2016, 12:45  [ТС]
Цитата Сообщение от NIKOLAYY Посмотреть сообщение
RadioButton1.Caption := List[21];
А что значит List ? Строка, или что?
0
844 / 739 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
07.03.2016, 12:47
GadalovDema,
Да номер строки этои значит. Тока незабывай что там первая строка это строка под номером ноль, там с нуля все начинается.
0
0 / 0 / 1
Регистрация: 03.01.2016
Сообщений: 76
07.03.2016, 12:48  [ТС]
Цитата Сообщение от NIKOLAYY Посмотреть сообщение
Да номер строки этои значит.
Ага, спасибо.. Только я не совсем понял.. В комменатриях написано, какой правильный ответ, но не увидел, где в коде прописано это
0
844 / 739 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
07.03.2016, 12:58
GadalovDema, На другой кнопке я писал, так как тест у меня двухкнопочный!
В этом коде я собирал правильные ответы и неправильные.

Но если ты заметил на скрине выше я там помечал правильный ответ галочкой, а неправильный крестиком (все это были имаги картинки) Вот поэтому они тут в коде добавлены к сбору правильных ответов.

Если ты плохо понял - я старался тест сделать похожим на онлайн тест вот этого сайта:
http://avto-russia.ru/pdd/bilet1.html
Я его и сделал.

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
procedure TForm1.Button2Click(Sender: TObject);
begin
  //проверяем ответил ли пользователь
  if not (RadioButton1.Checked or RadioButton2.Checked or RadioButton3.Checked)
    then
  begin
    MessageBox(Handle, 'Вы не ответили на вопрос.', 'ПДД', MB_OK);
    Exit; //вопрос не отвечен, сделаем выход
  end;
 
  //включаем кнопку далее
  Button1.Enabled := True;
 
  //выключаем кнопку ответ
  Button2.Enabled := False;
 
  if vop = 1 then
  begin
    StatusBar1.SimpleText := 'Правильный ответ: ' + RadioButton2.Caption;
    if RadioButton2.Checked then
    begin
      Image2.Picture.LoadFromFile('picture\res_yes.bmp');
      polotv := polotv + 1;
    end
    else
    begin
      Image2.Picture.LoadFromFile('picture\res_no.bmp');
      otrotv := otrotv + 1;
    end;
  end;
 
  if vop = 2 then
  begin
    StatusBar1.SimpleText := 'Правильный ответ: ' + RadioButton3.Caption;
    if RadioButton3.Checked then
    begin
      Image3.Picture.LoadFromFile('picture\res_yes.bmp');
      polotv := polotv + 1;
    end
    else
    begin
      Image3.Picture.LoadFromFile('picture\res_no.bmp');
      otrotv := otrotv + 1;
    end;
  end;
 
  if vop = 3 then
  begin
    StatusBar1.SimpleText := 'Правильный ответ: ' + RadioButton2.Caption;
    if RadioButton2.Checked then
    begin
      Image4.Picture.LoadFromFile('picture\res_yes.bmp');
      polotv := polotv + 1;
    end
    else
    begin
      Image4.Picture.LoadFromFile('picture\res_no.bmp');
      otrotv := otrotv + 1;
    end;
  end;
 
  if vop = 4 then
  begin
    StatusBar1.SimpleText := 'Правильный ответ: ' + RadioButton3.Caption;
    if RadioButton3.Checked then
    begin
      Image5.Picture.LoadFromFile('picture\res_yes.bmp');
      polotv := polotv + 1;
    end
    else
    begin
      Image5.Picture.LoadFromFile('picture\res_no.bmp');
      otrotv := otrotv + 1;
    end;
  end;
 
  if vop = 5 then
  begin
    StatusBar1.SimpleText := 'Правильный ответ: ' + RadioButton1.Caption;
    if RadioButton1.Checked then
    begin
      Image6.Picture.LoadFromFile('picture\res_yes.bmp');
      polotv := polotv + 1;
    end
    else
    begin
      Image6.Picture.LoadFromFile('picture\res_no.bmp');
      otrotv := otrotv + 1;
    end;
  end;
end;
1
0 / 0 / 1
Регистрация: 03.01.2016
Сообщений: 76
07.03.2016, 22:42  [ТС]
Цитата Сообщение от NIKOLAYY Посмотреть сообщение
GadalovDema, На другой кнопке я писал, так как тест у меня двухкнопочный!
В этом коде я собирал правильные ответы и неправильные.
Ой, всё, заметил))) Спасибо)

Добавлено через 9 часов 37 минут
Цитата Сообщение от NIKOLAYY Посмотреть сообщение
Это все делается в три клика мыши!
Изображения (ссылка на него) можно хранить в текстовом файле, но я почему то в код его тут засунул, но это и неважно, все можно сделать и отточить под свой вкус!
Так... Теперь до меня никак не дойдёт... А как оформить переключение этих вопросов? Ну, нажимаю на кнопку "далее" и как сделать, чтобы след. вопрос появлялся?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.03.2016, 22:42

Как сделать так, чтобы программа считала строки не целиком, а отдельно
Здравствуйте, у меня такая проблема. Есть программа, которая считает текстовый файл f1 и выводит в f2 только те буквы, которые повторяются...

Как сделать так чтобы в тесте в зависимости от вопроса загружался Chech Box или Option Baton
У меня есть база в accesse Как сделать так чтобы в тесте(в форме) в зависимости от вопроса загружался вариант ответа Chech Box или Option...

Сделать так, чтобы вставлялся порядковый номер перед каждым столбцом, а не только перед первым
вот программа : uses crt; var mas:array of integer; i,j,m,n:byte; begin write('m='); readln(m); write('n=');...

Как сделать временную шкалу так, чтобы были отдельно годы, а внутри них месяцы (см. картинку)?
Excel 2010.

Как сделать, чтобы экспресс-блок вставлялся как автотекст?
Как сделать, чтобы Экспресс-блок вставлялся как Автотекст? Т.е. в ранних Word-ах была функция Автотекста. Ты в тексте вводишь...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
28
Ответ Создать тему
Новые блоги и статьи
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru