Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Математические вычисления в StringGrid 
:(
    Опции темы
Ярослав
Дата 9.6.2009, 01:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 189
Регистрация: 8.6.2009

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



Помогите пожалуйста с работой StringGrid,а именно как  выполнять математические вычисления с ячейками например 1-я ячейка прибавить 2-ю ячейку в третей ответ.Заранее спосибо
PM MAIL   Вверх
Dmi3ev
Дата 9.6.2009, 02:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

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



ну если подробно, то так
Код

int a=StrToInt(StringGrid1->Cells[1][1]);
int b=StrToInt(StringGrid1->Cells[2][1]);
StringGrid1->Cells[3][1]=IntToStr(a+b);

при этом у Грида StringGrid1->Cells[1][1] первый индекс - индекс столбца, а второй - строки (скорее всего ты этого не знал, поэтому написал)


--------------------

PM MAIL   Вверх
XPyCT
Дата 9.6.2009, 09:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



to Ярослав

Предлагаю вам для наглядности вариант с умножением!
прошу не пинать писал на скорую руку вроде все пашет!


user posted image


  компонент 
 StringGrid    = sgTable

Код

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
 //----Заполняем StringGrid  Колонки
 //Найменование
sgTable->Cells[1][1]="Молоко";
sgTable->Cells[1][2]="Хлеб";
sgTable->Cells[1][3]="Пиво";
sgTable->Cells[1][4]="Водка";

 //Количество
sgTable->Cells[2][1]="50";
sgTable->Cells[2][2]="70";
sgTable->Cells[2][3]="300";
sgTable->Cells[2][4]="450";

 //Стоимость
sgTable->Cells[3][1]="5,50";
sgTable->Cells[3][2]="4,25";
sgTable->Cells[3][3]="8,35";
sgTable->Cells[3][4]="10,75";


}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormShow(TObject *Sender)
{

//-------Задаем размер колонок начало
sgTable->ColWidths[0]=30;
sgTable->ColWidths[1]=120;
sgTable->ColWidths[2]=40;
sgTable->ColWidths[3]=40;
sgTable->ColWidths[4]=40;
sgTable->ColWidths[5]=40;
//-------Задаем размер колонок окончание

//-------Найменование стобцов фиксированных рядов начало
sgTable->Cells[0][0]="№";
sgTable->Cells[1][0]="Найменование";
sgTable->Cells[2][0]="Кол-во";
sgTable->Cells[3][0]="цена";
sgTable->Cells[4][0]="Итого";
sgTable->Cells[5][0]="Общая";

for (int i=1; i <  sgTable->RowCount; i++)
     sgTable->Cells[0][i] = IntToStr(i);
//-------Найменование стобцов фиксированных рядов окончание



}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
float kost, rez;
int kol;
rez=0;

// --Подсчет всей суммы товара
//-- по каждой ячейке
for (int i=1; i <  sgTable->RowCount; i++){

    kol= StrToInt(sgTable->Cells[2][i]);
    kost= StrToFloat(sgTable->Cells[3][i]);
    rez = kol * kost;
    sgTable->Cells[4][i]= FloatToStr(rez);
    }

//-- Общая сумма
    rez=0;
  for (int i=1; i <  sgTable->RowCount; i++){
       rez += StrToFloat(sgTable->Cells[4][i]);
      sgTable->Cells[5][sgTable->RowCount-1] = FloatToStr(rez);
      }
    rez=0;
}
//---------------------------------------------------------------------------



Это сообщение отредактировал(а) XPyCT - 9.6.2009, 09:28
PM MAIL Skype   Вверх
Ярослав
Дата 19.6.2009, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 189
Регистрация: 8.6.2009

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



Спосибо Вам огромное
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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