Показать сообщение отдельно
  #5  
Старый 25.12.2009, 00:39
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Цитата:
Сообщение от Asinkrit
Куда уж проще)

Конечно, можно проще.
Собственно, если не ошибаюсь, ты грузишь некоторый список строк, потом просто выводишь в лабел случайную строку с 1 через 3.

Код:
procedure Form1.LoadLabel;
var
  S :TStringList;
  K : Integer;
begin
  Randomize;
  S := TStringList.Create;
  S.LoadFromFile('file.txt');
  K := Round(Random(S.Count / 3));
  Label1.Caption  := S[K * 3];
  S.Free;
end;

Все.
1. Инициализируем генератор случайных чисел.
2. Создаем экземпляр класса списка строк.
3. Загружаем в него содержимое файла.
4. Вычисляем случайную строку, где максимальный номер = кол-во / 3 (у нас выдаются строки через 3).
5. Загружаем в метку нужную строку (строки через 3, начинаем с первой, нулквой в списке).
6. "Убиваем" созданный объект.
Ответить с цитированием