Turbo Pascal FAQ

Здесь будут размещаться ответы на самые популярные вопросы по Турбо Паскалю.

Большие числа

Как выполнить действия над большими числами, которые не умещаются в Longint/Extended?

Длинная арифметика решает эту проблему.

Как сделать цикл с шагом?

const
     step = 10;  { шаг }
     initX = 10;  { начальное значение х }
     finalX = 100; { конечное значение х }
 
var
     x: integer;
 
begin
     writeln;
 
     x := initX;
     while x <= finalX do
     begin
          write (x : 4); { форматированный вывод значений }
          inc (x, step);
     end;
end.
Результат вывода:
  10  20  30  40  50  60  70  80  90 100

Почему VESA-графика не работает в Windows NT/2000/XP?

NT-ядро Windows не позволяет напрямую обращаться к любому оборудованию, как это позволяли версии 95, 98. Выход из положения - перейти на другие компиляторы, в которых поддерживаются данные режимы графики.

Медленные GetImage и PutImage

GetImage и PutImage действуют медленно. Как можно осуществить процесс анимации без мерцания?

Нужно использовать видеостраницы. Используется в анимации: сначала рисовать в памяти (в неактивной странице), а по окончанию отрисовки переключить страницу на активную (отображаемую), тогда анимация будет без мерцания. Подробности в Видеостраница

Как сохранить изображение?

Как скопировать изображение,которое нарисовано с помощью Graph'a, если с помощью PrintScreen'a не получается. А то график не могу в буфер скопировать или в файл.

В разделе Исходники можно найти модули для работы с изображениями для форматов BMP, PCX, …

Вот модуль для сохранения и загрузки в PCX формат: скачать (зарегеным на форуме)

Мерцание мыши

Как в граф. режиме при смене видеостраниц сделать чтобы мышь не мерцала

Перед сменой любых режимов графики и, вообще, графики, нужно скрыть курсор мыши и после смены его снова показать.

Ошибка в модуле Crt

Почему при работе с модулем Crt вылетает с ошибкой «Error 200: division by zero»?

Виновата ошибка в модуле Crt. Она проявляется на компьютерах свыше Pentium 120 MHz. Надо заменить файл TURBO.TPL (30.47 кб).

Вычисления табличных значений функции

Как вычислять значения выражения от x в определённых точках? Допустим, я ввожу x^3+sin(x).

Нужно воспользоваться парсером (анализатором) математических выражений FuncParser.

Дополнительные ссылки

 
pascal/faq.txt · Последнее изменение: d.m.Y H:i — romtek
 
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki