![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Добрый день. Скажите, можно ли совместить генератор случаных чисел Randomize или RandSeed (например такой:
procedure TForm1.Button1Click(Sender: TObject); var RandSeed: LongInt; begin RandSeed:=random(10); ShowMessage(IntToStr(RandSeed)); end с взятием данных из файла таким образом, чтобы из файла бралось случайное значение. При этом файл текстовый, а чтение использовать ReadLn, то есть чтобы читались не все строчки, а лишь одна случайная. Спасибо за помощ!! |
|
#2
|
|||
|
|||
|
Цитата:
Вот ... Код:
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
|
||||
|
||||
|
Если предположить что на одну строку приходится одно значение, и поскольку читать мы можем только от начала к концу, то вижу такой вариант:
Код:
while not Eof(T)
do begin
case Random(2)
of 0: ReadLn(T);
1: ReadLn(T, N);
end;
end; |
|
#4
|
|||
|
|||
|
В файле возможно. Я хотел написать програмку чтобы слова учить
Выводится из файла случаная строчка со словом, вводишь ответ и проверяется. Буду пробовать. Всем спасибо!!! |