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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.01.2011, 16:23   #1
vmilyoshin
Пользователь
 
Регистрация: 20.02.2010
Сообщений: 66
По умолчанию Определение последнего символа в строке

Вобщем суть такова. Есть поле Edit. В него вводятся различные символы. Нужно узнать какой символ введён последним, чтобы выполнить следующее условие "Если последний символ равен '+' либо '-' либо '*' либо '/', то следующий символ '+' вводить нельзя. Иначе если в конце находятся другие символы, то можно." Кто знает можно ли осуществить данную задумку.
Тоесть так нельзя:7895413*+ а так можно:436575994+

Последний раз редактировалось vmilyoshin; 25.01.2011 в 16:32.
vmilyoshin вне форума Ответить с цитированием
Старый 25.01.2011, 16:27   #2
mss
Заблокирован
 
Регистрация: 27.05.2010
Сообщений: 1,099
По умолчанию

if Edit.Text[Length[Edit.Text]] in ['+','-','/','*'] then нельзя
mss вне форума Ответить с цитированием
Старый 25.01.2011, 16:36   #3
Ghost of Night
Форумчанин
 
Аватар для Ghost of Night
 
Регистрация: 08.08.2010
Сообщений: 371
По умолчанию

Событие OnKeyPress обрабатывай
Хакинг - не преступление, а способ выживания.
Ghost of Night вне форума Ответить с цитированием
Старый 25.01.2011, 16:39   #4
Ghost of Night
Форумчанин
 
Аватар для Ghost of Night
 
Регистрация: 08.08.2010
Сообщений: 371
По умолчанию

Цитата:
Сообщение от mss Посмотреть сообщение
if Edit.Text[Length[Edit.Text]] in ['+','-','/','*'] then нельзя
Код:
Length(Edit.Text)
Хакинг - не преступление, а способ выживания.
Ghost of Night вне форума Ответить с цитированием
Старый 25.01.2011, 16:59   #5
vmilyoshin
Пользователь
 
Регистрация: 20.02.2010
Сообщений: 66
По умолчанию

Мне нужно обработать событие ButtonClick.
Данный код ни к чему не привёл.

procedure TForm1.Button14Click(Sender: TObject);
begin
if Edit1.Text[Length(Edit1.Text)] in ['+','-','/','*'] then
Edit1.Text:= Edit1.Text + '+';
end;
vmilyoshin вне форума Ответить с цитированием
Старый 25.01.2011, 17:07   #6
mss
Заблокирован
 
Регистрация: 27.05.2010
Сообщений: 1,099
По умолчанию

Чудовищно)

if Edit1.Text[Length(Edit1.Text)] in ['+','-','/','*'] then
// проверка показала, что последний символ - один из перечисленных во множестве в операторе IN
// значит '+', по твоему же утверждению добавлять нельзя
Edit1.Text:= Edit1.Text + '+'; // так какого же хрена ты его тогда добавляешь ?
mss вне форума Ответить с цитированием
Старый 25.01.2011, 17:35   #7
vmilyoshin
Пользователь
 
Регистрация: 20.02.2010
Сообщений: 66
По умолчанию

Даже если так написать:

procedure TForm1.Button14Click(Sender: TObject);
begin
if Edit1.Text[Length(Edit1.Text)] in ['-','/','*'] then
Edit1.Text:= Edit1.Text + '+';
end;

то при клике на кнопку ничего в Edit не заносится.
vmilyoshin вне форума Ответить с цитированием
Старый 25.01.2011, 17:56   #8
mss
Заблокирован
 
Регистрация: 27.05.2010
Сообщений: 1,099
По умолчанию

если "не заносится", значит либо обработчик этот не выволняется ВООБЩЕ, либо последний символ - один из указанного множества.
mss вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Строка возвращается без последнего символа 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