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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 25.10.2009, 00:00
Иваська Иваська вне форума
Прохожий
 
Регистрация: 24.10.2009
Сообщения: 2
Репутация: 10
Восклицание Генератор случайных чисел и взятие из файла

Добрый день. Скажите, можно ли совместить генератор случаных чисел Randomize или RandSeed (например такой:
procedure TForm1.Button1Click(Sender: TObject);

var RandSeed: LongInt;

begin

RandSeed:=random(10);

ShowMessage(IntToStr(RandSeed));

end с взятием данных из файла таким образом, чтобы из файла бралось случайное значение. При этом файл текстовый, а чтение использовать ReadLn, то есть чтобы читались не все строчки, а лишь одна случайная. Спасибо за помощ!!
Ответить с цитированием
  #2  
Старый 25.10.2009, 00:22
ApxaHGe1 ApxaHGe1 вне форума
Активный
 
Регистрация: 08.04.2008
Адрес: Нижний новгород
Сообщения: 311
Репутация: 38
По умолчанию

Цитата:
Сообщение от Иваська
с взятием данных из файла таким образом, чтобы из файла бралось случайное значение. При этом файл текстовый, а чтение использовать ReadLn, то есть чтобы читались не все строчки, а лишь одна случайная. Спасибо за помощ!!

Вот ...

Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
var
  Form1: TForm1;
  l_count:integer;
  s_line:integer;
  number:string;
  g_number:integer;
 
implementation
 
{$R *.dfm}
//Мемо можно заменить на TStringList ... как удобнее
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Lines.LoadFromFile('Numbers.txt');
l_count:=memo1.Lines.Count;
Randomize;
s_line:=Random (l_count);
number:=Memo1.Lines.Strings[s_line];
Randomize;
g_number:=Random (StrToInt (number));
ShowMessage (IntToStr (g_number));
end;
 
end.

Исходник
Ответить с цитированием
  #3  
Старый 25.10.2009, 00:24
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Если предположить что на одну строку приходится одно значение, и поскольку читать мы можем только от начала к концу, то вижу такой вариант:
Код:
1
2
3
4
5
6
7
while not Eof(T)
do begin
    case Random(2)
    of 0: ReadLn(T);
        1: ReadLn(T, N);
    end;
    end;
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #4  
Старый 02.11.2009, 17:21
Иваська Иваська вне форума
Прохожий
 
Регистрация: 24.10.2009
Сообщения: 2
Репутация: 10
По умолчанию

В файле возможно. Я хотел написать програмку чтобы слова учить Выводится из файла случаная строчка со словом, вводишь ответ и проверяется. Буду пробовать. Всем спасибо!!!
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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