Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.03.2012, 08:14   #1
GamBitFRK
Пользователь
 
Регистрация: 17.12.2011
Сообщений: 78
По умолчанию Таблица Паскаль

Покажите, пожалуйста, как нарисовать таблицу в паскаль с помощью всевдографики, нужно 3 колонки. из 80 строк в ширину первый где-то 40, второй 15, третий 10

Еще, если можно, покажите, как сделать работу с клавиатурой в этой таблице, т.е. перемещение по строкам, столбцам и ввод текста в 1 колонку
GamBitFRK вне форума Ответить с цитированием
Старый 26.03.2012, 08:49   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Покажите, пожалуйста, как нарисовать таблицу в паскаль с помощью всевдографики, нужно 3 колонки. из 80 строк
думаю, что с этим будут проблемы. Стандартный DOS режим - это 25 строк x 80 символов.
Значит нужно или переключать DOS video в другой режим, либо организовывать скролирование (это достаточно сложно!)

Цитата:
т.е. перемещение по строкам, столбцам и ввод текста в 1 колонку
читать клавиатуру (например, через ReadKey), устанавливать курсор в нужную позицию через GotoXY...


А вообще, для чего это всё? Какую задачу решаете? И почему именно ТурбоПаскаль с его псевдографикой?!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.03.2012, 22:46   #3
GamBitFRK
Пользователь
 
Регистрация: 17.12.2011
Сообщений: 78
По умолчанию

Вообще, это задание по практике, на 4 месяца, большая база данных
GamBitFRK вне форума Ответить с цитированием
Старый 27.03.2012, 00:20   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

А Вы ничего не путаете?
Какое отношение "большая база данных" имеет к "нарисовать таблицу в паскаль с помощью всевдографики" ?!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 27.03.2012, 09:44   #5
TinMan
Форумчанин
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
По умолчанию

Серж, вообще-то все не так плохо, как ты описываешь.. Обычное текстовое окно прекрасно поддерживается стандартным модулем CRT из состава FreePascal (про TP врать не хочу, давно не прикасался к нему, не помню - да и ТС про него не сказал ни слова). Какое окно задашь - столько и получишь строк/символов. Скроллирование такого окна также можно делать нормальными виндусовыми средствами. Так что никаких переключений видеорежимов не требуется.

Далее, псевдографика, несмотря на свою архаичность, все еще в состоянии выполнять свои функции (если следить за кодовой страницей). Рисование сложных (и красивых) таблиц с ее помощью - занятие не для слабонервных, конечно, но есть возможность сильно упростить этот геморрой. Есть код процедурки (сорс на Pascal), который рисует линии и согласовывает в местах пересечений. К сожалению я не могу привести тут ссылку на нее, так как она будет указывать на другой форум, что вряд ли поощряется тут..

Что же касается позиционирования самих данных в таблице - да, тут придется повозиться с gotoXY.. Но можно сбацать функцию для перевода номера ячейки таблицы в экранные координаты (а это и в графике тоже нужно) - и все резко упростится.

Я хочу сказать, что задача в принципе вполне выполнимая. Хотя все же согласен, что лучше делать в Delphi нормальными оконными средствами.

С последним замечанием Сержа я вполне согласен - логической связи тут никакой нет. Выбор средств определяется совсем другим.
Предпочитаю на "ты".
TinMan вне форума Ответить с цитированием
Старый 27.03.2012, 22:33   #6
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,310
По умолчанию

Так думаю, что все еще куда как проще.
Вспоминаем символы I, + и -, которые позволяют рисовать таблцу вида:
+-----------+-----------+----------------------+----+
I ................I................I. .............................I..... .I
+-----------+-----------+----------------------+----+
I ................I................I. .............................I..... .I
+-----------+-----------+----------------------+----+
I ................I................I. .............................I..... .I
+-----------+-----------+----------------------+----+
Символы псевдографики выводятся через #. Например, #186 это ||.
Да, надо подобрать, но если есть хорошая ASCII таблица, то ...
Число позиций в столбцах задается так же очевидным способом:
A:m:n - это для вещественного числа. Следует учесть, что m - число позиций, которое будет занимать число.
Таким образом, делаем заготовки для вывода обрамления, а вывод значений (чисел и строк) выполняем совместно с псевдосимволами.
PS:
80 строк - это явно ошибка. Надо понимать, что это 80 позиций в строке.

Как то так ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Логические операции, таблица истинности (Паскаль) Keti Помощь студентам 2 08.01.2012 10:40
бесконечная таблица заполнить натуральными числами по принципу змейки (Паскаль) ubun Помощь студентам 9 14.11.2011 12:53
Паскаль. Таблица со значениями функции. enji4ka Помощь студентам 16 21.11.2010 12:29
Паскаль. Линейная таблица. vadmaruschak Помощь студентам 1 08.12.2009 16:22