|
Вопрос # 3 766/ вопрос открыт / |
|
Доброго времени суток, уважаемые эксперты!
Подскажите мне пожалуйста. У меня на форме есть Едит1 и Баттон1. При нажатий Баттон1 нужно проверить правильно ли написанное слово в Едит1. Я сделал так:
If edit1.text='Ануран, Ту, Елтанба' then showmessage('Правильно')
else
Showmessage(Неправильно); А если пользователь напишет поменяв местами, тогда при нажатий кнопки появляется "Неправильно". Помогите написать правильный код. (Если мой вопрос покажется глупым, то извините. Я пока еще учусь програмировать.) Заранее большое ВСЕМ СПАСИБО!!!
 |
Вопрос задал: 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™ (статус: Доктор наук), 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 (статус: 2-ой класс), 14 февраля 2010, 01:29 [#4]:
Егор, согласен))))
Придумывал спросонья, об этом не подумал, посыпаю пеплом голову...
|
|
Beknur (статус: Посетитель), 15 февраля 2010, 07:37 [#5]:
to min@y. Здраствуйте.У меня с русским не очень и поэтому мне трудновато собрать свои мысли. И я пытаюсь как смогу.
|
|
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 (статус: Посетитель), 16 февраля 2010, 07:28 [#9]:
to Егор. Здраствуйте. Повторятся не будет.Много пробелов не будет считатся корректным.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|