Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.14;
Скачать: CL | DM;

Вниз

Вывод длинной строки   Найти похожие ветки 

 
mishapost   (2004-10-27 23:17) [0]

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


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


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


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


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

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


 
Anatoly Podgoretsky ©   (2004-10-27 23:26) [3]

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


 
mishapost   (2004-10-27 23:27) [4]

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


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

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


 
sniknik ©   (2004-10-27 23:31) [6]

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


 
Defunct ©   (2004-10-27 23:34) [7]

mishapost   (27.10.04 23:17)

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

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


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


> Посчитай количество десятичных знаков всех чисел прибавь
> 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. "


 
sniknik ©   (2004-10-27 23:41) [9]

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

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


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

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

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


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

Defunct ©   (27.10.04 23:48) [10]


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


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


 
Defunct ©   (2004-10-27 23:54) [12]

[11]

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


 
SergP ©   (2004-10-28 02:01) [13]


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


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


 
SergP ©   (2004-10-28 02:03) [14]

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



Страницы: 1 вся ветка

Текущий архив: 2004.11.14;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.058 c
14-1098742878
123
2004-10-26 02:21
2004.11.14
Компьютерная безопасность.


14-1098633883
Nikolay M.
2004-10-24 20:04
2004.11.14
Не подумать ли перебраться в Дубну?


1-1099084457
Ol_G
2004-10-30 01:14
2004.11.14
Какая функция осуществляет перевод кодировки KOI8 в ANSI


1-1098893884
333and
2004-10-27 20:18
2004.11.14
Аналог функции на С++ в Delphi


3-1098064145
sanek
2004-10-18 05:49
2004.11.14
Как решить проблемму с вводом данных в поле string(254)