Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проверка на несколько совпадений 
:(
    Опции темы
GR0Mi
Дата 28.6.2014, 03:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 85
Регистрация: 9.4.2010

Репутация: нет
Всего: нет



не пойму как сделать if на несколько совпадений
пример иходного текста 
мама мамас мам пап папа и тд
хочу сделать что то вроде 
if мама или мамас или  мам 
пишем файл
elsif пап или папа сохраняем во 2й фай
else в 3 файл

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

в перле 
Код

if  ( ($resp=~ "мама") || ($resp=~ "мамас") || ($resp=~ "мам") ) 


как сделать также в дельфи?
уже пол гугла перерыл нечего не нашел

Это сообщение отредактировал(а) Poseidon - 29.6.2014, 16:40
PM MAIL   Вверх
PointerToNil
Дата 28.6.2014, 03:58 (ссылка) |    (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата



*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 17.6.2013

Репутация: 2
Всего: 6



'||' => 'or' 
rtfm! RtfM!! RTFM!!!  smile 

Это сообщение отредактировал(а) PointerToNil - 28.6.2014, 07:51
PM MAIL   Вверх
Poseidon
Дата 29.6.2014, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 9
Всего: 133



Цитата(GR0Mi @  28.6.2014,  03:29 Найти цитируемый пост)
уже пол гугла перерыл нечего не нашел
Гугл как бы и не в курсе



--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Rennigth
Дата 29.6.2014, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

Репутация: 15
Всего: 76



case погугли )))


--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
9thlevel
Дата 30.6.2014, 01:58 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 0
Регистрация: 28.5.2010

Репутация: нет
Всего: нет



Rennigth, case работает только с перечисляемыми данными: числа, Boolean и т.п.

GR0Mi, сделай строковую переменную и заполни возможными значениями "мама мамас мам" и "пап папа", и ищи в них через Pos(Что_ищем, Где_ищем). Естественно, это неоптимально, если значений для поиска много. Хочешь более подробного совета, конкретизируй задачу.

Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL   Вверх
Poseidon
Дата 30.6.2014, 09:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 9
Всего: 133



Цитата(Rennigth @  29.6.2014,  23:19 Найти цитируемый пост)
case погугли ))) 
Очень смешно. Вопрос перечитай, а потом расскажи нам, не грамотным, как применить case к строкам?


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
DenNik
Дата 2.7.2014, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 0
Регистрация: 3.8.2011

Репутация: нет
Всего: нет



case к строкам применить можно, но не в этом случае, ибо громоздкость кода будет стремиться к бесконечности

Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL   Вверх
Akella
Дата 2.7.2014, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 8
Всего: 329



Цитата(9thlevel @  30.6.2014,  01:58 Найти цитируемый пост)
Rennigth, case работает только с перечисляемыми данными: числа, Boolean и т.п.


ну если скрестить с AnsiInexText...

Код

  st:=edit1.Text;

   case ansiIndexText( st , ['R', 'D', 'H']) of
      0: edit2.Text:='Вы ввели R';
      1: edit2.Text:='Вы ввели D';
      2: edit2.Text:='Вы ввели H';
    end;// case

PM MAIL   Вверх
Poseidon
Дата 2.7.2014, 15:58 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 9
Всего: 133



Цитата(Akella @  2.7.2014,  15:07 Найти цитируемый пост)
ну если скрестить с AnsiInexText...
Не катит. AnsiInexText возвращает Integer, соответственно case работает с Integer, а не со string.  smile 

Это сообщение отредактировал(а) Poseidon - 2.7.2014, 15:59


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Akella
Дата 3.7.2014, 10:56 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 8
Всего: 329



Включи моск, оберни в функцию и всё там катит ;)
PM MAIL   Вверх
DenNik
Дата 3.7.2014, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 0
Регистрация: 3.8.2011

Репутация: нет
Всего: нет



все это ерунда. нужно парсить текст, выделять слова, а уж потом искать в каждом слове необходимые куски текста

Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL   Вверх
9thlevel
Дата 4.7.2014, 05:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 0
Регистрация: 28.5.2010

Репутация: нет
Всего: нет



Цитата

   все это ерунда. нужно парсить текст, выделять слова, а уж потом искать в каждом слове необходимые куски текста
   

Сенсей DeNik знает лучше нас, падаванов. Узрите силу :-D

Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL   Вверх
navodri
Дата 22.7.2014, 21:33 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 173
Регистрация: 26.10.2007

Репутация: нет
Всего: -1



Я так понял, вас это интересует:

Код

procedure TForm1.Button1Click(Sender: TObject);
var
 str: String;
begin
 str := Edit1.Text;
 if ((str = 'мама') or (str = 'мамас') or (str = 'мам')) then
  Caption := 'МАТЬ'
 else
 if ((str = 'пап') or (str = 'папа') or (str = 'папня')) then
  Caption := 'ОТЕЦ'
 else
  Caption := 'none'
end;

PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1003 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.