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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.09.2013, 09:15   #1
fcdk_pavel
 
Регистрация: 13.09.2013
Сообщений: 8
По умолчанию сумма столбцов

на форме 2 StringGrid: в StringGrid1 я загружаю данные из Excel, потом по нажатию кнопки в StringGrid2 должны отобразиться суммы столбцов из StringGrid1
т.е сложить соответствующие данные в столбцах
(2:3+2:6+2:9) и вывести в StringGrid2
в ячейки 1:1 ...2:2 и тд. написал суммирование вручную для 1 столбца но это долго
Код:
vp1:=StrToInt(StringGrid1.Cells[2,6]); vp2:=StrToInt(StringGrid1.Cells[2,9]);vp3:=StrToInt(StringGrid1.Cells[2,12]); vp4:=StrToInt(StringGrid1.Cells[2,15]);vp5:=StrToInt(StringGrid1.Cells[2,18]);
vp6:=StrToInt(StringGrid1.Cells[2,18]);vp7:=StrToInt(StringGrid1.Cells[2,21]);vp8:=StrToInt(StringGrid1.Cells[2,24]);vp9:=StrToInt(StringGrid1.Cells[2,27]);vp10:=StrToInt(StringGrid1.Cells[2,30]);vp11:=StrToInt(StringGrid1.Cells[2,33]);
vp12:=StrToInt(StringGrid1.Cells[2,36]);vp13:=StrToInt(StringGrid1.Cells[2,29]);vp14:=StrToInt(StringGrid1.Cells[2,42]);vp15:=StrToInt(StringGrid1.Cells[2,45]);vp16:=StrToInt(StringGrid1.Cells[2,48]);
vp17:=StrToInt(StringGrid1.Cells[2,51]);vp18:=StrToInt(StringGrid1.Cells[2,54]);vp19:=StrToInt(StringGrid1.Cells[2,57]);vp20:=StrToInt(StringGrid1.Cells[2,60]);vp21:=StrToInt(StringGrid1.Cells[2,63]);
vp22:=StrToInt(StringGrid1.Cells[2,66]);vp23:=StrToInt(StringGrid1.Cells[2,69]);vp24:=StrToInt(StringGrid1.Cells[2,72]);vp25:=StrToInt(StringGrid1.Cells[2,75]);vp26:=StrToInt(StringGrid1.Cells[2,78]);
vp27:=StrToInt(StringGrid1.Cells[2,81]);vp28:=StrToInt(StringGrid1.Cells[2,84]);vp29:=StrToInt(StringGrid1.Cells[2,87]);vp30:=StrToInt(StringGrid1.Cells[2,90]);vp31:=StrToInt(StringGrid1.Cells[2,91]);
if (Form5.ComboBox1.Text='Февраль') then St1:=vp1+vp2+vp3+vp4+vp5+vp6+vp7+vp8+vp9+vp10+vp11+vp12+vp13+vp14+vp15+vp16+vp17+vp18+vp19+vp20+vp21+vp22+vp23+vp24+vp25+vp26+vp27+vp28+0+0+0;
if (Form5.ComboBox1.Text='Февраль(29 дней)') then St1:=vp1+vp2+vp3+vp4+vp5+vp6+vp7+vp8+vp9+vp10+vp11+vp12+vp13+vp14+vp15+vp16+vp17+vp18+vp19+vp20+vp21+vp22+vp23+vp24+vp25+vp26+vp27+vp28+vp29+0+0 else
St1:=vp1+vp2+vp3+vp4+vp5+vp6+vp7+vp8+vp9+vp10+vp11+vp12+vp13+vp14+vp15+vp16+vp17+vp18+vp19+vp20+vp21+vp22+vp23+vp24+vp25+vp26+vp27+vp28+vp29+vp30+vp31;
StringGrid2.Cells[1,1]:=IntToStr(St1);
(для сохранения места писал в строчку)
вот загружаемая из excel таблица
Подскажите пожалуйста как сделать циклом?!
Изображения
Тип файла: jpg Безымянный.jpg (22.5 Кб, 146 просмотров)
fcdk_pavel вне форума Ответить с цитированием
Старый 20.09.2013, 09:46   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
в StringGrid2 должны отобразиться суммы столбцов из StringGrid1
т.е сложить соответствующие данные в столбцах
(2:3+2:6+2:9) и вывести в StringGrid2
Код:
for j:=2 to сколько-то do begi
i:=3;sum:=0; while i<=9 do begin
 sum:=sum+StrToFloatDef(StringGrid1.cells[j,i],0);
 inc(i,3);
end;
StringGrid1.cells[j,0]:=FloatToStr(sum);
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сумма времени из столбцов DBGrid ul_mrAlex Общие вопросы Delphi 3 09.04.2013 19:01
Вывести номера тех столбцов, сумма элементов которых меньше нуля, и число таких столбцов Half Помощь студентам 7 16.04.2012 21:23
сумма элементов четных столбцов Julila Помощь студентам 3 02.03.2011 08:19
Min сумма столбцов 2-ого массива Sparky Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 23.09.2009 17:20
Паскаль. Сумма столбцов мартицы. kommunist Помощь студентам 3 10.11.2007 18:26