Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Окно со скролингом

Автор: Владимир 17.04.2003 22:59

Помогите пожалуйста с такой задачкой: Делаю программу про БД с фио и оценками студентов. Написал процедуру для текстового режима, которая выводит на экран массив с ФИО студентов и позволяет перемещаться по нему с помощью клавы и выбрать студента. Всё вроде хорошо, но только если кол-во студентов позволяет поместить всё на экран. Как же быть если кол-во элементов массива большое (требуется организовать что-то вроде скроллинга окна). Можно было бы конечно с Turbo Vision но мне требуется БЕЗ него. Подскажите плизз хоть какую нибудь идею.

Автор: Alex 18.04.2003 17:04

Можно посчитать сколько столюбцов влезает на экран (и соответственно строк).
Допустим количество столбцов равно a , а кол-во строк b.
С помощью клавиатуры ты перемещаешься по элементам массива с координатами i,j.
Заведи переменную для того чтобы считать насколько ты превысил a и b.Ну например k и l.

Код
if i>=b then begin
                  l:=i-b;
                  for i:=l to b+l do
                   for j:=1 to a+k
                   begin  
                   {выводишь элементы массива на экран}
                  end;
                  end

if j>=a then begin
                  k:=j-a;
                  for i:=l to b+l do
                    for j:=1 to a+k
                    begin
                   {выводишь элементы массива на экран}
                    end;
                    end


Я думаю приблизительно так можно сделать!

Автор: Владимир 18.04.2003 22:53

Большой Thanks. Буду пробовать.