Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на языке Pascal


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU
(Тестовый режим)

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Pascal

Выпуск № 22
от 23.02.2005, 11:00

Администратор:Калашников О.А.
В номере:Вопросов: 1, Ответов: 3


Вопрос №17173: эээ что-то я тут нажал и вылетел в предыдущее меню, так что не пигайте, если 21 одиникковых вопросы прийдет 1) как узнать максимальные координаты окна? 2)можно ли объявлять прототипы функция и процедур как в Си? 3) я выдел там дерективы {...

Вопрос № 17173
эээ что-то я тут нажал и вылетел в предыдущее меню, так что не пигайте, если 21 одиникковых вопросы прийдет
1) как узнать максимальные координаты окна?
2)можно ли объявлять прототипы функция и процедур как в Си?
3) я выдел там дерективы {include} и {define} а как ими пользоваться?
4)копался значит я вчера в этом паскале (bp.7.0) и загорелось мне сделать программу, которая копирует экран (в текстовом режиме) (см. код)
что не так?
спасибол

Приложение:

Отправлен: 18.02.2005, 10:56
Вопрос задал: ОчХочуНаучиться (статус: Посетитель)
Всего ответов отправлено: 3

Отвечает: Boriss
Здравствуйте, ОчХочуНаучиться!
По приложению: для копирования лучше использовать стандартрную подпрограмму move (вместо цикла)
1) наберите Window - нажмите Ctrl+F1 - в справке ВСЕ есть и как использовать, в том числе
2) нет, Паскаль создавался как язык обучения алгоритмам, по это причине в нем не реализовано многое. Си/Си++/С# - все это языки профессионалов
3) В include нет большой необходимости сейчас. Их использовали, когда возможности компьютеров были скромными. А define - это из Си. Её аналог в Паскале TYPE.
4) см. в приложении - сохраняем, что-то пишем и восстанавливаем

Приложение:

Ответ отправил: Boriss (статус: Профессионал)
Отправлен: 18.02.2005, 12:12

Отвечает: sir henry
Здравствуйте, ОчХочуНаучиться!
1) В модуле CRT есть переменные WindMin и WindMax. В них запрятаны координаты окна, Х У в старшем и младшем байтах.
2) Можно.
Procedure MyProc; forward;
Function MyFunc: boolean; forward;
3) include - включает в Вашу программу текст того файла, который Вы укажете после этой директивы.
define - объявление какого-либо символа, например чтобы при компиляции, в зависимости от него включался или нет какой-либо кусок кода.
4) В TP7, если Вы работаете под Windows, обращение к какому-либо участку физической памяти вызовет ошибку, поэтому там лучше работать через прерывания - они корректно эмулируются в винде.
Лично я делал массив, который содерожал 80х25 ячеек экрана.
array[1..25,1..80,1..2] of byte absolute $b800:0000;
т.е. [Y, X, цвет]
Но под Виндой так можно работать в современных версиях Паскаля, например на FreePascal.
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 18.02.2005, 12:42

Отвечает: Полховский Александр Владимирович
Здравствуйте, ОчХочуНаучиться!
1. В модуле crt есть переменые WindMin и WindMax, в которых и содержатся эти данные(в первом байте X, во втором - Y).
4. Или я чего-то не понимаю, или я всё-таки чего-то не понимаю. А как насчёт того, что 80х25 будет далеко не 255 ? 2000 байт надо, если Вы будете только символы без цвета копировать. Уже не помню, какие там адреса у символов в видео памяти, но, помнится, я пользовался mem. Или ещё чем, но без всяких указателей. Всё напрямую. Так что scrcopy: array [1..2048] of byte, или char, как удобнее.
Ответ отправил: Полховский Александр Владимирович (статус: 7-ой класс)
Отправлен: 18.02.2005, 23:07


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, Россия, Москва. Идея, дизайн, программирование: Калашников О.А.


http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.pasplus
Отписаться

В избранное