Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Excel VBA, CAD, Софт, ОС, Windows, Ubuntu, Android, VPS
Win Api, Assembler, C++, Java, Pascal, Lazarus, Delphi, OpenGL, DirectX
C#, Qt, .NET, ASP.NET, Windows Forms, ADO.NET, Framework, WPF, UWP, WinRT, XAML
HTML, CSS, JavaScript, Ajax, PHP, Perl, Python, Ruby, SQL, WordPress, API, XML, JSON, ActionScript, Flash

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

В мемо содержатся и буквы, и цифры в столбик. к примеру:
Цирк=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 в 06:30.
povaki вне форума   Ответить с цитированием
Старый 12.03.2017, 16:56   #2
type_Oleg
Профессионал
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Адрес: Хазарский каганат
Сообщений: 2,240
Репутация: 1309
По умолчанию

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

Код без проверок...
Код:

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, 05:08   #4
Filka
Форумчанин
 
Регистрация: 29.10.2015
Сообщений: 174
Репутация: 338
По умолчанию

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



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти числа X и Y, сумма которых равно A, а сумма квадратов равна B. (на C++) Алина92 Помощь студентам 6 23.12.2013 13:00
Сумма с несколькими критериями, подсчёт/сумма нечётных чисел 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 01:01




08:22.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

Покупайте на сайте www.skinon.ru уникальные чехлы и наклейки для телефонов.
купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru