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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.06.2008, 03:40   #1
Дикий
Пользователь
 
Аватар для Дикий
 
Регистрация: 10.05.2008
Сообщений: 89
По умолчанию Делфи. Суммируем разные типы чисел

Вопрос такого плана:
На label1.caption = X.
там могут быть просто числа, а могут быть числа, и числа в скобках.

допустим 11 или же 1111(1)

и есть label2.caption = Y,
в котором та же история.

допустим 222 или же 2(2)

Надо суммировать отдельно числа обыкновенные и числа в скобках.
Как это сделать?

Заранее благодарен
...у зверя свобода её лишь ищи...

Дикий 21.08.2005
Дикий вне форума Ответить с цитированием
Старый 28.06.2008, 04:24   #2
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

Обработать строку, разбив её на нужные кусочки, и уже работать дальше.
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
Карась вне форума Ответить с цитированием
Старый 28.06.2008, 10:30   #3
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Можно сделать примерно так:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var s1,s2:string;
a1,a2,b1,b2:integer;
begin
s1:=edit1.Text;
if pos('(',edit1.Text)=0 then
    begin
      a1:=strtoint(edit1.Text);
      a2:=0;
    end
else
    begin
     a1:=strtoint(copy(s1,1,pos('(',s1)-1));
     a2:=strtoint(copy(s1,pos('(',s1)+1,((pos(')',s1)-pos('(',s1)-1))));
    end;
s2:=edit2.Text;
if pos('(',edit2.Text)=0 then
    begin
      b1:=strtoint(edit2.Text);
      b2:=0;
    end
else
    begin
      b1:=strtoint(copy(s2,1,pos('(',s2)-1));
      b2:=strtoint(copy(s2,pos('(',s2)+1,pos(')',s2)-pos('(',s2)-1));
    end;
if (a2=0)and(b2=0)then  Edit3.Text:=inttostr(a1+b1)
else Edit3.Text:=edit3.Text+inttostr(a1+b1)+'('+inttostr(a2+b2)+')';
end;

end.
puporev вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как преобразовать типы NeiL Общие вопросы C/C++ 1 31.05.2008 14:43
Строковые типы SunKnight Общие вопросы Delphi 8 07.05.2008 15:46
Типы данных??? Рустам Общие вопросы Delphi 10 08.11.2007 08:03
вычисление суммы чисел, кратных 3 из последовательности, состоящей из 10 чисел, заранее заданных Белка Помощь студентам 3 27.10.2007 11:53
Про типы данных Smorodin Общие вопросы .NET 1 02.10.2007 15:40