Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сумма чисел stringrid по столбцам 
:(
    Опции темы
cheeter
Дата 16.8.2009, 09:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



есть таблица в которой:
1   2   3   4   5   6  
1   2   3   4   5   6
1   2   3   4   5   6
1, 3, 5-комментарии
2,4,6 - числа..
количество строк = n
надо определять сумму чисел по столбцам, т.е. 4+4+4+4= ф... 2+2+2..=ы..

Подскажите как это сделать я выбрал тип таблицы стрингрид..и не выходит..
 может по другому как то надо..
PM MAIL   Вверх
Данкинг
Дата 16.8.2009, 10:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



В stringrid - видимо, циклом пройти по ячейкам, а как ещё-то.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
cheeter
Дата 16.8.2009, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



я так и пытаюсь..но он у меня все столбцы суммирует..и те которые с текстом.. есть примерчик?

Добавлено через 7 минут и 37 секунд
#include <iostream>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <string>
#include <map>

typedef std::map<std::string, int> map_t;

template<typename _Ty, typename _Tx>
struct map_plus : public std::binary_function<_Tx, std::pair<_Ty, _Tx>, _Tx>
{    // functor for operator+
    _Tx operator()(const _Tx& _Left, const std::pair<_Ty, _Tx>& _Right) const
    {    // apply operator+ to operands
        return (_Left + _Right.second);
    }
};
int main()
{
    map_t map;
    map.insert(std::make_pair("aaa",10));
    map.insert(std::make_pair("bbb",11));
    map.insert(std::make_pair("ccc",12));
    map.insert(std::make_pair("eee",13));

    std::cout << std::accumulate(map.begin(), map.end(), 0, map_plus<std::string, int>());
    return 0;
}


я что то типа этого пытаюсь днлать..
PM MAIL   Вверх
smoke_man
Дата 16.8.2009, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



У StringGrid  FixedRows и FixedCols равны нулю. Попробуй так:
Код

void __fastcall TForm1::Button1Click(TObject *Sender)
{
   int CountRow = StringGrid1->RowCount;
   int CountCol = StringGrid1->ColCount;
   int sum = 0;
   for(int i = 1; i < CountCol; i+=2)
   {
        for(int j = 0; j < CountRow; j++)
        {
             sum+=StrToInt(StringGrid1->Cells[i][j]);
        }
        ShowMessage(IntToStr(sum));
        sum = 0;
   }
}


Это сообщение отредактировал(а) smoke_man - 16.8.2009, 12:44


--------------------
0x2b|~0x2b
PM MAIL ICQ GTalk   Вверх
cheeter
Дата 16.8.2009, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



все равно не выходит.... мне кажется, я неверно инициализирую стрингрид....  
выдает чертову кучу ошибок...
немог бы ктонить выложить простейший проект co stringrid..  хотя бы просто пустая табличка в которую вбивать данные!...у мя даже она не выходдит..ошибки какието.. 
PM MAIL   Вверх
Данкинг
Дата 16.8.2009, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Цитата(cheeter @  16.8.2009,  14:38 Найти цитируемый пост)
выдает чертову кучу ошибок...

Какие ошибки-то? Вот код smoke_man - как раз то, что я имел в виду.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
smoke_man
Дата 16.8.2009, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Вот пример. Делал в Builder 6.

Присоединённый файл ( Кол-во скачиваний: 9 )
Присоединённый файл  StrGrid.rar 246,49 Kb


--------------------
0x2b|~0x2b
PM MAIL ICQ GTalk   Вверх
cheeter
Дата 16.8.2009, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



например
[ILINK32 Error] Error: Unresolved external '__fastcall TForm1::Button1ContextPopup(System::TObject *, Types::TPoint&, bool&)' referenced from C:\USERS\1\DOCUMENTS\RAD STUDIO\PROJECTS\DEBUG\UNIT1.OBJ

Добавлено через 30 секунд
курильщик спасибо..ща попробую..

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


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Цитата(smoke_man @  16.8.2009,  15:02 Найти цитируемый пост)
Вот пример. Делал в Builder 6. 

Вот запустил у себя. Выдаются нормальные Messagebox's:
user posted image

smoke_man, извиняюсь, я думал, это cheeter свой проект выложил. smile Но в любом случае, подтверждаю: данный пример работает. smile 

Это сообщение отредактировал(а) Данкинг - 16.8.2009, 14:13


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
cheeter
Дата 16.8.2009, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



этот номально работает... хотя по коду тоже самое что делал я...ничего не пойму..

теперь к делу:..  как сделать n строк?... тут же только определенное количво строк.. считает...


и сразу второй вопрос:.. чтобы сохранялись данные которые мы вводим надо сохранять в БД.. или можно допустим в exel а потом из него подгружать при запуске?
PM MAIL   Вверх
smoke_man
Дата 16.8.2009, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Пример установки 10 строк:
Код

StringGrid1->RowCount = 10;

Если пользовать Excel, то на форуме обсуждалось уже много тем по этому поводу - воспользуйся поиском. Что не поймешь - объясним.


--------------------
0x2b|~0x2b
PM MAIL ICQ GTalk   Вверх
cheeter
Дата 16.8.2009, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



хорошо.. а если я незнаю сколько строк... мне надо теперь сделать что то типо своей бд.. которая будет хранить то что я туда вбиваю... с возможностью постоянного добавления записей..    как такое можно реализовать?
PM MAIL   Вверх
smoke_man
Дата 16.8.2009, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



А количество столбцов не меняется?


--------------------
0x2b|~0x2b
PM MAIL ICQ GTalk   Вверх
cheeter
Дата 16.8.2009, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



нет...

Добавлено через 27 секунд
только количество строк будем добавлять...

Добавлено через 36 секунд
только количество строк будем добавлять...
PM MAIL   Вверх
smoke_man
Дата 16.8.2009, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Посмотри пример.

Присоединённый файл ( Кол-во скачиваний: 5 )
Присоединённый файл  StrGrid.rar 246,67 Kb


--------------------
0x2b|~0x2b
PM MAIL ICQ GTalk   Вверх
cheeter
Дата 16.8.2009, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



согласен... я даже не представлял что все так просто...

и еще один вопрос.. 

А как сделать чтобы изначально весь массив был заполнен нулями(в ассемблере я вроде помню как делал..а в с даже не сталкивался..)

Просто, если допустить...что количество элементов во втором и четвертом столбце будет не одинаковое..то прога работать не будет..
PM MAIL   Вверх
smoke_man
Дата 16.8.2009, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Чтобы StringGrid изначально нулями был заполнен или массив, из которого будет читаться в StringGrid?


--------------------
0x2b|~0x2b
PM MAIL ICQ GTalk   Вверх
cheeter
Дата 16.8.2009, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



ну вообщем да...чтобы если на пустую наждать вычислять... и был рез-т 0
PM MAIL   Вверх
smoke_man
Дата 16.8.2009, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Можно так:
Код

void __fastcall TForm1::Button1Click(TObject *Sender)
{
   int CountRow = StringGrid1->RowCount;
   int CountCol = StringGrid1->ColCount;
   int sum = 0;
   for(int i = 1; i < CountCol; i+=2)
   {
        for(int j = 0; j < CountRow; j++)
        {
             //Здесь нуль значение по умолчанию, если не удается корректно перевести строку к int
             sum+=StrToIntDef(StringGrid1->Cells[i][j],0);
        }
        ShowMessage(IntToStr(sum));
        sum = 0;
   }
}



--------------------
0x2b|~0x2b
PM MAIL ICQ GTalk   Вверх
cheeter
Дата 16.8.2009, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



да ..спасибо именно то что я хотел... 

а дайте пару ссылок на инфу по теме: как сделать чтобы введенные данные не обнулялись а оставались в таблице..  (лично я думаю придется создавать свою бд... тогда подскажите, как?)
PM MAIL   Вверх
smoke_man
Дата 16.8.2009, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



В смысле после выхода из программы?


--------------------
0x2b|~0x2b
PM MAIL ICQ GTalk   Вверх
cheeter
Дата 16.8.2009, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



да..чтобы при перезапуске..все оставалось
PM MAIL   Вверх
smoke_man
Дата 16.8.2009, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Пройдись по всем значениям таблицы и сохрани в файл.


--------------------
0x2b|~0x2b
PM MAIL ICQ GTalk   Вверх
cheeter
Дата 16.8.2009, 18:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



это понятно... а в какой файл то?.. и примерчика нет как сохранять...  а то я цикл сделал... прохожусь.. но как сохранять и куда незнаю  smile  smile 
PM MAIL   Вверх
smoke_man
Дата 16.8.2009, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Если средствами билдера - смотри пример.

Присоединённый файл ( Кол-во скачиваний: 12 )
Присоединённый файл  StrGrid.rar 250,56 Kb


--------------------
0x2b|~0x2b
PM MAIL ICQ GTalk   Вверх
cheeter
Дата 16.8.2009, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



спасибо ознакомился... а где бы почитать про эти функции билдера?

PM MAIL   Вверх
smoke_man
Дата 16.8.2009, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Можно Архангельского почитать.


--------------------
0x2b|~0x2b
PM MAIL ICQ GTalk   Вверх
cheeter
Дата 16.8.2009, 21:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Пытаюсь сделать чтобы столбики в таблице выравнивались по размеру автоматически по самому большому слову в столбце...  Или как вручную сделать разнай размер сталбцов? т.е. я нашел как изменить размер..но ширина меняется сразу у всех... а как сделать 1ый очень широкий...3ий очень широкий.. а 2ой и четвертый столбики маленькой ширины..

Добавлено через 1 минуту и 41 секунду
поле StringGrid->ColWidths=w, где i - номер столбца (с 0), w - ширина.
нашел ща попробую..
PM MAIL   Вверх
cheeter
Дата 16.8.2009, 22:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Не выходит..дает ошибку...  как оформить?

И еще вопрос... как сделать вывод результата не в отдельном окошке...а допустим в Tedit?
PM MAIL   Вверх
smoke_man
Дата 16.8.2009, 22:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Насколько я знаю  - нельзя изменить ширину отдельных ячеек. Может конечно я ошибаюсь. А чтобы добавить в TEdit  вместо ShowMessage написать:
Код

Edit1->Text=Edit1->Text+IntToStr(sum)+" ";



--------------------
0x2b|~0x2b
PM MAIL ICQ GTalk   Вверх
cheeter
Дата 16.8.2009, 23:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



так.. опять геморой...
  как добавить еще один столбец.?  я добавляю в билдере... а он выдает ошибку Link26...  Что делать?

Добавлено через 5 минут и 27 секунд
вот нашел про размер колонок...тока так и не заставил работать....http://www.codenet.ru/progr/delphi/vcl_faq/098.php
PM MAIL   Вверх
smoke_man
Дата 16.8.2009, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Если программно, то так же как и строки:
Код

StringGrid1->ColCount++;




--------------------
0x2b|~0x2b
PM MAIL ICQ GTalk   Вверх
cheeter
Дата 16.8.2009, 23:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



добавил,..но все равно таже ошибка...

Добавлено через 36 секунд
она в тексте не находит ошибок...ошибка при запуске возникает эта..
PM MAIL   Вверх
smoke_man
Дата 16.8.2009, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Выложи проект. И какая версия билдера.

Это сообщение отредактировал(а) smoke_man - 16.8.2009, 23:26


--------------------
0x2b|~0x2b
PM MAIL ICQ GTalk   Вверх
cheeter
Дата 16.8.2009, 23:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



мне не много столбцов надо..всего 1! там по умолчанию 5...а надо 6...это постоянная велечина..
PM MAIL   Вверх
smoke_man
Дата 16.8.2009, 23:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Вот переделанная функция для автоподстройки ширины
Код

void TForm1::AutoSizeGridColumn(TStringGrid *Grid ,  int column )
{
  int temp;
  int max  = 0;
  int RowCount = Grid->RowCount;
  for (int i = 0 ;i < RowCount; i++)
  {
    temp = Grid->Canvas->TextWidth(Grid->Cells[column][i]);
    if (temp > max)
        max = temp;
  }
  Grid->ColWidths[column] = max + Grid->GridLineWidth + 3;
}



--------------------
0x2b|~0x2b
PM MAIL ICQ GTalk   Вверх
cheeter
Дата 17.8.2009, 00:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



вот... если тутт не прикрепится на залил запихнул..http://slil.ru/27905939

Добавлено через 1 минуту и 15 секунд
спс за ширину.. если можно... помогите с 6столбцом..
PM MAIL   Вверх
smoke_man
Дата 17.8.2009, 00:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



В проекте у тебя и так 6 столбцов. А ошибка во время создания формы - нужно переделать чтение файла, сделать проверку или вобще убрать из конструктора формы.


--------------------
0x2b|~0x2b
PM MAIL ICQ GTalk   Вверх
cheeter
Дата 17.8.2009, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



не понял... что надо сделать? и как?

если у меня 6 столбцов..где 6ой?
PM MAIL   Вверх
smoke_man
Дата 17.8.2009, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



ColCount  у StringGrid  чему равно в инспекторе объектов? Его ты можешь изменить?


--------------------
0x2b|~0x2b
PM MAIL ICQ GTalk   Вверх
cheeter
Дата 18.8.2009, 12:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



5.. изменяю на 6... и выдается ошибка при запуске... я же выкинул проект с ошибкой..посмотрите..

PM MAIL   Вверх
smoke_man
Дата 18.8.2009, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Создай новое приложение. Кинь на форму StringGrid, поменяй количество строк и столбцов. Если опять возникает ошибка попробуй переставить Builder.

Это сообщение отредактировал(а) smoke_man - 18.8.2009, 12:54


--------------------
0x2b|~0x2b
PM MAIL ICQ GTalk   Вверх
cheeter
Дата 18.8.2009, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



smoke_man, поставил билдер на ноут..таже фигня... что это вообще может быть?...


И теперь след вопрос... как сделать чтобы в 6 столбик копировались данные из бд мускул на удаленном сервере..  
PM MAIL   Вверх
smoke_man
Дата 18.8.2009, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Может и глюк дистрибутива быть.


--------------------
0x2b|~0x2b
PM MAIL ICQ GTalk   Вверх
cheeter
Дата 18.8.2009, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



smoke_man,  ну вот попробуй пожалуйста в то что ты выкладывал добавить 6ой столбец...  Плиз..и если получится выложи .

Добавлено через 21 секунду
на второй странице то что...
PM MAIL   Вверх
smoke_man
Дата 18.8.2009, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Держи.

Присоединённый файл ( Кол-во скачиваний: 7 )
Присоединённый файл  StrGrid.rar 250,60 Kb


--------------------
0x2b|~0x2b
PM MAIL ICQ GTalk   Вверх
cheeter
Дата 18.8.2009, 19:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Спасибо...  У вас данный файл запускается?... у меня даже exe файл не запустился...  а у вас нормально?

Добавлено через 6 минут и 28 секунд
ничего не пойму... скачал ваш файл... на 3 компа...на 2х  стят разные версии билдеров...  на другом нету вообще.. не там не там не запускается... почему?.. я думаю где то ошибка в исх коде..

Это сообщение отредактировал(а) cheeter - 18.8.2009, 19:25
PM MAIL   Вверх
smoke_man
Дата 18.8.2009, 21:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Проект запустится...а exe нет - я же писал что там при старте чтение файла идет - его надо изменить - расчитано было под 5 колонок. Закоментируй все что в конструкторе формы и будет работать.


--------------------
0x2b|~0x2b
PM MAIL ICQ GTalk   Вверх
cheeter
Дата 18.8.2009, 21:08 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Кто нибудь может подсказать что не так с кодом, что прогаа компилируется..но не запускается..

Добавлено через 1 секунду
Кто нибудь может подсказать что не так с кодом, что прогаа компилируется..но не запускается..

Добавлено через 10 минут и 16 секунд
не понял... но буду разбераться..

PM MAIL   Вверх
cheeter
Дата 19.8.2009, 00:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



везде где было число 5... заменил на 6... и  все равно... ошибка..

Можно поточнее где это прописать?
PM MAIL   Вверх
smoke_man
Дата 19.8.2009, 00:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



У StringGrid свойство ColCount.


--------------------
0x2b|~0x2b
PM MAIL ICQ GTalk   Вверх
Данкинг
Дата 19.8.2009, 01:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Цитата(cheeter @  18.8.2009,  22:08 Найти цитируемый пост)
Кто нибудь может подсказать что не так с кодом, что прогаа компилируется..но не запускается..

А сообщение об ошибке прочитать не пробовал? smile 
Не в курсе, что программа должна делать, но ошибка на строке
Код

StringGrid1->Cells[i][j] = s->Strings[count];

-  когда переменная count принимает значение, большее, чем число строк в файле example.txt.



--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
cheeter
Дата 19.8.2009, 11:57 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Спасибо..заработало...разобрался подправив ехампл
PM MAIL   Вверх
cheeter
Дата 20.8.2009, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(smoke_man @ 16.8.2009,  23:37)
Вот переделанная функция для автоподстройки ширины
Код

void TForm1::AutoSizeGridColumn(TStringGrid *Grid ,  int column )
{
  int temp;
  int max  = 0;
  int RowCount = Grid->RowCount;
  for (int i = 0 ;i < RowCount; i++)
  {
    temp = Grid->Canvas->TextWidth(Grid->Cells[column][i]);
    if (temp > max)
        max = temp;
  }
  Grid->ColWidths[column] = max + Grid->GridLineWidth + 3;
}

почему то не удается вставить в код... при компиляции водает ошибку... прямо в этой строке void TForm1::AutoSizeGridColumn(TStringGrid *Grid ,  int column )
PM MAIL   Вверх
Данкинг
Дата 20.8.2009, 13:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Цитата(cheeter @  20.8.2009,  14:10 Найти цитируемый пост)
при компиляции водает ошибку... 

Какую?



Это сообщение отредактировал(а) Данкинг - 20.8.2009, 13:52


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
cheeter
Дата 20.8.2009, 14:55 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



кстати.. пытаюсь сделать так чтобы результат выводился во втором TstrinGrid2 .. для удобства.. т.е. 2я табличка состоит из 3 колонок и 1 строки.. подскажите?.. у меня что то невыходит..вот как делаю: 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
   int CountRow = StringGrid1->RowCount;
   int CountCol = StringGrid1->ColCount;
   int sum = 0;
   for(int i = 1; i < CountCol; i+=2)
   {
  for(int j = 0; j < CountRow; j++)
  {
    sum+=StrToIntDef(StringGrid1->Cells[i][j],0);
  }
   {
     for (i2 = 0; i2 < CountCol; i2+)
     {
    for (j2; j2 < CountRow; j2++) {
 
    }
      StringGrid2->Cells[i2][j2] = StringGrid1->Cells[i][j];
     }
   }

но выдает ошибки..

PM MAIL   Вверх
cheeter
Дата 20.8.2009, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



что я не так делаю.?

Добавлено через 3 минуты и 19 секунд
void __fastcall TForm1::Button1Click(TObject *Sender) 
{ 
   int CountRow = StringGrid1->RowCount; 
   int CountCol = StringGrid1->ColCount; 
   for(int i = 1; i < CountCol; i+=2) 
   {
    a+=StrToIntDef(StringGrid1->Cells[i][2],0); 
    b+=StrToIntDef(StringGrid1->Cells[i][4],0); 
    в+=StrToIntDef(StringGrid1->Cells[i][6],0); 
   } 
}....

Решил так попробываь сумму найти.. но не особо....

Добавлено через 10 минут и 10 секунд
теперь надо как то вывести abв...  В табличку КАК?

Добавлено через 10 минут и 10 секунд
теперь надо как то вывести abв...  В табличку КАК?

PM MAIL   Вверх
cheeter
Дата 21.8.2009, 08:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Все не хотят подсказывать или такое сделать впринципе не реально?

PM MAIL   Вверх
Anikmar
Дата 21.8.2009, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(cheeter @  21.8.2009,  08:27 Найти цитируемый пост)
Все не хотят подсказывать или такое сделать впринципе не реально?

Тема называется подсчет сумм по столбцам.

В процессе обсуждения уже и парсинг файла поднят и теперь вывод в табличку текста.

Один вопрос-одна тема. Так будет быстрее.

а вообще наверное так:
StringGrid1->Cells[1][1] = "Это текст в ячейке 1:1";
PM MAIL ICQ   Вверх
sawfish
Дата 21.8.2009, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Код

void __fastcall TForm1::Button1Click(TObject *Sender)
{
   int CountRow = StringGrid1->RowCount;
   int CountCol = StringGrid1->ColCount;
   int sum = 0;
   int iCol=0;
   for(int i = 1; i < CountCol; i+=2)
   {
        for(int j = 0; j < CountRow; j++)
        {
             sum+=StrToIntDef(StringGrid1->Cells[i][j],0);
        }
        //ShowMessage(IntToStr(sum));
        StringGrid2->Cells[iCol][0]=IntToStr(sum);
        iCol++;
        sum = 0;
   }
}


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

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

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

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

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


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

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


 




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


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

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