Форум программистов, компьютерный форум, киберфорум
Delphi
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 18.09.2013
Сообщений: 31
1

Неясности со StrigGrid-ами

11.02.2014, 11:10. Показов 546. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имеется 2 StringGrid (см. вложенный рис.). В первый загружаются данные из Excel, далее они определенным образом пересчитываются и записываются во второй. Первый сделан давно, а второй недавно и поэтому появилась такая проблема: в 1 в свойствах стоит RowCount=1 ColCount=1 и как-бы до загрузки данных стоит чистый лист. Во 2 когда ставлю такие же свойства то данные высвечиваются только в левой верхней ячейке. Как сделать второй массив похожим на первый, учитывая что количество столбцов всегда равно 2, а количество строк неограничено?
Вложения
Тип файла: rar массивы.rar (10.5 Кб, 4 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.02.2014, 11:10
Ответы с готовыми решениями:

Striggrid в файл
Помогите пожалуйста! Нужны процедурки сохранения stringgrid в файл, открытие из файла , очищение...

поиск в striggrid
Добрый день Всем!!! Уважаемые, мне необходима подсказка, по частичному совпадению. т.е. если я...

TreeView с checkbox`ами и DBGrid c combobox`ами
Здравствуйте, посдкажите, пожалуйста, как реализовать checkbox`ы в компоненте TreeView и...

Работа с TextBox'ами Button'ами.
Народ киньте ссылку где это кратко и доступно описывает. Конкретнее как работать с тем что введено...

6
пофигист широкого профиля
4733 / 3167 / 859
Регистрация: 15.07.2013
Сообщений: 18,252
11.02.2014, 11:37 2
Цитата Сообщение от frankinvini Посмотреть сообщение
в 1 в свойствах стоит RowCount=1 ColCount=1 и как-бы до загрузки данных стоит чистый лист.
А во время загрузки RowCount увеличивается по мере загрузки. И во втором RowCount тоже надо увеличивать.
0
0 / 0 / 0
Регистрация: 18.09.2013
Сообщений: 31
11.02.2014, 11:41  [ТС] 3
Так в 1 массиве RowCount=1 и он сам увеличивается во время заполнения. А во 2 массиве ставлю RowCount=1, так заполняется только 1 строка. Если ставлю RowCount=10 соответственно заполнится 10 строк. Как сделать чтобы массив был не статическим, а динамическим? Как-то так)
0
пофигист широкого профиля
4733 / 3167 / 859
Регистрация: 15.07.2013
Сообщений: 18,252
11.02.2014, 11:55 4
Цитата Сообщение от frankinvini Посмотреть сообщение
далее они определенным образом пересчитываются и записываются во второй.
Как именно? Код показывай.
1
0 / 0 / 0
Регистрация: 18.09.2013
Сообщений: 31
11.02.2014, 12:04  [ТС] 5
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
tx:=StrToFloat(StringGrid1.Cells[0, StringGrid1.RowCount-1]); //êîíå÷íîå âðåìÿ
  E:=Round(tx/shag_vid); //êîëè÷åñòâî ñòðîê â íîâîì ìàññèâå
 
   for j:=0 to E do
   begin
     t:=j*shag_vid;
       for i:=0 to StringGrid1.RowCount-2 do
     begin
       ti:=StrToFloat(StringGrid1.Cells[0,i]);
       ti1:=StrToFloat(StringGrid1.Cells[0,i+1]);
       pi:=StrToFloat(StringGrid1.Cells[1,i]);
       pi1:=StrToFloat(StringGrid1.Cells[1,i+1]);
       if (ti<=t) and (ti1>=t) then
       p:=pi+(pi1-pi)*(t-ti)/(ti1-ti);
     end;
       strngrd1.Cells[1,j]:=FloatToStr(p);
       strngrd1.Cells[0,j]:=FloatToStr(t);
   end;
Код то правильный, все хорошо считает, потому что когда я во 2 массиве ставлю, например, 50 строк, но все хорошо отображается. Проблема именно в том, чтобы я не указывал количество строк, а они ставились автоматически.
В 1 массиве время через 10 минут указано, а во 2 оно разбивается на куски, допустим, по 2 минуты и, соответственно, давление из 2 столбца пересчитывается через каждые 2 минуты.
При загрузке любого массива в 1й SrtingGrid он отобразится прлностью, а при загрузке во 2 SrtingGrid отображается всего лишь столько строк и столбцов, сколько указано в своствах.
0
пофигист широкого профиля
4733 / 3167 / 859
Регистрация: 15.07.2013
Сообщений: 18,252
11.02.2014, 12:16 6
В этом коде присутствует только один грид strngrd1. Где второй?
Ну а если включить телепатор, то имхо
Delphi
1
2
3
E:=Round(tx/shag_vid); //êîëè÷åñòâî ñòðîê â íîâîì ìàññèâå
StringGrid2.RowCount:=E;  //Вот это думаю поможет
for j:=0 to E do
1
0 / 0 / 0
Регистрация: 18.09.2013
Сообщений: 31
11.02.2014, 12:47  [ТС] 7
StringGrid2.RowCount:=E;
хах! Это у меня было, но я его зачем то убрал))
Там StringGrid1 и strngrd1. Вот strngrd1 как-бы и есть 2 массив)
И исправление помогло) Спасибо большое)

Добавлено через 15 минут
А как сделать так, чтобы когда я над StringGrid растягивал TChart, то массив не выходил на график, а оставался под ним и был невидим. 1й массив так делает, а 2й нет(
0
11.02.2014, 12:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.02.2014, 12:47
Помогаю со студенческими работами здесь

StrigGrid
здравствуйте, помогите немного разобратся с компонентом StrigGrid заполняю стринг грид из базы,...

Цвет текста строки StrigGrid
Мне нужно выделить цветом (или как-нибудь еще) КОНКРЕТНУЮ строку с номером i. Как это сделать...

Вывод двумерного массива в StrigGrid
Здравствуйте , можете подсказать как вывести двумерный массив в StringGrid ? По заданию мне нужно...

неправильно заполняет Striggrid из рандомного массива
Из работающего проекта, рандомно (через функцию, с заданным верхним пределом) заполняющего массив...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru