Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 3 766

/ вопрос открыт /

Доброго времени суток, уважаемые эксперты!
Подскажите мне пожалуйста. У меня на форме есть Едит1 и Баттон1. При нажатий Баттон1 нужно проверить правильно ли написанное слово в Едит1. Я сделал так:
If edit1.text='Ануран, Ту, Елтанба' then showmessage('Правильно')
else
Showmessage(Неправильно); А если пользователь напишет поменяв местами, тогда при нажатий кнопки появляется "Неправильно". Помогите написать правильный код. (Если мой вопрос покажется глупым, то извините. Я пока еще учусь програмировать.) Заранее большое ВСЕМ СПАСИБО!!!

Beknur Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Beknur (статус: Посетитель)
Вопрос отправлен: 13 февраля 2010, 12:45
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: vlsavkin

Здравствуйте, Beknur!
Первое, что пришло в голову, наверняка можно сделать красивее

procedure TForm1.Button1Click(Sender: TObject);
var s:string;
begin
s:=edit1.Text;
s:=StringReplace(s,'Ануран','',[]);
s:=StringReplace(s,'Ту','',[]);
s:=StringReplace(s,'Елтанба','',[]);
If s=', , ' then showmessage('Правильно')
else
Showmessage('Неправильно');
end;

Ответ отправил: vlsavkin (статус: 2-ой класс)
Время отправки: 13 февраля 2010, 13:13
Оценка за ответ: 5


Мини-форум вопроса

Всего сообщений: 9; последнее сообщение — 16 февраля 2010, 07:28; участников в обсуждении: 5.
min@y™

min@y™ (статус: Доктор наук), 13 февраля 2010, 13:02 [#1]:

Цитата (Beknur):

Если мой вопрос покажется глупым, то...

Может, пора научиться правильно задавать вопросы?
Нихрена не понял!
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Мережников Андрей

Мережников Андрей (статус: Абитуриент), 13 февраля 2010, 14:21 [#2]:

так что все таки надо проверить - слово, набор слов или предложение??? Слова это не числа - от перемены мест слов в предложении может измениться смысл. Так что уж определитесь сначала, что нужно проверять.
Егор

Егор (статус: 10-ый класс), 13 февраля 2010, 17:50 [#3]:

vlsavkin:
а если ввести ', , '?

:)))))
Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
— Donald E. Knuth.
vlsavkin

vlsavkin (статус: 2-ой класс), 14 февраля 2010, 01:29 [#4]:

Егор, согласен))))
Придумывал спросонья, об этом не подумал, посыпаю пеплом голову...
Beknur

Beknur (статус: Посетитель), 15 февраля 2010, 07:37 [#5]:

to min@y. Здраствуйте.У меня с русским не очень и поэтому мне трудновато собрать свои мысли. И я пытаюсь как смогу.
Beknur

Beknur (статус: Посетитель), 15 февраля 2010, 07:44 [#6]:

to Мережников Андрей. Набор слов нужно проверить. Пользователь в Edit1 напишет так: Ануран, Ту, Елтанба или Ту, Ануран, Елтанба или Елтанба, Ануран, Ту и т.д. И потом при нажатий Button1 нужно проверить првилно ли написал пользователь.
Мережников Андрей

Мережников Андрей (статус: Абитуриент), 15 февраля 2010, 19:22 [#7]:

где и в каком виде хранится проверочная последовательность? Или это всегда один и тот же набор слов? Помимо замечания Егора, можно добавить, что пример, приведенный vlsavkin, даст ошибку при наличии нескольких повторений слов в проверяемой последовательности. Но... "голову пеплом" он уже "посыпал"...
Егор

Егор (статус: 10-ый класс), 15 февраля 2010, 19:51 [#8]:

Beknur:
а вариант "Ту, Ту, Ту, Елтанба, Елтанба, Ануран" (несколько раз повторения)
или "Ту, Елтанба, Ануран" (много пробелов)
будут считаться корректными?
Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
— Donald E. Knuth.
Beknur

Beknur (статус: Посетитель), 16 февраля 2010, 07:28 [#9]:

to Егор. Здраствуйте. Повторятся не будет.Много пробелов не будет считатся корректным.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 12:00
Выполнено за 0.03 сек.