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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.10.2009, 11:45   #1
CyberDemon324
Пользователь
 
Регистрация: 24.11.2008
Сообщений: 13
По умолчанию Надо сложить первый символ со вторым в edit

Задача такова - есть эдит(edit1), в который можно вписать 12 символов (цифр), мне необходимо что бы при сложении первого и второго значение = последнему. т.е. - 123456789103, как видим 1+2=3, если все ок выводим сообщение "Вася выдыхай, вася че ты ржешь ", ну это пример. Очень прошу о помощи...
http://FuckAV.ru
Блокирующая система - Itsprayda System
CyberDemon324 вне форума Ответить с цитированием
Старый 21.10.2009, 11:49   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,568
По умолчанию

Edit1.Text[1] - 1-й символ
Edit1.Text[2] - 2-й символ
Edit1.Text[Length(Edit1.Text)] - последний символ
StrToInt - перевод из строки в число
Arigato вне форума Ответить с цитированием
Старый 21.10.2009, 11:49   #3
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

Цитата:
мне необходимо что бы при сложении первого и второго значение = последнему. т.е. - 123456789103, как видим 1+2=3
- переформулируйте
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 21.10.2009, 11:53   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Код:
var s :String;
...
s := Edit1.Text;
if (StrtToInt(Copy(s,1,1))+StrToInt(Copy(s,2,1))) <> 
  StrToInt(Copy(s,Length(s),1)) then
Application.MessageBox('Вася выдыхай, вася че ты ржешь...', 'Ошибка', MB_ICONERROR or MB_OK);
p.s. сумма двух цифр вполне может быть двухзначным числом.
тогда нужно проверять последние две цифры
StrToInt(Copy(s,Length(s)-1,2))

Последний раз редактировалось Serge_Bliznykov; 21.10.2009 в 11:57.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.10.2009, 11:53   #5
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Сложить первый и второй символ в Edit-е можно так:
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
 Edit2.Text:=IntToStr(StrToInt(Edit1.Text[1]) + StrToInt(Edit1.Text[2]));
end;
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 21.10.2009, 12:02   #6
CyberDemon324
Пользователь
 
Регистрация: 24.11.2008
Сообщений: 13
По умолчанию

Цитата:
begin
if Edit1.text[1]+Edit1.text[2]=Edit1.text[length(edit1.Text)] then
begin
Button1.Enabled:=true;
end
else
begin
showmessage('Fuck you');
end;
end;
вот так может понятнее будет? но почему то вылетает ошибка что они не равны...
http://FuckAV.ru
Блокирующая система - Itsprayda System
CyberDemon324 вне форума Ответить с цитированием
Старый 21.10.2009, 12:06   #7
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,568
По умолчанию

CyberDemon324
А кто будет в число переводить? У вас не сложение а конкатенация строк.
Arigato вне форума Ответить с цитированием
Старый 21.10.2009, 12:08   #8
CyberDemon324
Пользователь
 
Регистрация: 24.11.2008
Сообщений: 13
По умолчанию

Цитата:
А кто будет в число переводить? У вас не сложение а конкатенация строк.
как это сделать... прошу прощение за незнание... видимо это очень легко...
http://FuckAV.ru
Блокирующая система - Itsprayda System
CyberDemon324 вне форума Ответить с цитированием
Старый 21.10.2009, 12:10   #9
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,568
По умолчанию

Цитата:
Сообщение от CyberDemon324
как это сделать... прошу прощение за незнание... видимо это очень легко...
Я же уже написал: http://programmersforum.ru/showpost....04&postcount=2
Arigato вне форума Ответить с цитированием
Старый 21.10.2009, 12:14   #10
CyberDemon324
Пользователь
 
Регистрация: 24.11.2008
Сообщений: 13
По умолчанию

Цитата:
if IntToStr(StrToInt(Edit1.Text[1]) + StrToInt(Edit1.Text[2]))=Edit1.Text[Length(Edit1.Text)
ругается:

']' expected but 'then' found
http://FuckAV.ru
Блокирующая система - Itsprayda System
CyberDemon324 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Первый символ в Edit-e artemavd Общие вопросы Delphi 2 24.09.2009 21:35
Помогите решить 2 задачки срочно надо а то меня повешают на практике мне надо к 2 июня!!! серега222 Паскаль, Turbo Pascal, PascalABC.NET 0 27.05.2009 17:46
Excel (работа со вторым листом) AndreyF Общие вопросы Delphi 1 23.04.2009 08:16
Если введён первый нуль в Edit,и не стоит запятая после него, выдать ошибку prikolist Общие вопросы C/C++ 10 28.03.2009 16:51