Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Операции с ячейками stringgrid 
:(
    Опции темы
Dmitri446
Дата 24.5.2014, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 24.5.2014

Репутация: нет
Всего: нет



Нужна помощь, а именно неправильно считается вторая строка столбца расход за неделю
Код

procedure TForm1.FormCreate(Sender: TObject);

var
f: TextFile;
Fm,S,A,C,D,E,G,H:string;
n:integer;
begin
StringGrid1.Cells[0,0]:='Íàèìåíîâàíèå';
StringGrid1.Cells[1,0]:='Öåíà';
StringGrid1.Cells[2,0]:='ÏÍ';
StringGrid1.Cells[3,0]:='ÂÒ';
StringGrid1.Cells[4,0]:='ÑÐ';
StringGrid1.Cells[5,0]:='×Ò';
StringGrid1.Cells[6,0]:='ÏÒ';
StringGrid1.Cells[7,0]:='ÑÁ';
StringGrid1.Cells[8,0]:='Ðàñõîä çà íåäåëþ';
StringGrid1.Cells[9,0]:='Ñóìì çà íåäåëþ';
StringGrid1.Cells[10,0]:='Ðàñõîä çà äåíü';
AssignFile(f,'D:\Òêàíü.txt');   //çàãðóæàþ ôàéë â stringrid
Reset(F);
n:=0;
while not(Eof(f)) do
begin
Readln(f,Fm);
Readln(f,S);
Readln(f,A);
Readln(f,C);
Readln(f,D);
Readln(f,E);
Readln(f,G);
Readln(f,H);

with StringGrid1 do
begin
Cells[0,RowCount-1]:=Fm;
Cells[1,RowCount-1]:=S;
Cells[2,RowCount-1]:=A;
Cells[3,RowCount-1]:=C;
Cells[4,RowCount-1]:=D;
Cells[5,RowCount-1]:=E;
Cells[6,RowCount-1]:=G;
Cells[7,RowCount-1]:=H;
RowCount:=RowCount+1;
StringGrid1.Cells[8,0]:='Ðàñõîä çà íåäåëþ';
StringGrid1.Cells[9,0]:='Cóìì çà íåäåëþ';
StringGrid1.Cells[0,11]:='Ðàñõîä çà äåíü';
end;
end;
CloseFile(f);
StringGrid1.RowCount:=StringGrid1.RowCount-1;

end;


procedure TForm1.Button2Click(Sender: TObject);
var
ARow, ACol, sm, sn,i,j, n:integer;
sum:integer;

begin
for ARow:=1 to stringgrid1.rowcount-1 do

begin
  n:=0;sm:=0;
  for ACol:=2 to 8 do
  begin
     n:=n+strtointdef( stringgrid1.cells[acol,arow], 0);//?anoia ca iaaae?
  end;
  sm := n * strtointdef( stringgrid1.cells[1,arow], 0);// noiia ca iaaae?
  stringgrid1.cells[8,Arow] := inttostr(N);
  stringgrid1.cells[9,ARow] := inttostr(sm);
  end;
end;

user posted image
да и какие то нули ни в самом конце двух последних столбцов

Это сообщение отредактировал(а) Dmitri446 - 24.5.2014, 10:25
PM MAIL   Вверх
БелАмор
Дата 24.5.2014, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 209
Регистрация: 10.6.2010
Где: Россия

Репутация: 7
Всего: 17



Цитата(Dmitri446 @  24.5.2014,  11:21 Найти цитируемый пост)
  for ACol:=2 to 8 do
  begin
     n:=n+strtointdef( stringgrid1.cells[acol,arow], 0);//?anoia ca iaaae?
  end;

Кстати, почему 2 to 8, а не 2 to 7?
У вас же захватывается и сумма (расход за неделю).
При повторном нажатии кнопки старая сумма будет прибавляться к вновь посчитанной.
Допустим, вы нажимаете кнопку только один раз...
А если при этом в колонке результата уже что-то есть?
Кроме того, я бы не советовал лихо принимать за ноль непереводимые в Integer строки - так можно поступать только с пустыми, а буквы "O" или "l" вместо цифр должны восприниматься как ошибки, а не нулевые значения. Непереводимая непустая строка - информация об ошибке вместо суммы.

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0734 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.