Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вывод длинной строки [D6, D7, WinXP]


mishapost ©   (2004-10-27 23:17:00) 

Помогите!
Решаю лабу. По условию надо массив (array of integer) на 100000 элементов. Вывести на экран в одну строку разделяя цифры пробелами.
Как это сделать.
Пробовал RichEdit так он собака на каком-то n-ом элементе переходит на вторую строку. Обязательно должна быть полоса прокрутки (и только горизонтальная больше никакая)


SergP   (2004-10-28 02:03:00) [1]

Или напиши нечто типа своего скролбара с большим кол-вом позиций


SergP   (2004-10-28 02:01:00) [2]


> И упрись в ограничение скроллбара на 65,536


Делай 1 позиция скролбара = 2 позиции для массива. тогда впишешься


Defunct   (2004-10-27 23:54:00) [3]

[11]

угу
график однозначно лучше подходит для отображения 100k чисел.


Игорь Шевченко   (2004-10-27 23:50:00) [4]

Defunct ©   (27.10.04 23:48) [10]


> Но и эта проблема решается


Решается. Ерундой не заниматься, например, выводя такое количество чисел на экран.


Defunct   (2004-10-27 23:48:00) [5]

Игорь Шевченко ©   (27.10.04 23:38) [8]

забыл об этом..
Но и эта проблема решается: делим на какой-то коэффициент (например на кол-во символов, которые помещаются на экране), чтобы не привысить 64k позиций скрола.


sniknik   (2004-10-27 23:41:00) [6]

100000 * 7 (6 по максимуму символов на цифру + пробел) ~ 684кб. не дотягивает до 2гб (такое вроде ограничение у длинных строк?)

все в строку влезет с гарантией, а заботится о прогрутке/отрисовке не нужно. и для скролбар само шаги просчитает.


Игорь Шевченко   (2004-10-27 23:38:00) [7]


> Посчитай количество десятичных знаков всех чисел прибавь
> 10000 (кол-во пробелов между числами). Задай ScrollBar'у
> в качестве макс значения то что получится


И упрись в ограничение скроллбара на 65,536

"Because the messages that indicate scroll bar position, WM_HSCROLL and WM_VSCROLL, are limited to 16 bits of position data, applications that rely solely on those messages for position data have a practical maximum value of 65,535 for the SetScrollRange function's nMaxPos parameter. "


Defunct   (2004-10-27 23:34:00) [8]

mishapost   (27.10.04 23:17)

Может график нарисовать с масштабированием?

А числа не нужно выводить в RichEdit.
Посчитай количество десятичных знаков всех чисел прибавь 10000 (кол-во пробелов между числами). Задай ScrollBar'у в качестве макс значения то что получится. Формируй строку для вывода на экран в зависимости от позиции ScrollBar'a по событию ScrollBar.OnChange. Саму строку выводи хоть на Canvas формы.


sniknik   (2004-10-27 23:31:00) [9]

2 элемента возьми. один TScrollBox и на него чего нибудь (TLabel/TEdit) положи...
и вся лаба (мне бы в свое время такие ;о))))


Rouse_   (2004-10-27 23:29:00) [10]

Рисуй на канвасе не жалея памяти на хранение растра :))


mishapost   (2004-10-27 23:27:00) [11]

А это вы у препода спросите который эту лабу задал


Anatoly Podgoretsky   (2004-10-27 23:26:00) [12]

А мышка не расплавится?


mishapost   (2004-10-27 23:25:00) [13]

Не главное чтоб все видеть на экране надо вывести строку с прокруткой прокрутку двигаешь и все просматриваешь


Игорь Шевченко   (2004-10-27 23:23:00) [14]


> По условию надо массив (array of integer) на 100000 элементов.
> Вывести на экран в одну строку разделяя цифры пробелами.


А где такой экран взять ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо