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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.08.2007, 12:11   #1
Gorin
Пользователь
 
Регистрация: 26.06.2007
Сообщений: 36
По умолчанию StringGrid, вычисление суммы

Добрый день!
Столкнулся со следующей проблемой. В событии OnSetEditText происходит сложение одной ячейки с другой. Если первым поставить знак минуса, все вылетает с ошибкой конвертации. То есть понятно, что просто знак минуса, не число. Была идея начинать вычисление если длина больше 1 символа, но тогда однознаковые числа не будут слагаться. Как решить мне непонятно. Другого, подходящего события вроде как нету. Прошу вашей помощи.
Gorin вне форума Ответить с цитированием
Старый 21.08.2007, 12:13   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Используй для конвертации StrToIntDef или TryStrToFloat, и ошибка вылетать не должна
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.08.2007, 12:48   #3
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

try
твои действия
except
end;
SERG1980 вне форума Ответить с цитированием
Старый 23.08.2007, 14:20   #4
coolmarat
 
Регистрация: 18.08.2007
Сообщений: 3
По умолчанию

Мне кажется, что в твоей ситуации можно проверять содержимое ячейки, не является ли оно знаком минуса и если не является, то уже складывать.
coolmarat вне форума Ответить с цитированием
Старый 23.08.2007, 16:45   #5
Gorin
Пользователь
 
Регистрация: 26.06.2007
Сообщений: 36
По умолчанию

Цитата:
Сообщение от coolmarat Посмотреть сообщение
Мне кажется, что в твоей ситуации можно проверять содержимое ячейки, не является ли оно знаком минуса и если не является, то уже складывать.
Да, спасибо, именно так я и сделал.
Код:
 
if (Length(StringGrid11.Cells[StringGrid11.col,StringGrid11.row])<=1) and ((Key=109) or (Key=189))  then..
Gorin вне форума Ответить с цитированием
Старый 23.08.2007, 19:44   #6
still_alive
Great Code Monkey
Форумчанин
 
Аватар для still_alive
 
Регистрация: 09.08.2007
Сообщений: 533
По умолчанию

То, что предложил Stilet, универсальнее. Просто проверять, вернула ли TryStrToFloat true или false.
still_alive вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск суммы Janette Помощь студентам 2 24.02.2008 12:56
Поиск суммы Janette Паскаль, Turbo Pascal, PascalABC.NET 2 23.02.2008 21:39
возрат суммы 11111 Паскаль, Turbo Pascal, PascalABC.NET 10 12.01.2008 15:32
Вычисление суммы первых членов Juhn Паскаль, Turbo Pascal, PascalABC.NET 4 09.12.2007 18:56
вычисление суммы чисел, кратных 3 из последовательности, состоящей из 10 чисел, заранее заданных Белка Помощь студентам 3 27.10.2007 11:53