|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.01.2011, 16:23 | #1 |
Пользователь
Регистрация: 20.02.2010
Сообщений: 66
|
Определение последнего символа в строке
Вобщем суть такова. Есть поле Edit. В него вводятся различные символы. Нужно узнать какой символ введён последним, чтобы выполнить следующее условие "Если последний символ равен '+' либо '-' либо '*' либо '/', то следующий символ '+' вводить нельзя. Иначе если в конце находятся другие символы, то можно." Кто знает можно ли осуществить данную задумку.
Тоесть так нельзя:7895413*+ а так можно:436575994+ Последний раз редактировалось vmilyoshin; 25.01.2011 в 16:32. |
25.01.2011, 16:27 | #2 |
Заблокирован
Регистрация: 27.05.2010
Сообщений: 1,099
|
if Edit.Text[Length[Edit.Text]] in ['+','-','/','*'] then нельзя
|
25.01.2011, 16:36 | #3 |
Форумчанин
Регистрация: 08.08.2010
Сообщений: 371
|
Событие OnKeyPress обрабатывай
Хакинг - не преступление, а способ выживания.
|
25.01.2011, 16:39 | #4 |
Форумчанин
Регистрация: 08.08.2010
Сообщений: 371
|
Код:
Хакинг - не преступление, а способ выживания.
|
25.01.2011, 16:59 | #5 |
Пользователь
Регистрация: 20.02.2010
Сообщений: 66
|
Мне нужно обработать событие ButtonClick.
Данный код ни к чему не привёл. procedure TForm1.Button14Click(Sender: TObject); begin if Edit1.Text[Length(Edit1.Text)] in ['+','-','/','*'] then Edit1.Text:= Edit1.Text + '+'; end; |
25.01.2011, 17:07 | #6 |
Заблокирован
Регистрация: 27.05.2010
Сообщений: 1,099
|
Чудовищно)
if Edit1.Text[Length(Edit1.Text)] in ['+','-','/','*'] then // проверка показала, что последний символ - один из перечисленных во множестве в операторе IN // значит '+', по твоему же утверждению добавлять нельзя Edit1.Text:= Edit1.Text + '+'; // так какого же хрена ты его тогда добавляешь ? |
25.01.2011, 17:35 | #7 |
Пользователь
Регистрация: 20.02.2010
Сообщений: 66
|
Даже если так написать:
procedure TForm1.Button14Click(Sender: TObject); begin if Edit1.Text[Length(Edit1.Text)] in ['-','/','*'] then Edit1.Text:= Edit1.Text + '+'; end; то при клике на кнопку ничего в Edit не заносится. |
25.01.2011, 17:56 | #8 |
Заблокирован
Регистрация: 27.05.2010
Сообщений: 1,099
|
если "не заносится", значит либо обработчик этот не выволняется ВООБЩЕ, либо последний символ - один из указанного множества.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Строка возвращается без последнего символа | sanaes | Общие вопросы C/C++ | 6 | 12.06.2010 15:22 |
Перестановка в строке первого и последнего слова.. | mihail0608 | Общие вопросы C/C++ | 16 | 08.12.2009 16:25 |
Указание последнего в строке значения прерывистого ряда значений. | Baloo007 | Microsoft Office Excel | 10 | 06.08.2008 15:20 |
Удаление символа в строке | Fantom | Общие вопросы Delphi | 2 | 23.06.2008 16:03 |
написать с помощью рекурсии функцию поиска последнего слова в строке? - Си | Cvetok | Помощь студентам | 1 | 13.05.2008 15:43 |