Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи на Pascal/Object Pascal/Free Pascal (Delphi/Lazarus)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

A1exSun



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
int ShowMenu(char **item, int n, int v, int a)
{ // виведення меню
    int i, len;
    int c = 0, j = 0, x = wherex(), y = wherey(), r = 0;
    if (v > n || v <= 0) v = n;
    if (a >= 80) a = 5;
    while(1) {
        gotoxy(x,y); clreos(v);
        for (i = 0; i < v; i++) {
            if (c == i) {
                textbackground(C.TColor);
                textcolor(C.BColor);
            }
            gotoxy(wherex()+a,wherey()); cprintf("%s\r\n",item[i+j]);
            textbackground(C.BColor);
            textcolor(C.TColor);
        }
        switch(getch()) {
            case 72:
                if (c > 0) c--;
                else if (c == 0 && j > 0) j--;
                else { c = v - 1; j = n - v; }
            break;
            case 80:
                if (c + 1 < v) c++;
                else if (j + c + 1 < n) j++;
                else { c = 0; j = 0; }
            break;
            case 13: r = j + c + 1;
            case 27: return r;
        }
    }
}

char **item - массив пунктов меню, int n - их количество, int v - количество видимых, int a - отступ слева

Всего записей: 1871 | Зарегистр. 25-11-2009 | Отправлено: 19:33 03-03-2012 | Исправлено: A1exSun, 20:06 03-03-2012
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи на Pascal/Object Pascal/Free Pascal (Delphi/Lazarus)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru