![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Стринггрид с неизвестным кол-вом строк.
В столбцах 3, 5, 7- значения для вычислений. Прошу помочь организовать цикл таким образом, чтобы результат вычисления строки был доступен для последующего обращения к нему (нужен для вывода на печать). У меня котел не варит... |
#2
|
||||
|
||||
![]() Кол-во строк - grid.RowCount, кол-во столбцов - grid.ColCount.
Цитата:
Не понял. — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#3
|
|||
|
|||
![]() Проблема с заданием переменной для присвоения результата...
Грубо говоря- для 1 строки будет так: A:=StrtoFloat(Form1.StringGrid1.Cells[3,1]); M:=StrtoFloat(Form1.StringGrid1.Cells[5,1]); P:=StrtoFloat(Form1.StringGrid1.Cells[7,1]); SUMM1:=A*M*P*((TGVS-TVZ)*K+H*(TGVS-TVL))*0.000001; переменные а,м,р и соответственно summ1 вопрос, как задать их, чтобы выполнялось для каждой строки? (остальные переменные в выражении не важны- они статичны и берутся из эдитов) |
#4
|
|||
|
|||
![]() Цитата:
Мне нужно будет потом вывести на печать каждую из полученных переменных- результатов вычислений (summ1 и тд).... |
#5
|
||||
|
||||
![]() Код:
for i := 1 to Form1.StringGrid1.RowCount -1 do begin A:=StrtoFloat(Form1.StringGrid1.Cells[3,i]); M:=StrtoFloat(Form1.StringGrid1.Cells[5,i]); P:=StrtoFloat(Form1.StringGrid1.Cells[7,i]); SUMM1:=A*M*P*((TGVS-TVZ)*K+H*(TGVS-TVL))*0.000001; end; — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#6
|
|||
|
|||
![]() это для 1 строчки.
Мне нужно в конечном итоге получить рассчет SUMMq, состоящих из SUMM1, SUMM2, SUMM3...SUMMn. Сначала и полностью: Есть стринггрид с неизвестным кол-вом строк. Для каждой строчки: A:=StrtoFloat(Form1.StringGrid1.Cells[3,1]); //[3,1] - столбец, строка M:=StrtoFloat(Form1.StringGrid1.Cells[5,1]); P:=StrtoFloat(Form1.StringGrid1.Cells[7,1]); SUMM1:=A*M*P*((TGVS-TVZ)*K+H*(TGVS-TVL))*0.000001; Нужно: Сохранить каждый построчный рассчет для последующего вывода на печать в поле edit1.text передать SUMM_n=SUMM1+SUMM2+SUMM3...+SUMM_Q , где Q- кол-во строк... Последний раз редактировалось Maksuckan, 24.12.2012 в 10:50. |
#7
|
||||
|
||||
![]() Да как с неизвестным то?
Грид имеет вполне конечное число строк и столбцов. Я же написал тебе пример, как будет выглядеть цикл, бегающий по всем строчкам в гриде. Обрати внимание на [3,i]. SUMM1 - объявить как глобальную переменную. SUMM1:=SUMM1 + (A*M*P*((TGVS-TVZ)*K+H*(TGVS-TVL))*0.000001); — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#8
|
|||
|
|||
![]() Цитата:
Но в таком случае вопрос, если мне нужно отдельно каждый расчет вывести в отдельный эдит? |
#9
|
||||
|
||||
![]() Это извращение какое-то, можно каждый расчет вывести в ячейку того же грида.
Странный у вас подход к решению задачи. — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |