Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.08.2011, 04:03   #1
Zero2525
Пользователь
 
Регистрация: 15.11.2010
Сообщений: 12
Восклицание Копирование строки до символа

В общем вот в чем проблемка, я делал ICQ-бота, он работал и копировал строку из файла с анекдотами, но он копировал именно строчку! То есть он проверял если пользователь прислал слово Анекдот, то генерировалось случайное число от 1 до количества строк в файле с анекдотами, и после чего копировалась строка под с генерированным номером и отсылалась пользователю.
То есть анекдот выглядел так:
Суд. Женщина обвиняется в убийстве супруга.-- Значит, вы подсыпали яд в суп и потчевали мужа? Как этопроизошло?-- Он сел за стол и спокойно поужинал.И вы не почувствовали угрызений совести?Почувствовала... Когда он попросил добавки.

То есть все реплики в строчку! А теперь я делаю так, что в файле будут анекдоты храниться в таком виде:

Суд. Женщина обвиняется в убийстве супруга.
- Значит, вы подсыпали яд в суп и потчевали мужа? Как это произошло?
- Он сел за стол и спокойно поужинал.
-И вы не почувствовали угрызений совести?
-Почувствовала... Когда он попросил добавки. ;

Вот, и в конце каждого символ. Вот сам вопрос состоит в том, как мне Теперь генерировать случайную цифру строки? Теперь то их несколько! И как сделать чтобы копировалась именно до этого знака???

как я пробовал, мне подсказали что нужно копать в сторону Delimiter. Я создал TStringList и гружу туда все анекдоты, но так и не разобрался... Сумел сделать чтобы копировалось до знака, а вот генерировать случайную цифру не получается. Это же массив, который делиться на части, как я понял. Если знаете подскажите, или если видите способ по проще

Последний раз редактировалось Zero2525; 16.08.2011 в 04:07. Причина: мелкие ошибки )
Zero2525 вне форума Ответить с цитированием
Старый 16.08.2011, 09:15   #2
dmitriegorovih
Ещё не
Форумчанин
 
Аватар для dmitriegorovih
 
Регистрация: 04.01.2010
Сообщений: 517
По умолчанию

Я думаю как вариант использование ini там будет с этим проще всего
Воображение важнее, чем знания. (Albert Einstein)
dmitriegorovih вне форума Ответить с цитированием
Старый 16.08.2011, 09:40   #3
astecenko
Homo Interneticus
Форумчанин
 
Аватар для astecenko
 
Регистрация: 04.03.2011
Сообщений: 611
По умолчанию

а если отводить под каждый анекдот ну допустим 10 строк (думаю основная масса анекдотов впишется, а те что длинее - можно всё равно в 1 строку несоклько запихать дабы получить те самые 10 строк) в файле, а при отправке клиенту отбрасывать пустые?
astecenko вне форума Ответить с цитированием
Старый 16.08.2011, 09:47   #4
astecenko
Homo Interneticus
Форумчанин
 
Аватар для astecenko
 
Регистрация: 04.03.2011
Сообщений: 611
По умолчанию

или еще вариант, с делиметерами :-), храните в файле анекдоты в виде 1 строка - 1 анекдот, а внутри анекдота отделяйте строки допустим с помощью символа "|", а при отправке клиенту просто делайте:
Код:
s := stringReplace(s,'|',#13#10,[rfReplaceAll]);
в примере в s - ваша строка
astecenko вне форума Ответить с цитированием
Старый 16.08.2011, 10:07   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Zero2525

сходите в тему
Cлучайный массив текста из txt

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


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++: как вырезать 2 символа из строки Blondy Помощь студентам 6 05.03.2011 15:33
Удаление символа из строки Alex1991 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 23.11.2010 20:58
Создание пустой строки и копирование в неё содержимое предыдущей строки Gvaridos Microsoft Office Excel 2 29.10.2010 13:33
Удаление символа из строки forsaken66 Общие вопросы C/C++ 4 06.11.2009 11:33
Перенести символа с начала строки в место перед запятой этой же строки. Zhiltsov Microsoft Office Excel 4 05.06.2009 13:10