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

 



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 03.05.2019, 17:29
studentnov studentnov вне форума
Прохожий
 
Регистрация: 01.05.2019
Сообщения: 3
Версия Delphi: delphi 7
Репутация: 10
По умолчанию Помогите с написанием лёгкой программы

Вообщем мне нужно написать программу, работающую по следующему принципу.

Запускаем программу - и у нас появляется окошко с текстом и двумя кнопками:
.............."Сколько у человека пальцев?"...............

Кнопка1(20) Кнопка2(10)а

И после клика например на кнопку 1 текст меняется и текст кнопок тоже:

................"Какого цвета море?"

Кнопка1(Синего) Кнопка2(Жёлтого)....

А если например нажать на кнопку2, то там будет вопрос "Сколько метров в миле"

И вообщем такая логическая цепочка с изменением содержания текста в форме в зависимости от выбранной кнопки...
Можете поднакинуть как это осуществить? Пожалуйста парни

Последний раз редактировалось studentnov, 03.05.2019 в 17:31.
Ответить с цитированием
  #2  
Старый 03.05.2019, 19:43
Аватар для lmikle
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 7,353
Версия Delphi: 7, XE3, 10.2
Репутация: 49088
По умолчанию

Ну построй дерево вопросов/ответов.
Код:
type
  PQuestionRec = ^TQuestionRec;
  TQuestionRec = record
    UID : Integer;
    Question : String;
    Answer1Text : String;
    Answer1Link : PQuestionRec;
    Answer2Text : String;
    Answer2Link : PQuestionRec;
  end;
Соответственно, когда построишь дерево (UID для этого используется, что бы в коде не писать, а грузить из файла, см чуть ниже), то просто перебираешь по получившемуся дереву.
Теперь по поводу загрузки.
Создаем файл, текстовый например, из него в список читаем все вопросы. В другом файле (можно и в том же) располагаем линки (вот тут UID'ы и пригодяться), читаем их и строим дерево.

Ну вот как-то так.
Ответить с цитированием
  #3  
Старый 11.05.2019, 05:46
studentnov studentnov вне форума
Прохожий
 
Регистрация: 01.05.2019
Сообщения: 3
Версия Delphi: delphi 7
Репутация: 10
По умолчанию Оптимизируйте производственную программу



Просто решил понятней описать что нужно.
Вот слева на картинке древо, работающее по принципу "или - или". Справа - вид программы.

Получается нужно чтобы при нажатии пользователем "Да" в Label1 вставлялась информация "Поступает ли сигнал на входы D4?". А при нажатии на "нет" соответственно - "Неисправность в блоке Б2-141".... и так далее. Дерево это уходит вниз на сотню условий.

И ещё чтобы при выборе того или иного условия в форму вставлялась определённая картинка. К примеру при "Поступает ли сигнал на входы D4?" вставлялась картинка 1.jpg и т.д.

Мб кому накинуть, кто поможет?)) Я не особо в кодинге шарю) Помогите парни.

Последний раз редактировалось studentnov, 11.05.2019 в 05:51.
Ответить с цитированием
  #4  
Старый 11.05.2019, 22:21
Аватар для lmikle
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 7,353
Версия Delphi: 7, XE3, 10.2
Репутация: 49088
По умолчанию

На тебе код.
Вопросы и линки (файлы .tdb и .tlk) я заполнял от балды, прочто что бы было на чем отладить код.
В первом файле просто идут вопросы (ответ, в смысле, конечный диагноз тоже вопрос с этой точки зрения) в формате:
<номер вопроса>|<текст вопроса>
Во втором файле (.tlk) идет связка вопросов между собой в формате:
<номер вопроса>|<номер следующего вопроса при ответе ДА>|<номер следующего вопроса при ответе НЕТ>
У ответа (конечного результата) не должно быть линков на следующие вопросы, т.е. его не должно быть на первой позиции во втором файле.
Вложения
Тип файла: zip CircuitTest.zip (52.5 Кбайт, 0 просмотров)
Ответить с цитированием
  #5  
Старый 14.05.2019, 05:03
studentnov studentnov вне форума
Прохожий
 
Регистрация: 01.05.2019
Сообщения: 3
Версия Delphi: delphi 7
Репутация: 10
По умолчанию Оптимизируйте производственную программу

Спасибо большое.
В данный момент вылетает ошибка:
[Fatal Error] CircuitTest.dpr(6): File not found: 'Vcl.Forms.dcu'

К сожалению дописание Vcl.Forms не помогает)
Есть подозрение на разрядность ОС. У меня 64 bit. У вас 32bit?
Я пока что щас на виртуалке винду на 32bit поставлю, проверю)

Последний раз редактировалось studentnov, 14.05.2019 в 05:23.
Ответить с цитированием
  #6  
Старый 14.05.2019, 16:51
Аватар для lmikle
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 7,353
Версия Delphi: 7, XE3, 10.2
Репутация: 49088
По умолчанию

убери префикс vcl. Это написано на Delphi 10, для Delphi 7 надо убрать префиксы у модулей. К разрядности винды это не имеет никакого отношения.
Вообще, в проекте ничего, кроме стандартных модулей не используется, так что можно просто попробовать убрать секцию uses (за исключением модуля с моделью) и пересохранить проект, среда сама должна добавить нужные модули. Ну а в модуле прокта надо будет руками поправить имена модулей в uses.
Ответить с цитированием
Ответ



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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources", 2004-2019

ВКонтакте   Facebook   Twitter