![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 30.01.2009
Сообщений: 39
|
![]()
Просьба такая есть база вопросов... в отдельном файле...
На каждый уровень своя база... Так вот, к примеру первый уровень: Нужно чтоб программа, автоматически понимала сколько вопросов содержится в базе и выбирала любой из них.... Пробовал такой вариант кода: begin randomize; i:=random(10); label11.Caption:=inttostr(i+1); end; listbox1.Items.LoadFromFile(Directo ryListBox1.Directory+'\baza\1_etap. vtr'); if label11.Caption=listbox1.Items.Stri ngs[(listbox1.Items.IndexOf(label11.Cap tion))] then button_put(т.е код расположения ответов); Но факт остается фактом, ставя число 10 в: i:=random(10); я уже не могу расширить базу вопросов, а это очень сильно ограничивает возможности программы... при добавлении новых вопросов в базу, программу нужно будет постоянно переписывать... Вопрос: Есть ли другой вариант - считывания базы, автоматического определения кол-ва вопросов, и разнобойного вывода вопросов из базы, чтоб они не повторялись на этом же уровне игра за игрой? Для пояснения - база записана в виде: Номер вопроса(К примеру,1) 1) -что означает правильный ответ ответ №1 0) ответ №2 -что означает неправильный ответ 0) ответ №3 0) ответ №4 |
![]() |
![]() |
![]() |
#2 |
Банхаммер
Участник клуба
Регистрация: 17.02.2007
Сообщений: 1,754
|
![]()
держи базу предположим в ini файле и что бы определить количесво вопросов пишешь:
Код:
и далее через Randomize; random(count); - случайный выбор вопроса Последний раз редактировалось KORN; 30.01.2009 в 14:44. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 30.01.2009
Сообщений: 39
|
![]()
Для связи можно использовать мой маил: kostyavor_axu@mail.ru
___________________________________ ______________________________ А как быть с кодом в программе, который сам выберает вопрос? Последний раз редактировалось kotzzz; 30.01.2009 в 14:40. |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 01.11.2007
Сообщений: 45
|
![]()
Можешь просто в ini файле хранить колличество вопросов, при добавлении/удалении нового вопроса, увеличиваешь/уменьшаешь это значение, а в коде считываешь это значение в какую-нибудь переменную типа int "CountQuestionFromIni" и используешь по назначению:
Код:
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 30.01.2009
Сообщений: 39
|
![]()
Спасибо, большое... Я начал изучать Delphi несколько дней назад, и поэтому не удивляйтесь этому вопросу:
Как мне теперь все это совместить? К примеру, если использовать этот код, программа будет работать: begin Count:=0; while ini.valueexists('Base', 'Question_'+inttostr(Count)) do inc(Count); end; begin randomize; i:=random(Count); label11.Caption:=inttostr(i+1);{Выв од вопроса из базы в панель вопроса программы} end; listbox1.Items.LoadFromFile(Directo ryListBox1.Directory+'\baza\1.ini') ; if label11.Caption=listbox1.Items.Stri ngs[(listbox1.Items.IndexOf(label11.Cap tion))] then button_put;{Постановка вариантов ответов в панеле программы} или как? |
![]() |
![]() |
![]() |
#7 |
Банхаммер
Участник клуба
Регистрация: 17.02.2007
Сообщений: 1,754
|
![]()
что бы посчитать строки нужно сначала открывать ini файл
Код:
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 30.01.2009
Сообщений: 39
|
![]()
Спасибо KORN, а можешь пояснить эти слова: 'Base', 'Question'?
и что-то ошибку пишет: [Warning] Unit1.pas(7): Unit 'FileCtrl' is specific to a platform [Error] Unit1.pas(445): Undeclared identifier: 'ini' [Error] Unit1.pas(447): 'DO' expected but identifier 'valueexists' found [Error] Unit1.pas(1189): Undeclared identifier: 'ini' [Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas' что это может значить? |
![]() |
![]() |
![]() |
#9 |
Банхаммер
Участник клуба
Регистрация: 17.02.2007
Сообщений: 1,754
|
![]()
если ты спрашиваешь про Base и Question значит ты не искал про ini файлы, ну что ж... это как бы тебе сказать... Base - это раздел в котором находится значение Question... если открыть ini файл то ты увидишь его структуру
[Base] Question=значение читай мануалы, идем далее [Warning] Unit1.pas(7): Unit 'FileCtrl' is specific to a platform - в общем можешь на это не обращать внимания [Error] Unit1.pas(445): Undeclared identifier: 'ini' а ты объявил переменную ini: tinifile;? [Error] Unit1.pas(447): 'DO' expected but identifier 'valueexists' found следует из за первой ошибки [Error] Unit1.pas(1189): Undeclared identifier: 'ini' а ты объявил переменную ini: tinifile;? [Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas' не компилится из за ошибок Последний раз редактировалось KORN; 30.01.2009 в 17:00. |
![]() |
![]() |
![]() |
#10 |
Delphi forever
Форумчанин
Регистрация: 13.01.2009
Сообщений: 113
|
![]()
Есть идеи для твоей проги, ася 415 253 529
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Мой первый редактор для игры:"Лесной мир". | Манжосов Денис :) | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 38 | 09.03.2011 17:37 |
Нужны исходники игры "Парные картинки" | Ellita | Общие вопросы Delphi | 5 | 09.05.2010 12:27 |
Проблемма: Программное отключение "защиты формы" влияет на скорость выполнения программного кода... | StrikeR33 | Microsoft Office Word | 0 | 28.05.2008 20:11 |
Где можно найти исходник игры "рулетка" | roll | Компоненты Delphi | 2 | 15.09.2007 22:09 |