Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.033 c
1-1098909229
dms_main
2004-10-28 00:33
2004.11.14
debug DLL


1-1098953333
Mishenka
2004-10-28 12:48
2004.11.14
Правый пункт в MainMenu


14-1098879796
Шишкин Илья
2004-10-27 16:23
2004.11.14
Аналог IntToStr в Turbo Pascal


14-1098544150
Кириешки
2004-10-23 19:09
2004.11.14
Очередное надувательство???


14-1099084497
Alein
2004-10-30 01:14
2004.11.14
SkinMaker_ство.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский