![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как перемешать слова в Memo [D7, XP]
ppcumax © (2007-03-29 02:11:00)Доброго времени суток Господа!
Столкнулся с такой проблемой, есть текст в Memo нужно случайным образом перемешать там все слова, скажите если какие-то стандартные функции или есть какой-то другой выход из данной ситуации?
Anatoly Podgoretsky (2007-03-29 22:25:00) [1]> ppcumax (29.03.2007 16:49:08) [8]
> был бы очень благодарен, если бы кто-то написал такую програмку
Насколько благодарен?
Leonid Troyanovsky (2007-03-29 21:55:00) [2]
> Vlad Oshin © (29.03.07 18:09) [12]
> Смысл появится позже, после определенной дозы :)
При некоторой дозе может заколбасить от любого куска.
--
Regards, LVT.
Vlad Oshin (2007-03-29 18:09:00) [3]
> Такое, наверно тебе первому пришло в голову сделать :)
не первому :)
давно еще хотел написать программку, что б мешала тексты таким образом, с заданным процентом замеса :)
и еще окончания съедала
есть теория, что после быстрого чтения такого текста, смысл написанного все же улавливается, но само чтение происходит гораздо быстрее
ибо не задумываешься над каждым местом, не читаешь каждое словосочетание - оно бессмысленно, общую картину даст только группа рядом идущих словосочетаний. Меняя процент замеса, заставляем читать все большими кусками.
Смысл появится позже, после определенной дозы :)
Жуков Олег (2007-03-29 18:03:00) [4]
> мешать слова было бы круто, был бы очень благодарен, если
> бы кто-то написал такую програмку
Пожалуйста:
unit Raving;
interface
function GetRaving(): string;
implementation
uses
SysUtils;
function GetRandomWord(): string;
const
Words: Array[0..79] of string = (
'More',
'The',
'These',
'Words',
'Random',
'Seen',
'Create',
'Was',
'Been',
'Come',
'Sleep',
'Cat',
'Dog',
'Love',
'Stick',
'Handing',
'Yellow',
'Submarin',
'We',
'Us',
'Live',
'In',
'Out',
'Up',
'Better',
'Useful',
'Work',
'Delphi',
'in',
'from',
'sweet',
'parrot',
'captain',
'she',
'beautiful',
'hardest',
'another',
'bad',
'sentention',
'stop',
'bathroom',
'can',
'should',
'would',
'can''t',
'sorry',
'you',
'girl',
'woman',
'people',
'one',
'earth',
'three',
'eleven',
'1969',
'2006',
'saturday',
'diffirence',
'useful',
'great',
'money',
'silver',
'well',
'boys',
'fear',
'russian',
'why',
'who',
'where',
'here',
'when',
'asked',
'forever',
'future',
'paste',
'want',
'like now',
'beer',
'cake',
'eating'
);
begin
Result := Words[Random(High(Words) + 1)];
end;
const
Signs: array[0..3] of string = ('.', '?', '!', '...');
function GetRandomPhrase(): string;
var
i,
WordCount: Integer;
begin
Result := '';
WordCount := random(10) + 3;
for i := 1 to WordCount do
begin
if i > 1 then
Result := Result + ' ';
Result := Result + GetRandomWord();
end;
Result := AnsiLowerCase(Result);
if Length(Result) > 0 then
Result[1] := AnsiUpperCase(Result[1])[1];
Result := Result + Signs[Random(High(Signs) + 1)];
end;
function GetRaving(): string;
var
i,
SentCount: Integer;
begin
Result := '';
SentCount := random(5) + 15;
for i := 1 to SentCount do
begin
if i > 1 then
Result := Result + ' ';
Result := Result + GetRandomPhrase();
if Random(5) = 1 then
Result := Result + #13#10;
end;
end;
end.
...
ShowMessage(GetRaving());
StriderMan (2007-03-29 17:26:00) [5]
> мешать слова было бы круто
еще круче было бы мешать символы
RASkov (2007-03-29 17:00:00) [6]> [8] ppcumax © (29.03.07 16:49)
Сам напиши, там делов-то... "дергание слов" из строки тут не так далеко в какойто ветке есть....
ppcumax (2007-03-29 16:49:00) [7]
> Так тебе "слова" не нужны уже?var N: Integer;begin for
> N := 0 to Memo.Lines.Count-1 do Memo.Lines.Move(N, Random(Memo.
> Lines.Count));end;
спасибо за вариант
мешать слова было бы круто, был бы очень благодарен, если бы кто-то написал такую програмку
RASkov (2007-03-29 16:09:00) [8]> [6] ppcumax © (29.03.07 14:12)
Так тебе "слова" не нужны уже?
var N: Integer;
begin
for N := 0 to Memo.Lines.Count-1 do
Memo.Lines.Move(N, Random(Memo.Lines.Count));
end;
ppcumax (2007-03-29 14:12:00) [9]Хорошо, а как перемешать строки в Memo?
Германн (2007-03-29 04:01:00) [10]
> RASkov (29.03.07 03:45) [4]
Есть Text, и варианты его обработки...
Имхо, я думаю, что у автора проблемы с "вычленением" слов из строк.
Есть варианты такого, но без объяснения самой задачи, не хочется даже и "пошевелиться" :)
RASkov (2007-03-29 03:45:00) [11]хотя можно пробежаться и по строкам перемешав там все слова, один хер каша получится :)
Германн (2007-03-29 03:39:00) [12]
> заполни массив(ArStr: array of String) "словами" из мемо
А "дополнительный" массив тут и не особо нужен, имхо. Массив в TMemo уже и так есть :)
RASkov (2007-03-29 03:31:00) [13]> [0] ppcumax (29.03.07 02:11)
:)
Во загнул... а потом тебе еще и восстановить текст надо будет?
Гиморно, заполни массив(ArStr: array of String) "словами" из мемо, перемешай его(массив), выведи назад в мемо как тебе заблагорассудится... :)
Чё тока не придумают :)
Германн (2007-03-29 02:45:00) [14]Да какие ж тут могут быть стандартные функции? Такое, наверно тебе первому пришло в голову сделать :)