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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 04.10.2007, 09:37
Hsite Hsite вне форума
Прохожий
 
Регистрация: 04.10.2007
Сообщения: 1
Репутация: 10
По умолчанию Рендом текста из файла

Я изучаю Delphi совсем недавно, но появилась необходимость сделать простеньккий тест по истории. Нужно что бы вопросы к тесту брались рандомом (случайно) из файла. Нигде не смог найти как это реализовать. Буду очень благодарен за подсказку.
Ответить с цитированием
  #2  
Старый 04.10.2007, 10:38
Helicotrema Helicotrema вне форума
Прохожий
 
Регистрация: 04.10.2007
Сообщения: 1
Репутация: 10
По умолчанию

Ну первое что приходит на ум - это воспользоваться классом TStrings.
Для начала загрузить текст вопросов из файла методом LoadFormFile,
затем воспользоваться функцией Random для случайного выбора строки по индексу...
var
s: TStrings;
index: integer;
begin
s:= TStrings.Create;
s.LoadFromFile('tests.txt');
Randomize;
index:=Random(s.Count);
Label1.Caption:=s.Strings[index]; //Вывод случайной строки в заголовок label1
...
s.Free; // Не забываем освобождать память
end

Пожалуй единственный минус такого подхода заключается в том, что вопросы в тестах будут повторяться... Хотя конечно можно этого избежать, но это уже совсем другая история

Последний раз редактировалось Helicotrema, 04.10.2007 в 10:45.
Ответить с цитированием
  #3  
Старый 04.10.2007, 11:02
ViLkiN ViLkiN вне форума
Прохожий
 
Регистрация: 08.08.2007
Сообщения: 32
Репутация: 10
По умолчанию

повторы можно избежать удаляя строчку (явно не катит) или добавляя в начало строки какой либо символ, например * и добавить простейшее условие на наличие этого символа, вконце просто пробежаться по файлу и убрать метки
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025