C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
StringGrid, Число строк
Daisy
Отправлено: 10.01.2006, 14:07


Дежурный стрелочник

Группа: Участник
Сообщений: 36



А RowCount в StringGrid не ограничено???
Понимаю что глупый вопрос sad.gif , но для меня это очень важно.
Пишу так:

while(1)
{
StringGrid1->RowCount++;

}

и вроде никаких ошибок, кроме зависания biggrin.gif
Aptem
Отправлено: 10.01.2006, 14:13


Мастер участка

Группа: Участник
Сообщений: 349



Ну а что вы собственно хотите то? Все правильно, вы загнали в бесконечный цикл постоянное добавление строк, вот он и добавляет, только перерисовывать не успевает.
Daisy
Отправлено: 10.01.2006, 14:22


Дежурный стрелочник

Группа: Участник
Сообщений: 36



Прилжение моё работает довольно долгое время... и число строк планирую послепенно увеличивать, по мере надобности. Естественно не в таком глухом цикле. Просто интересует, не переполнится ли там что?
olegenty
Отправлено: 10.01.2006, 14:26


Ветеран

Группа: Модератор
Сообщений: 2412



переполнится, конечно smile.gif свойство какого типа? int? вот число, большее MAX_INT туда и не влезет. правда, я себе с трудом представляю, зачем может такое количество строк понадобиться...
Daisy
Отправлено: 10.01.2006, 15:07


Дежурный стрелочник

Группа: Участник
Сообщений: 36



Думаю в maxint = 2147483647 уложусь biggrin.gif
Спасибо smile.gif
Если нет, то можно будет верхние строки убирать за давностью лет, а нижние подписывать cool.gif
Aptem
Отправлено: 11.01.2006, 05:07


Мастер участка

Группа: Участник
Сообщений: 349



QUOTE (Daisy @ 10/01/2006, 15:07)
Думаю в maxint = 2147483647 уложусь biggrin.gif
Спасибо smile.gif
Если нет, то можно будет верхние строки убирать за давностью лет, а нижние подписывать cool.gif

А не проще ли будет БД использовать?
Daisy
Отправлено: 11.01.2006, 10:45


Дежурный стрелочник

Группа: Участник
Сообщений: 36



Мне БД не нужно вобщем-то. У меня в СтрингГрид протокол работы софтины. И ещё, пишу содержимое СтрингГрид в текстовый файл. Для потомков. Плюс ещё, нужно чтобы можно было просматривать этот протокол в программе. Но программа работает долго и число строк может переполниться. Может для просмотра вобще оставить последнюю 1000, а старьё удалять по мере поступления.... cool.gif
gvg
Отправлено: 11.01.2006, 12:42


Машинист паровоза

Группа: Участник
Сообщений: 222



Думаю, использование для этих целей StringGrid нецелесообразно. Я бы воспользовался RichEdit-ом. Можно блокнотом.
Gedeon
Отправлено: 11.01.2006, 14:13


Ветеран

Группа: Модератор
Сообщений: 1742



Ну и опять та же ошибка, не храните данные в визуальных компонентах.
gvg
Отправлено: 11.01.2006, 15:19


Машинист паровоза

Группа: Участник
Сообщений: 222



QUOTE (Gedeon @ 11/01/2006, 14:13)
Ну и опять та же ошибка, не храните данные в визуальных компонентах.

Если это ко мне — писать и хранить в текстовом файле. Я говорил про просмотр.
Gedeon
Отправлено: 11.01.2006, 15:33


Ветеран

Группа: Модератор
Сообщений: 1742



Нет, это было к Daisy
Daisy
Отправлено: 11.01.2006, 23:57


Дежурный стрелочник

Группа: Участник
Сообщений: 36



Что значит "не хранить"? То есть данные (протокол работы) лучше хранить в файле, а в СтрингГриде только просматривать файл (часть файла), если захочется?
olegenty
Отправлено: 12.01.2006, 08:34


Ветеран

Группа: Модератор
Сообщений: 2412



угу. я бы для этого воспользовался компонентом TMemTableEh (и обращение к записям — ляпота, и внутренний формат хранения данных, которые можно сохранять и загружать, имеется) в связке с TDBGridEh. никаих БД, однако работать на порядок удобнее.
Guest
Отправлено: 12.01.2006, 08:55


Не зарегистрирован







но TMemTableEh появилась только в версии 4, которая Shareware ?
Gedeon
Отправлено: 12.01.2006, 12:13


Ветеран

Группа: Модератор
Сообщений: 1742



QUOTE (olegenty @ 12/01/2006, 08:34)
я бы для этого воспользовался компонентом TMemTableEh

Мы знаем что ты его любишь smile.gif .

Да подойдет любой контейнер или что нить всл-ное не важно.
olegenty
Отправлено: 12.01.2006, 13:26


Ветеран

Группа: Модератор
Сообщений: 2412



да нет, TMemTableEh лично я использую с версии 3.4, а так, он есть и в последней бесплатной версии 3.6с, просто надо слазить в подкаталог AdvTech и установить отдельный пакет.
Daisy
Отправлено: 12.01.2006, 23:52


Дежурный стрелочник

Группа: Участник
Сообщений: 36



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

Вернуться в Вопросы программирования в C++Builder