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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.02.2010, 19:38   #1
hohol90
Пользователь
 
Регистрация: 10.10.2009
Сообщений: 34
Восклицание Таблица в Delphi

Помогите доделать, нужно сделать так, чтобы в поле Edit7 выводилась сумма всех значений столбца З/П Средн. разделенная на 6.

Программа прилагается.

Заранее благодарю!!!
Вложения
Тип файла: zip Зарплата.zip (237.7 Кб, 10 просмотров)
hohol90 вне форума Ответить с цитированием
Старый 10.02.2010, 22:45   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

1) Вы переделали чужую программу и забыли испрвить комментарии в ней..
2) вот код (жирным выделены вносимые изменения):
Код:
var
  c, r: integer; // номер колонки и строки таблицы
  p, s: real; // очков у команды
  SumAll : real;
begin
  SumAll := 0;
  for r := 1 to tabl.rowcount do // обработать все строки
  begin

    for c := 0 to 6 do
      if tabl.cells[c, r] = ''
        then tabl.cells[c, r] := '0';

      // вычисляем количество очков
    p := StrToFloat(tabl.cells[0, r]) +
      StrToFloat(tabl.cells[1, r]) +
      StrToFloat(tabl.cells[2, r]) +
      StrToFloat(tabl.cells[3, r]) +
      StrToFloat(tabl.cells[4, r]) +
      StrToFloat(tabl.cells[5, r]);

    tabl.cells[6, r] := FloatToStr(p / 6);
    SumAll := SumAll + (p / 6);
  end;
  Edit7.Text := FloatToStr(SumAll/6)
end;
для подсчёта среднего по строкам лучше использовать такой код вместо вашего (я пометил его выше фиолетовым!):
Код:
var
  c, r: integer; // номер колонки и строки таблицы
  p : real;
  SumAll : real;
begin
  SumAll := 0;
  for r := 1 to tabl.rowcount do // обработать все строки
  begin
    p := 0;
    for c := 0 to 5 do
    begin
      if tabl.cells[c, r] = ''
        then tabl.cells[c, r] := '0';
      p := p + StrToFloat(tabl.cells[c, r])
    end;
    tabl.cells[6, r] := FloatToStr(p / 6);
    SumAll := SumAll + (p / 6);
  end;
  Edit7.Text := FloatToStr(SumAll/6)
end;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 11.02.2010, 09:12   #3
hohol90
Пользователь
 
Регистрация: 10.10.2009
Сообщений: 34
По умолчанию

большое спасибо, все работает.

насчет программы, да взял чужой исходник, но хотел сначала заставить работать аддекватно, а потоим уже все доделать остальное.
hohol90 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
линейная таблица(Delphi) 2009 Помощь студентам 3 12.04.2009 21:16
Таблица в DELPHI T-freeze Помощь студентам 0 04.04.2009 16:04
Помогите с Delphi, таблица Stubby Помощь студентам 16 03.04.2009 20:49
линейная таблица(Delphi) 2009 Помощь студентам 4 21.03.2009 14:51
Таблица в Delphi SPQR Помощь студентам 2 12.11.2007 17:06