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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.03.2017, 15:41   #1
povaki
Пользователь
 
Регистрация: 25.11.2015
Сообщений: 12
По умолчанию сумма в мемо

В мемо содержатся и буквы, и цифры в столбик. к примеру:
Цирк=120
Экскурсия=1000

Мне нужно посчитать сумму(т.е чтоб в этом же мемо ниже вывело итоговую сумму 1120).
Выходит ошибка "цирк=120" is an invalid integer

Код:
procedure TForm1.Button1Click(Sender: TObject);
var

sum:integer;
i, j, S: Word;
nums: array of Byte;
begin //оставляем цифры
j := 1;
for i := 0 to Length(Memo1.Text) - 1 do
if Ord(Memo1.Text[i]) in [48..57] then
begin
SetLength(nums, j);
nums[j-1] := StrToInt(Memo1.Text[i]);
inc(j);
end;
begin //считаем сумму
j := 1; 
for i := 0 to Length(Memo1.Text) - 1 do
if Ord(Memo1.Text[i]) in [48..57] then
begin
SetLength(nums, j);
nums[j-1] := StrToInt(Memo1.Text[i]);
inc(j);
end;
sum:=0;
for i:=0 to form1.Memo1.Lines.Count-1 do
begin
sum:=sum+strtoint(form1.Memo1.Lines[i]);
end;
memo1.Lines.Add(inttostr(sum));
end;
Пожалуйста, оформляйте Ваш код согласно правилам.

Последний раз редактировалось Вадим Мошев; 15.03.2017 в 05:30.
povaki вне форума Ответить с цитированием
Старый 12.03.2017, 15:56   #2
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,538
По умолчанию

А может лучше 2 шт. Memo ?
Потому что строка цирк=120 и самом деле не является правильным представлением целого числа.
Изображения
Тип файла: png цэ.PNG (9.1 Кб, 162 просмотров)
type_Oleg вне форума Ответить с цитированием
Старый 12.03.2017, 16:34   #3
Filka
Форумчанин
 
Регистрация: 29.10.2015
Сообщений: 272
По умолчанию

Код без проверок...
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  I, N: Integer;
begin
  N := 0;
  with Memo1.Lines do
  begin
    for I := 0 to Count - 1 do
      Inc(N, StrToInt(ValueFromIndex[I]));
    Add(IntToStr(N));
  end;
end;
Filka вне форума Ответить с цитированием
Старый 13.03.2017, 04:08   #4
Filka
Форумчанин
 
Регистрация: 29.10.2015
Сообщений: 272
По умолчанию

povaki, помогло?
Filka вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти числа X и Y, сумма которых равно A, а сумма квадратов равна B. (на C++) Алина92 Помощь студентам 12 04.10.2021 10:14
Сумма с несколькими критериями, подсчёт/сумма нечётных чисел XPsihopaTX Microsoft Office Excel 3 11.10.2012 15:00
отображение данных БД типа мемо в поле мемо brutalis БД в Delphi 5 13.05.2012 18:14
Как из простого мемо записать в поле БД Access в поле тоже типа мемо с сохранением всех абзацев пробелов Speeker БД в Delphi 2 28.11.2011 16:22
Как скопировать текст из мемо одной формы в мемо другой CraZZy RabbIt Общие вопросы Delphi 4 27.02.2009 00:01