Форум: "Основная";
Текущий архив: 2004.11.14;
Скачать: [xml.tar.bz2];
ВнизВывод длинной строки Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.036 c