Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
serjAk1337
1 / 1 / 0
Регистрация: 29.03.2017
Сообщений: 52
1

StringGrid Нужно обработать ввод в ячейки

29.03.2017, 11:35. Просмотров 822. Ответов 5
Метки нет (Все метки)

Вообщем Если мы вводим числа в таблицу, мы считаем сумму всей таблицы, и выводим ответ в другую таблицу(в определенную ячейку). Нужно обработать так - Если мы ввели буквы в ячейку, то нужно что бы посчитало без этой ячейки.

Код
Delphi
1
2
3
4
5
sum:=0;
for i:=0 to stringGrid1.ColCount-1 do   
for j:=0 to stringGrid1.RowCount-1 do
sum := sum+StrToInt(stringGrid1.Cells[i,j]);
stringGrid2.Cells[3,1]:=IntToStr(sum);
Я так пониманию нужно обработать ответ с помощью try и exept или как то так.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.03.2017, 11:35
Ответы с готовыми решениями:

В StringGrid нужно найти ячейки с 1 и вывести их координаты в 2 массива
В stringgride нужно найти ячейки с 1 и вывести их координаты в 2 массива(номер...

Нужно чтобы окно, которое показывается поверх StringGrid, не закрашивало его ячейки
как сделать чтобы окно которое показывается поверх стрингрида не закрашивало...

Delphi 7 Stringgrid Нужно сделать цикл для заполнения Stringgrid данными из другого Stringgrid
Нужно чтобы из Stringgrid1 данные переносились в Stringgrid2 Но ТОЛЬКО ПО...

Необходимо сложить ячейки в столбце Stringgrid и вывести в другой Stringgrid
Необходимо сложить ячейки в столбце Stringgrid и вывести в другой Stringgrid ...

Значение одной ячейки первого StringGrid-а присвоить другой ячейке второго StringGrid-а
скажите пожалуйста, вот нам даны две таблицы stringgrid, как значение одной...

5
droider
Universal
Эксперт Pascal/Delphi
4405 / 2451 / 765
Регистрация: 04.10.2012
Сообщений: 8,911
29.03.2017, 11:52 2
Цитата Сообщение от serjAk1337 Посмотреть сообщение
Если мы ввели буквы в ячейку, то нужно что бы посчитало без этой ячейки
а нельзя просто запретить ввод букв?


Delphi
1
2
3
4
5
6
procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in ['0'..'9', '.', ',', #8]) then Key :=#0;
end;
 
end.
0
Алекcей
361 / 353 / 137
Регистрация: 11.12.2013
Сообщений: 1,897
29.03.2017, 13:30 3
Лучший ответ Сообщение было отмечено serjAk1337 как решение

Решение

можно так:
Delphi
1
2
3
4
5
6
sum:=0;
for i:=0 to stringGrid1.ColCount-1 do   
for j:=0 to stringGrid1.RowCount-1 do
  if TryStrToInt(stringGrid1.Cells[i,j], v) then 
    sum:=sum+v;
stringGrid2.Cells[3,1]:=IntToStr(sum);
1
serjAk1337
1 / 1 / 0
Регистрация: 29.03.2017
Сообщений: 52
29.03.2017, 21:28  [ТС] 4
Нужно что бы как в Екселе игнорировало ячейку и считало без нее. Знаю что через try except можно. Но не выходит(.
0
droider
Universal
Эксперт Pascal/Delphi
4405 / 2451 / 765
Регистрация: 04.10.2012
Сообщений: 8,911
29.03.2017, 21:33 5
serjAk1337, используйте TryStrToFloat() по аналогии с примером от Алексей только с учётом вещественных чисел
0
serjAk1337
1 / 1 / 0
Регистрация: 29.03.2017
Сообщений: 52
29.03.2017, 21:55  [ТС] 6
Я ответил на первое сообщение. А Алексею спасибо отправил и лучший ответ.
0
29.03.2017, 21:55
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.03.2017, 21:55

Ячейки StringGrid №1 для StringGrid №2
Доброго всем времени суток! Появился такой вопрос: как присвоить значения 1ой...

Обработать событие нажатия на определенную ячейку StringGrid
Подскажите, как обработать событие, когда нажимаешь на определенную ячейку...

Обработать ввод даты, отличной от текущей
Ребята, помогите пожалуйста, никак не пойму свою ошибку, вроде и сравниваю все...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru