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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.09.2013, 07:25   #1
Ericnex
Форумчанин
 
Регистрация: 07.04.2010
Сообщений: 218
По умолчанию Перенос из memo в edit

Есть уже заполненные в строчку числа в Memo. Когда пытаюсь вывести сумму всех чисел в memo в edit программа ничего не считает. Когда вручную ввожу числа в memo начинает считать. В чем может быть проблема?

Код:
sum:=0;
for j:=0 to Memo4.Lines.Count-1 do begin
val(Memo4.Lines.Strings[j],_tmp,code);
if code=0 then
sum:=sum+_tmp;
end;
edit1.text:=floattostr(sum);
end;
Ericnex вне форума Ответить с цитированием
Старый 04.09.2013, 08:10   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Криминала в коде не вижу. Возможно ты его вообще не вызываешь когда требуется первый расчет. Поставь точку прерывания на его начало и посмотри когда она всплывет, пройдись пошагово (F8) по коду и узнай как он отрабатывает.

P.S. Возможно твоя val() падает на ошибку, а ты этот случай не отрабатываешь:
Код:
if code=0 then
sum:=sum+_tmp
else ShowMessage(Memo4.Lines[j]+' не число')
Не исключено что нужно ставить в числах точки а у тебя запятые.
I'm learning to live...

Последний раз редактировалось Stilet; 04.09.2013 в 08:12.
Stilet вне форума Ответить с цитированием
Старый 04.09.2013, 08:34   #3
Vad33
Участник клуба
 
Аватар для Vad33
 
Регистрация: 24.07.2009
Сообщений: 638
По умолчанию

Цитата:
Сообщение от Ericnex Посмотреть сообщение
Есть уже заполненные в строчку числа в Memo. Когда пытаюсь вывести сумму всех чисел в memo в edit программа ничего не считает. Когда вручную ввожу числа в memo начинает считать. В чем может быть проблема?
Заполненные в строчку или заполненные в строчках,
неплохо бы взглянуть...

Код:
val(Memo4.Lines.Strings[j],_tmp,code);
if code=0 then
sum:=sum+_tmp;
Лучше:

Код:
sum:=sum+strtofloatdef(trim(Memo4.Lines.Strings[j]),0);
** Удача терпелива. **
Vad3333@inbox.ru
Vad33 вне форума Ответить с цитированием
Старый 04.09.2013, 09:56   #4
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

В каком месте программы вызывается приведенный код?
по каким признакам определено что не считает?

Цитата:
Когда пытаюсь вывести сумму всех чисел в memo в edit
Где в каком месте программы? А есть ли там что считать?

Цитата:
Когда вручную ввожу числа в memo начинает считать.
когда начинает ? сразу при вводе?
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Из 4 edit`a в memo Rec0il Общие вопросы Delphi 2 16.03.2013 19:48
Перенос строки Memo hitman1234 Помощь студентам 4 24.05.2011 16:22
Из memo в Edit Plexdeath Общие вопросы Delphi 3 19.08.2010 14:09
Из Edit в Memo HaBiBi Общие вопросы Delphi 2 13.06.2009 15:30
из memo в edit RAVAL)) Общие вопросы Delphi 2 20.01.2009 23:00