Loadpicture pascal abc ошибка

lordiq

0 / 0 / 0

Регистрация: 18.01.2014

Сообщений: 9

1

19.01.2014, 19:38. Показов 28126. Ответов 4

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

Составил программу,запускай и пишет: Неизвестное имя ‘LoadPicture’

Вот сама программа

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
program upr1a;
uses crt,GraphABC;
var pic:integer;
begin
   SetWindowSize(500,500);
   ClearWindow(clwhite);
   pic:=LoadPicture('a.jpg');
   DrawPicture(pic,10,10,150,200);
   pic:=LoadPicture('b.jpg');
   DrawPicture(pic,170,10,150,200);
   pic:=LoadPicture('c.jpg');
   DrawPicture(pic,330,10,150,200);
end.



0



volvo

Супер-модератор

Эксперт Pascal/DelphiАвтор FAQ

32582 / 21053 / 8131

Регистрация: 22.10.2011

Сообщений: 36,326

Записей в блоге: 8

19.01.2014, 21:10

2

Что-то вот такого типа нужно в PABC.NET:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
program upr1a;
uses GraphABC;
var pic : Picture;
begin
   SetWindowSize(500,500);
   ClearWindow(clwhite);
   pic:=Picture.Create('a.jpg');
   pic.Draw(10,10,150,200);
   pic.Load('b.jpg');
   pic.Draw(170,10,150,200);
   pic.Load('c.jpg');
   pic.Draw(330,10,150,200);
end.



0



MaksaFil

0 / 0 / 0

Регистрация: 24.01.2015

Сообщений: 6

24.01.2015, 14:48

3

PascalABC.net (ПОМОГИТЕ)

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
program otkrytka ;
uses crt , GraphABC ;
var tema , ris:integer ; fzal , fris , s:string ;
begin 
SetWindowSize (600 , 400 );
 write ('Введите номер темы: 1-зима , 2-весна , 3-лето, 4-осень');
read (tema);
 write ('Введите поздравления ');
read (s);
 case tema of
  1:begin fzal:='snow.gif' ; fris:='buratino.gif' end;
 2:begin fzal:='sun.gif' ; fris:='popugai.gif' end;
  3:begin fzal:='daisy.gif' ; fris:='karlson.gif' end;
   4:begin fzal:='list.gif' ; fris:='lisa.gif' end;
   end ;
   clearwindow ;
   SetPenColor (clred);
   Rectangle (0,0,120,400);
   ris:=LoadPicture(fris);
  DrawPicture (ris,380,70,200,320);
 SetBrushStyle(bsClear);
SetFontColor (clgreen);
SetFontSize (34) ;
SetFontStyle (fsBold);
TextOut (60,40,s);
 
end.

ошибка:
otkrytka.pas(19) : Неизвестное имя ‘LoadPicture’



0



Супер-модератор

Эксперт Pascal/DelphiАвтор FAQ

32582 / 21053 / 8131

Регистрация: 22.10.2011

Сообщений: 36,326

Записей в блоге: 8

24.01.2015, 14:56

4

Ну написал же выше, нет LoadPicture в .NET-овской версии, только в обычном PascalABC… И чем заменить — тоже написано…



0



0 / 0 / 0

Регистрация: 24.01.2015

Сообщений: 6

28.01.2015, 00:36

5

Помогите пожалуйста , нужно создать движение <<картинки>> поезда по рельсам в кругу к примеру леса . PascalABC.net на всё про всё 24 часа .



0



Форум мехмата ЮФУ

Загрузка…

program otkrytka ;
uses crt , GraphABC ;
var tema , ris:integer ; fzal , fris , s:string ;
begin 
SetWindowSize (600 , 400 );
 write ('Введите номер темы: 1-зима , 2-весна , 3-лето, 4-осень');
read (tema);
 write ('Введите поздравления ');
read (s);
 case tema of
  1:begin fzal:='snow.gif' ; fris:='buratino.gif' end;
 2:begin fzal:='sun.gif' ; fris:='popugai.gif' end;
  3:begin fzal:='daisy.gif' ; fris:='karlson.gif' end;
   4:begin fzal:='list.gif' ; fris:='lisa.gif' end;
   end ;
   clearwindow ;
   SetPenColor (clred);
   Rectangle (0,0,120,400);
   ris:=LoadPicture(fris);
  DrawPicture (ris,380,70,200,320);
 SetBrushStyle(bsClear);
SetFontColor (clgreen);
SetFontSize (34) ;
SetFontStyle (fsBold);
TextOut (60,40,s);
 
end.

Тема урока Анимация в Pascal ABC. n:= LoadPicture (name) – загружает рисунок из файла с именем name в оперативную память и возвращает описатель рисунка. — презентация

Презентация была опубликована 5 лет назад пользователемНаталия Тимашова

Похожие презентации

Презентация на тему: » Тема урока Анимация в Pascal ABC. n:= LoadPicture (name) – загружает рисунок из файла с именем name в оперативную память и возвращает описатель рисунка.» — Транскрипт:

1 Тема урока Анимация в Pascal ABC

2 n:= LoadPicture (name) – загружает рисунок из файла с именем name в оперативную память и возвращает описатель рисунка в целую переменную n. Если файл не найден, то возникает ошибка времени выполнения. Загружать можно рисунки в формате.bmp,.jpg или.gif. DrawPicture (n, x, y) — выводит рисунок с описателем n в позицию (x,y) графического окна. DrawPicture (n, x, y, w, h) – устанавливает ширину (w) и высоту (h) рисунка SetPictureTransparent(n, true) — устанавливает (b = True) или отключает (b = False) режим прозрачности при рисовании рисунка с описателем n. Если b = True, то при его рисовании фон не отображается. Фоновым считается цвет левого нижнего пиксела рисунка. Sleep(ms) — осуществляет паузу в выполнении программы на ms миллисекунд Использование процедуры перерисовки Redraw позволяет избежать моргания экрана. Действия с рисунком

3 Практическая работа Пусть автомобиль перемещается на фоне здания и деревьев слева направо на расстояние 400 пикселей. Загрузим изображения фона и автомобиля из файлов gorod.gif и avto.jpg, поместив их описатели в переменные fon и avto. Установим прозрачность фона для изображения автомобиля SetPictureTransparent(avto,true). Зададим начальные координаты (х, у), ширину w и высоту h изображения автомобиля. Все переменные имеют тип integer. Процедуры рисования и стирания будем повторять в цикле с предусловием While до тех пор, пока автомобиль не переместится на 400 пикселей. На каждом шаге цикла координату х левого верхнего угла изображения увеличиваем на 10. Ширину уменьшаем на 2, а высоту на 1 пиксель для уменьшения изображения при удалении.

4 program Avto1; uses GraphABC; var fon, avto, x,y, w,h: integer; begin SetWindowSize (600, 300); fon:= LoadPicture (‘город.gif’); avto:= LoadPicture (‘автомобиль.jpg’); SetPictureTransparent (avto, true); x:= 10; y:= 170; w:= 240; h:= 100; while x

5 Практическая работа program babochka; uses Graphabc; var f, b, x, y : integer; begin setwindowsize (450, 550); b:= LoadPicture (‘цветы.jpg’); f:= LoadPicture (‘бабочка.gif’); x:= 10; y:= 350; while x

6 Практическая работа Загрузим изображение циферблата из файла таймер.jpg, поместив описатель в переменную fori. Зададим координаты центра вращения стрелок (хО.уО) и начальные значения секунд sec:=0 и минут min:=0. На каждом шаге цикла с постусловием repeat. until будем увеличивать значение секунд на 1 до тех пор. пока время не превысит 60 мин. или не нажата любая клавиша (keyPressed). Значения минут вычислим целочисленным делением секунд на 60: min:= secdiv60. Секундную стрелку будем рисовать линией длиной 120 и толщиной 3 пикселя, а минутную и 7 пикселей. Радианная мера угла поворота секундной стрелки равна Pi*sec/30. а минутной Pi»min/30. Координаты концов стрелок (х,у) вычисляем по формулам тригонометрии и округляем до целых Например, для секундной стрелки x:=x0+Round

7 Практическая работа Program Timer; uses crt, GraphABC; var fon, x0, y0, x, y, R, min, sec: integer; begin SetWindowSize (360, 480); HideCursor; x0 := 173; y0 := 300; min : =0; sec := 0; fon := LoadPicture (‘таймер.jpg’); repeat DrawPicture (fon, 0, 0); sec := sec + 1; min := sec div 60; x := x0 + Round (120 * sin (Pi * sec / 30)); y := y0 – Round (120 * cos (Pi * sec / 30)); SetPenWidth (3); Line (x0, y0, x, y); x := x0 + Round (100 * sin (Pi * min / 30)); y := y0 – Round (100 * cos (Pi * min / 30)); SetPenWidth (7); Line (x0, y0, x, y); sleep (1000); until (min >= 60) or keyPressed; end. = 60) or keyPressed; end.»>

Loadpicture pascal abc ошибка

Неописанная переменная

Все используемые переменные должны быть предварительно описаны с помощью ключевого слова var (внутри блока begin/end или, что обычно хуже, в разделе описаний вначале программы).

Отсутствующая ;

Очень частая ошибка у начинающих. Курсор, как правило, позиционируется в начале следующей строки.

Несовместимость типов при присваивании

Безболезненно можно присваивать только данные одного типа. Если данные — разных типов, то в редких случаях можно преобразовать данные одного типа в данные другого. Например, целое можно преобразовать в вещественное, а символ — в строку. Обратные преобразования не допускаются.

Чтобы не ошибаться в подобных простых случаях в Паскале есть следующая краткая форма объявления и инициализации переменной:

Отсутствие закрывающего апострофа литеральной строки

Закрыть апостроф надо на той же строке, где расположен открывающий апостроф

Ошибки расстановки запятых и апострофов при выводе строк и выражений

Слишком много запятых и апострофов рядом, потому начинающие часто путаются Надо уяснить правила:

  • запятые разделяют разные элементы вывода
  • все, что находится в апострофах, будет выведено на экран без изменений

Ошибка ввода

Это — ошибка во время выполнения. Программа пытается преобразовать введенную строку в число, не может это сделать и завершается с ошибкой.

Аналогичный фрагмент в более современном и предпочтительном синтаксисе:

Ошибка неинициализированной переменной

Перед использованием любую переменную надо ввести или присвоить ей начальное значение. Это действие называется инициализацией переменной.

Деление на 0

Если во время выполнения программа выполнит деление на 0, то она завершится с ошибкой.

Презентация была опубликована 5 лет назад пользователемНаталия Тимашова

Похожие презентации

Презентация на тему: » Тема урока Анимация в Pascal ABC. n:= LoadPicture (name) – загружает рисунок из файла с именем name в оперативную память и возвращает описатель рисунка.» — Транскрипт:

1 Тема урока Анимация в Pascal ABC

2 n:= LoadPicture (name) – загружает рисунок из файла с именем name в оперативную память и возвращает описатель рисунка в целую переменную n. Если файл не найден, то возникает ошибка времени выполнения. Загружать можно рисунки в формате.bmp,.jpg или.gif. DrawPicture (n, x, y) — выводит рисунок с описателем n в позицию (x,y) графического окна. DrawPicture (n, x, y, w, h) – устанавливает ширину (w) и высоту (h) рисунка SetPictureTransparent(n, true) — устанавливает (b = True) или отключает (b = False) режим прозрачности при рисовании рисунка с описателем n. Если b = True, то при его рисовании фон не отображается. Фоновым считается цвет левого нижнего пиксела рисунка. Sleep(ms) — осуществляет паузу в выполнении программы на ms миллисекунд Использование процедуры перерисовки Redraw позволяет избежать моргания экрана. Действия с рисунком

3 Практическая работа Пусть автомобиль перемещается на фоне здания и деревьев слева направо на расстояние 400 пикселей. Загрузим изображения фона и автомобиля из файлов gorod.gif и avto.jpg, поместив их описатели в переменные fon и avto. Установим прозрачность фона для изображения автомобиля SetPictureTransparent(avto,true). Зададим начальные координаты (х, у), ширину w и высоту h изображения автомобиля. Все переменные имеют тип integer. Процедуры рисования и стирания будем повторять в цикле с предусловием While до тех пор, пока автомобиль не переместится на 400 пикселей. На каждом шаге цикла координату х левого верхнего угла изображения увеличиваем на 10. Ширину уменьшаем на 2, а высоту на 1 пиксель для уменьшения изображения при удалении.

4 program Avto1; uses GraphABC; var fon, avto, x,y, w,h: integer; begin SetWindowSize (600, 300); fon:= LoadPicture (‘город.gif’); avto:= LoadPicture (‘автомобиль.jpg’); SetPictureTransparent (avto, true); x:= 10; y:= 170; w:= 240; h:= 100; while x

5 Практическая работа program babochka; uses Graphabc; var f, b, x, y : integer; begin setwindowsize (450, 550); b:= LoadPicture (‘цветы.jpg’); f:= LoadPicture (‘бабочка.gif’); x:= 10; y:= 350; while x

6 Практическая работа Загрузим изображение циферблата из файла таймер.jpg, поместив описатель в переменную fori. Зададим координаты центра вращения стрелок (хО.уО) и начальные значения секунд sec:=0 и минут min:=0. На каждом шаге цикла с постусловием repeat. until будем увеличивать значение секунд на 1 до тех пор. пока время не превысит 60 мин. или не нажата любая клавиша (keyPressed). Значения минут вычислим целочисленным делением секунд на 60: min:= secdiv60. Секундную стрелку будем рисовать линией длиной 120 и толщиной 3 пикселя, а минутную и 7 пикселей. Радианная мера угла поворота секундной стрелки равна Pi*sec/30. а минутной Pi»min/30. Координаты концов стрелок (х,у) вычисляем по формулам тригонометрии и округляем до целых Например, для секундной стрелки x:=x0+Round

7 Практическая работа Program Timer; uses crt, GraphABC; var fon, x0, y0, x, y, R, min, sec: integer; begin SetWindowSize (360, 480); H ); repeat DrawPicture (fon, 0, 0); sec := sec + 1; min := sec div 60; x := x0 + Round (120 * sin (Pi * sec / 30)); y := y0 – Round (120 * cos (Pi * sec / 30)); SetPenW >= 60) or keyPressed; end. = 60) or keyPressed; end.»>

Материалы к урокам информатики, алгоритмики и программирования.
Чтобы просмотреть задание и материалы с урока, выберите ваш предмет!

Главная

понедельник, 20 апреля 2015 г.

Графический модуль PascalABC

SetPixel(x,y,color) – закрашивает один пиксел с координатами (x,y) цветом color ;
GetPixel(x,y) – возвращает текущее значение цвета для пиксела с координатами (x,y) ;
Line(x1,y1,x2,y2) – рисует отрезок с началом в точке (x1,y1) и концом в точке (x2,y2) ;
Rectangle(x1,y1,x2,y2) – рисует прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2) ;
Ellipse(x1,y1,x2,y2) – рисует эллипс, заданный своим описанным прямоугольником с координатами противоположных вершин (x1,y1) и (x2,y2) ;
RoundRect(x1,y1,x2,y2,w,h) – рисует прямоугольник со скругленными краями; (x1,y1) и (x2,y2) задают пару противоположных вершин, а w и h – ширину и высоту эллипса, используемого для скругления краев;
Circle(x,y,r) – рисует окружность с центром в точке (x,y) и радиусом r ;
Arc(x,y,r,a1,a2) – рисует дугу окружности с центром в точке (x,y) и радиусом r , заключенной между двумя лучами, образующими углы a1 и a2 с осью OX ( a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки);
Pie(x,y,r,a1,a2) – рисует сектор окружности, ограниченный дугой (параметры процедуры имеют тот же смысл, что и в процедуре Arc );
Chord(x,y,r,a1,a2) – рисует фигуру, ограниченную дугой окружности и отрезком, соединяющим ее концы (параметры процедуры имеют тот же смысл, что и в процедуре Arc );
MoveTo(x,y) – передвигает невидимое перо к точке с координатами (x,y) ; эта функция работает в паре с функцией LineTo(x,y) ;
LineTo(x,y) – рисует отрезок от текущего положения пера до точки (x,y) ; координаты пера при этом также становятся равными (x,y) ;
TextOut(x,y,s) – выводит строку s в позицию (x,y) (точка (x,y) задает верхний левый угол прямоугольника, который будет содержать текст из строки s );
FloodFill(x,y,c) – заливает область одного цвета цветом c , начиная с точки (x,y) ;
FillRect(x1,y1,x2,y2) – заливает прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2) , цветом текущей кисти;

Polygon(a,n) – строит ломаную по n точкам, координаты которых заданы в массиве a элементов типа TPoint ;
Polyline(a,n) – строит замкнутую ломаную по n точкам, координаты которых заданы в массиве a элементов типа TPoint .

Работа с графикой в PascalABC

После запуска PascalABC, по умолчанию, запускается текстовый режим. Для работы с графикой служит отдельное графическое окно.

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

С их помощью можно создавать разнообразные графические изображения и сопровождать их текстовыми надписями.

Подключение осуществляется в разделе описаний.
Формат подключения модуля GraphABC:Uses GraphABC;

Графический экран PascalABC (по умолчанию) содержит 640 точек по горизонтали и 400 точек по вертикали. Начало отсчета – левый верхний угол экрана. Ось x направлена вправо, а ось y –вниз. Координаты исчисляются в пикселях.

Все команды библиотеки GraphABC являются подпрограммами и описаны в виде процедур и функций. Для того, что бы команда выполнилась необходимо указать команду и задать значения параметров.

Управление графическим окном

Процедуры рисования графических примитивов

Процедуры, используемые для работы с цветом

Процедуры для работы с текстом

Цвета в PascalABC

Пример графической программы, рисующей изображение дома:

Рисунок в PascalABC

Программа, рисующая фигурку:

Практическая работа за компьютером

Задание 1. Определите координаты и составьте программу, выводящую на экран рисунк дома и дерева.


Программа будет иметь вид:

Задание 2. Используя оператор цикла и введя переменную для пересчета координат по оси x, постройте «поселок», состоящий из 5 домов. Внесите соответствующие дополнения и изменения в предыдущую программу.

Весь наш «поселок» выстроился вдоль горизонтальной оси экрана — оси X. Построение рисунка начинается с левого верхнего угла стены первого дома — точки с координатами (100, 50). Координата Y не изменяется. Чтобы начать рисовать второй домик, нужно координату X увеличить на 150 (50 точек — ширина первого дома и 100 точек — расстояние между домиками).

Выберем в качестве параметра цикла целочисленную переменную X.
Для всех элементов нашего рисунка абсолютное значение координаты X заменим на относительное. Например, для стены дома процедура для рисования запишется следующим образом:

Сформулируем условие выполнения цыклических действий для нашей задачи.Какие координаты имеет левый верхний угол пятого дома? Конечное значение выбранного нами параметра цикла x = 700. Тогда условие выполнения цикла записывается так: x Да

Loadpicture pascal abc ошибка

Эта программа на подобие PAINT.

procedure keydown(key: integer);
begin

if key=Vk_up then S:=S+1;
if key=Vk_down then S:=S-1;

if key=Vk_left then A:=A-1;
if key=Vk_right then A:=A+1;

if A=0 then A:=A+1;
if A=11 then A:=A-1;

if S=0 then S:=S+1;
if S=10 then S:=S-1;

end;
procedure MouseDown(x,y,mb: integer);
begin
MoveTo(x,y);
end;
procedure MouseMove(x,y,mb: integer);
begin

if S=1 then begin setbrushcolor(clwhite); circle(7,7,12); setpencolor(clblack); setbrushcolor(clblack); circle(7,7,A); end;
if S=2 then begin setbrushcolor(clwhite); circle(7,7,12); setpencolor(clgreen); setbrushcolor(clgreen); circle(7,7,A); end;
if S=3 then begin setbrushcolor(clwhite); circle(7,7,12); setpencolor(clred); setbrushcolor(clred); circle(7,7,A); end;
if S=4 then begin setbrushcolor(clwhite); circle(7,7,12); setpencolor(clblue); setbrushcolor(clblue); circle(7,7,A); end;
if S=5 then begin setbrushcolor(clwhite); circle(7,7,12); setpencolor(clyellow); setbrushcolor(clyellow); circle(7,7,A); end;
if S=6 then begin setbrushcolor(clwhite); circle(7,7,12); setpencolor(clbrown); setbrushcolor(clbrown); circle(7,7,A); end;
if S=7 then begin setbrushcolor(clwhite); circle(7,7,12); setpencolor(clsilver); setbrushcolor(clsilver); circle(7,7,A); end;
if S=8 then begin setbrushcolor(clwhite); circle(7,7,12); setpencolor(clpurple); setbrushcolor(clpurple); circle(7,7,A); end;
if S=9 then begin setbrushcolor(clwhite); circle(7,7,12); setpencolor(cllime); setbrushcolor(cllime); circle(7,7,A); end;

if mb=1 then circle(X,Y,A);
setbrushcolor(clwhite);
setpencolor(clwhite);
if mb=2 then circle(X,Y,A);
end;
begin
gotoxy(1,2);
write(‘меняйте цвет стрелками на клавиатуре вверх и вниз. стирать пкм, рисовать лкм.’);
gotoxy(5,1);
write(‘менять размер кисти стрелками влево и вправо.’);

Onkeydown:=keyDown;
OnMouseDown:=MouseDown;
OnMouseMove:=MouseMove
end.

Это оооочень сырая версия игры PAC MAN. но может-быть кому-то сойдёт за образец.

program pakman;
uses graphABC,events,ABCObjects,crt;

A,B,i:integer; // кординаты для перемещения

SPeed:integer; // скорость перемещения пакмана

AA:rectangleABC; //препятствия, стены и т.д.

L : integer; //жизни

K : integer; //ключи

procedure keydown(key: integer);
begin

if key=Vk_up then A:=A-speed;
if key=Vk_down then A:=A+speed;

if key=Vk_left then B:=B-speed;
if key=Vk_right then B:=B+speed;

if B>485 then B:=B-485; // X
if B 370 then A:=A-370; // Y
if A 100 then begin writeln(‘СЛИШКОМ БОЛЬШОЕ ЧИСЛО! ИНТЕРВАЛ: от 0 до 100’); T:=T+1; end;
if C C then writeln(‘нет, я загадала число побольше. ‘) else T:=T-1;
if B C then writeln(‘-1 жизнь’);
if B 280 then A:=A-SPEED;

if B 480 then B:=B-SPEED;

/////////////////////////////////////////
line(0,0,0,300);
line(20,0,20,300);
line(40,0,40,300);
line(60,0,60,300);
line(80,0,80,300);
line(100,0,100,300);
line(120,0,120,300);
line(140,0,140,300);
line(160,0,160,300);
line(180,0,180,300);
line(200,0,200,300);
line(220,0,220,300);
line(240,0,240,300);
line(260,0,260,300);
line(280,0,280,300);
line(300,0,300,300);
line(320,0,320,300);
line(340,0,340,300);
line(360,0,360,300);
line(380,0,380,300);
line(400,0,400,300);
line(420,0,420,300);
line(440,0,440,300);
line(460,0,460,300);
line(480,0,480,300);
line(0,20,500,20);
line(0,40,500,40);
line(0,60,500,60);
line(0,80,500,80);
line(0,100,500,100);
line(0,120,500,120);
line(0,140,500,140);
line(0,160,500,160);
line(0,180,500,180);
line(0,200,500,200);
line(0,220,500,220);
line(0,240,500,240);
line(0,260,500,260);
line(0,280,500,280);
line(0,300,500,300);
textout(480,283,’ F ‘);
setbrushcolor(clyellow);
textout(0,385,’кординаты: ‘);
gotoxy(11,25);
write(B,’ ‘,A);
/////////////////////////////////////////

Сообщения об ошибках периода выполнения Free Pascal

Invalid function number

Неправильный номер функции

Ошибка в задании пути

Too many open files

Слишком много открытых файлов

File access denied

Доступ к файлу запрещен

Invalid file handle

Файловая переменная повреждена

Invalid file access code

Ошибка в задании режима открытия файла

Invalid drive number

Ошибка в задании номера диска

Cannot remove current directory

Попытка удалить текущий каталог

Cannot rename across drives

Недопустимая попытка переименовать диски

Disk read error

Ошибка при чтении с диска (обычно при попытке чтения после EOF)

Disk write error

Ошибка при записи на диск

(обычно при переполнении диска)

File not assigned

Вы забыли выполнить оператор Assign

Обращение к файлу, который не был открыт

File not open for input

Обращение к файлу, который не был открыт для чтения

File not open for output

Обращение к файлу, который не был открыт для вывода

Invalid numeric format

Из текстового файла считано нечисловое значение

Disk is write-protected

Запись на диск запрещена

Bad drive request struct length

Ошибка в запросе к диску

Drive not ready

Устройство не готово

CRC error in data

Ошибка чтения (несовпадение контрольной суммы)

Disk seek error

Ошибка при поиске записи

Unknown media type

Неопознанный носитель информации

Sector Not Found

Сектор не найден

Printer out of paper

В принтере кончилась бумага

Device write fault

Техническая ошибка при записи

Device read fault

Техническая ошибка при чтении

Обращение к неподключенному устройству

Division by zero

Range check error

Индекс массива или значение переменной вне диапазона

Stack overflow error

Heap overflow error

Invalid pointer operation

Ошибочная операция с указателем (обычно при освобождении памяти с нулевым значением указателя)

Floating point overflow

Переполнение в операции с плавающей запятой

Floating point underflow

Исчезновение порядка в операции с плавающей запятой

Invalid floating point operation

Ошибка при выполнении операции с плавающей запятой (обычно при задании недопустимого аргумента стандартной функции)

Object not initialized

Попытка выполнить операцию над объектом, который не был инициализирован

Call to abstract method

Недопустимая попытка обращения к абстрактному методу

Stream registration error

При регистрации объекта в модуле встречен недопустимый тип данных

Collection index out of range

Индекс коллекции вне диапазона

Collection overflow error

Попытка добавить новый элемент к коллекции, заполненной до предельного размера

Arithmetic overflow error

Арифметическое переполнение (результат операции выходит за пределы допустимого диапазона)

General Protection fault

Попытка обращения к памяти, находящейся

за пределами ресурсов, выделенных приложению (в том числе и попытка обращения к данным по нулевому указателю)

Unhandled exception occurred

Возникновение непредусмотренного исключительного события

Тема урока Анимация в Pascal ABC. n:= LoadPicture (name) – загружает рисунок из файла с именем name в оперативную память и возвращает описатель рисунка. — презентация

Презентация была опубликована 5 лет назад пользователемНаталия Тимашова

Похожие презентации

Презентация на тему: » Тема урока Анимация в Pascal ABC. n:= LoadPicture (name) – загружает рисунок из файла с именем name в оперативную память и возвращает описатель рисунка.» — Транскрипт:

1 Тема урока Анимация в Pascal ABC

2 n:= LoadPicture (name) – загружает рисунок из файла с именем name в оперативную память и возвращает описатель рисунка в целую переменную n. Если файл не найден, то возникает ошибка времени выполнения. Загружать можно рисунки в формате.bmp,.jpg или.gif. DrawPicture (n, x, y) — выводит рисунок с описателем n в позицию (x,y) графического окна. DrawPicture (n, x, y, w, h) – устанавливает ширину (w) и высоту (h) рисунка SetPictureTransparent(n, true) — устанавливает (b = True) или отключает (b = False) режим прозрачности при рисовании рисунка с описателем n. Если b = True, то при его рисовании фон не отображается. Фоновым считается цвет левого нижнего пиксела рисунка. Sleep(ms) — осуществляет паузу в выполнении программы на ms миллисекунд Использование процедуры перерисовки Redraw позволяет избежать моргания экрана. Действия с рисунком

3 Практическая работа Пусть автомобиль перемещается на фоне здания и деревьев слева направо на расстояние 400 пикселей. Загрузим изображения фона и автомобиля из файлов gorod.gif и avto.jpg, поместив их описатели в переменные fon и avto. Установим прозрачность фона для изображения автомобиля SetPictureTransparent(avto,true). Зададим начальные координаты (х, у), ширину w и высоту h изображения автомобиля. Все переменные имеют тип integer. Процедуры рисования и стирания будем повторять в цикле с предусловием While до тех пор, пока автомобиль не переместится на 400 пикселей. На каждом шаге цикла координату х левого верхнего угла изображения увеличиваем на 10. Ширину уменьшаем на 2, а высоту на 1 пиксель для уменьшения изображения при удалении.

4 program Avto1; uses GraphABC; var fon, avto, x,y, w,h: integer; begin SetWindowSize (600, 300); fon:= LoadPicture (‘город.gif’); avto:= LoadPicture (‘автомобиль.jpg’); SetPictureTransparent (avto, true); x:= 10; y:= 170; w:= 240; h:= 100; while x

5 Практическая работа program babochka; uses Graphabc; var f, b, x, y : integer; begin setwindowsize (450, 550); b:= LoadPicture (‘цветы.jpg’); f:= LoadPicture (‘бабочка.gif’); x:= 10; y:= 350; while x

6 Практическая работа Загрузим изображение циферблата из файла таймер.jpg, поместив описатель в переменную fori. Зададим координаты центра вращения стрелок (хО.уО) и начальные значения секунд sec:=0 и минут min:=0. На каждом шаге цикла с постусловием repeat. until будем увеличивать значение секунд на 1 до тех пор. пока время не превысит 60 мин. или не нажата любая клавиша (keyPressed). Значения минут вычислим целочисленным делением секунд на 60: min:= secdiv60. Секундную стрелку будем рисовать линией длиной 120 и толщиной 3 пикселя, а минутную и 7 пикселей. Радианная мера угла поворота секундной стрелки равна Pi*sec/30. а минутной Pi»min/30. Координаты концов стрелок (х,у) вычисляем по формулам тригонометрии и округляем до целых Например, для секундной стрелки x:=x0+Round

7 Практическая работа Program Timer; uses crt, GraphABC; var fon, x0, y0, x, y, R, min, sec: integer; begin SetWindowSize (360, 480); HideCursor; x0 := 173; y0 := 300; min : =0; sec := 0; fon := LoadPicture (‘таймер.jpg’); repeat DrawPicture (fon, 0, 0); sec := sec + 1; min := sec div 60; x := x0 + Round (120 * sin (Pi * sec / 30)); y := y0 – Round (120 * cos (Pi * sec / 30)); SetPenWidth (3); Line (x0, y0, x, y); x := x0 + Round (100 * sin (Pi * min / 30)); y := y0 – Round (100 * cos (Pi * min / 30)); SetPenWidth (7); Line (x0, y0, x, y); sleep (1000); until (min >= 60) or keyPressed; end. = 60) or keyPressed; end.»>

Неописанная переменная

Все используемые переменные должны быть предварительно описаны с помощью ключевого слова var (внутри блока begin/end или, что обычно хуже, в разделе описаний вначале программы).

Отсутствующая ;

Очень частая ошибка у начинающих. Курсор, как правило, позиционируется в начале следующей строки.

Несовместимость типов при присваивании

Безболезненно можно присваивать только данные одного типа. Если данные — разных типов, то в редких случаях можно преобразовать данные одного типа в данные другого. Например, целое можно преобразовать в вещественное, а символ — в строку. Обратные преобразования не допускаются.

Чтобы не ошибаться в подобных простых случаях в Паскале есть следующая краткая форма объявления и инициализации переменной:

Отсутствие закрывающего апострофа литеральной строки

Закрыть апостроф надо на той же строке, где расположен открывающий апостроф

Ошибки расстановки запятых и апострофов при выводе строк и выражений

Слишком много запятых и апострофов рядом, потому начинающие часто путаются Надо уяснить правила:

  • запятые разделяют разные элементы вывода
  • все, что находится в апострофах, будет выведено на экран без изменений

Ошибка ввода

Это — ошибка во время выполнения. Программа пытается преобразовать введенную строку в число, не может это сделать и завершается с ошибкой.

Аналогичный фрагмент в более современном и предпочтительном синтаксисе:

Ошибка неинициализированной переменной

Перед использованием любую переменную надо ввести или присвоить ей начальное значение. Это действие называется инициализацией переменной.

Деление на 0

Если во время выполнения программа выполнит деление на 0, то она завершится с ошибкой.

Презентация была опубликована 5 лет назад пользователемНаталия Тимашова

Похожие презентации

Презентация на тему: » Тема урока Анимация в Pascal ABC. n:= LoadPicture (name) – загружает рисунок из файла с именем name в оперативную память и возвращает описатель рисунка.» — Транскрипт:

1 Тема урока Анимация в Pascal ABC

2 n:= LoadPicture (name) – загружает рисунок из файла с именем name в оперативную память и возвращает описатель рисунка в целую переменную n. Если файл не найден, то возникает ошибка времени выполнения. Загружать можно рисунки в формате.bmp,.jpg или.gif. DrawPicture (n, x, y) — выводит рисунок с описателем n в позицию (x,y) графического окна. DrawPicture (n, x, y, w, h) – устанавливает ширину (w) и высоту (h) рисунка SetPictureTransparent(n, true) — устанавливает (b = True) или отключает (b = False) режим прозрачности при рисовании рисунка с описателем n. Если b = True, то при его рисовании фон не отображается. Фоновым считается цвет левого нижнего пиксела рисунка. Sleep(ms) — осуществляет паузу в выполнении программы на ms миллисекунд Использование процедуры перерисовки Redraw позволяет избежать моргания экрана. Действия с рисунком

3 Практическая работа Пусть автомобиль перемещается на фоне здания и деревьев слева направо на расстояние 400 пикселей. Загрузим изображения фона и автомобиля из файлов gorod.gif и avto.jpg, поместив их описатели в переменные fon и avto. Установим прозрачность фона для изображения автомобиля SetPictureTransparent(avto,true). Зададим начальные координаты (х, у), ширину w и высоту h изображения автомобиля. Все переменные имеют тип integer. Процедуры рисования и стирания будем повторять в цикле с предусловием While до тех пор, пока автомобиль не переместится на 400 пикселей. На каждом шаге цикла координату х левого верхнего угла изображения увеличиваем на 10. Ширину уменьшаем на 2, а высоту на 1 пиксель для уменьшения изображения при удалении.

4 program Avto1; uses GraphABC; var fon, avto, x,y, w,h: integer; begin SetWindowSize (600, 300); fon:= LoadPicture (‘город.gif’); avto:= LoadPicture (‘автомобиль.jpg’); SetPictureTransparent (avto, true); x:= 10; y:= 170; w:= 240; h:= 100; while x

5 Практическая работа program babochka; uses Graphabc; var f, b, x, y : integer; begin setwindowsize (450, 550); b:= LoadPicture (‘цветы.jpg’); f:= LoadPicture (‘бабочка.gif’); x:= 10; y:= 350; while x

6 Практическая работа Загрузим изображение циферблата из файла таймер.jpg, поместив описатель в переменную fori. Зададим координаты центра вращения стрелок (хО.уО) и начальные значения секунд sec:=0 и минут min:=0. На каждом шаге цикла с постусловием repeat. until будем увеличивать значение секунд на 1 до тех пор. пока время не превысит 60 мин. или не нажата любая клавиша (keyPressed). Значения минут вычислим целочисленным делением секунд на 60: min:= secdiv60. Секундную стрелку будем рисовать линией длиной 120 и толщиной 3 пикселя, а минутную и 7 пикселей. Радианная мера угла поворота секундной стрелки равна Pi*sec/30. а минутной Pi»min/30. Координаты концов стрелок (х,у) вычисляем по формулам тригонометрии и округляем до целых Например, для секундной стрелки x:=x0+Round

7 Практическая работа Program Timer; uses crt, GraphABC; var fon, x0, y0, x, y, R, min, sec: integer; begin SetWindowSize (360, 480); H ); repeat DrawPicture (fon, 0, 0); sec := sec + 1; min := sec div 60; x := x0 + Round (120 * sin (Pi * sec / 30)); y := y0 – Round (120 * cos (Pi * sec / 30)); SetPenW >= 60) or keyPressed; end. = 60) or keyPressed; end.»>

Материалы к урокам информатики, алгоритмики и программирования.
Чтобы просмотреть задание и материалы с урока, выберите ваш предмет!

Главная

понедельник, 20 апреля 2015 г.

Графический модуль PascalABC

SetPixel(x,y,color) – закрашивает один пиксел с координатами (x,y) цветом color ;
GetPixel(x,y) – возвращает текущее значение цвета для пиксела с координатами (x,y) ;
Line(x1,y1,x2,y2) – рисует отрезок с началом в точке (x1,y1) и концом в точке (x2,y2) ;
Rectangle(x1,y1,x2,y2) – рисует прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2) ;
Ellipse(x1,y1,x2,y2) – рисует эллипс, заданный своим описанным прямоугольником с координатами противоположных вершин (x1,y1) и (x2,y2) ;
RoundRect(x1,y1,x2,y2,w,h) – рисует прямоугольник со скругленными краями; (x1,y1) и (x2,y2) задают пару противоположных вершин, а w и h – ширину и высоту эллипса, используемого для скругления краев;
Circle(x,y,r) – рисует окружность с центром в точке (x,y) и радиусом r ;
Arc(x,y,r,a1,a2) – рисует дугу окружности с центром в точке (x,y) и радиусом r , заключенной между двумя лучами, образующими углы a1 и a2 с осью OX ( a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки);
Pie(x,y,r,a1,a2) – рисует сектор окружности, ограниченный дугой (параметры процедуры имеют тот же смысл, что и в процедуре Arc );
Chord(x,y,r,a1,a2) – рисует фигуру, ограниченную дугой окружности и отрезком, соединяющим ее концы (параметры процедуры имеют тот же смысл, что и в процедуре Arc );
MoveTo(x,y) – передвигает невидимое перо к точке с координатами (x,y) ; эта функция работает в паре с функцией LineTo(x,y) ;
LineTo(x,y) – рисует отрезок от текущего положения пера до точки (x,y) ; координаты пера при этом также становятся равными (x,y) ;
TextOut(x,y,s) – выводит строку s в позицию (x,y) (точка (x,y) задает верхний левый угол прямоугольника, который будет содержать текст из строки s );
FloodFill(x,y,c) – заливает область одного цвета цветом c , начиная с точки (x,y) ;
FillRect(x1,y1,x2,y2) – заливает прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2) , цветом текущей кисти;

Polygon(a,n) – строит ломаную по n точкам, координаты которых заданы в массиве a элементов типа TPoint ;
Polyline(a,n) – строит замкнутую ломаную по n точкам, координаты которых заданы в массиве a элементов типа TPoint .

Работа с графикой в PascalABC

После запуска PascalABC, по умолчанию, запускается текстовый режим. Для работы с графикой служит отдельное графическое окно.

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

С их помощью можно создавать разнообразные графические изображения и сопровождать их текстовыми надписями.

Подключение осуществляется в разделе описаний.
Формат подключения модуля GraphABC:Uses GraphABC;

Графический экран PascalABC (по умолчанию) содержит 640 точек по горизонтали и 400 точек по вертикали. Начало отсчета – левый верхний угол экрана. Ось x направлена вправо, а ось y –вниз. Координаты исчисляются в пикселях.

Все команды библиотеки GraphABC являются подпрограммами и описаны в виде процедур и функций. Для того, что бы команда выполнилась необходимо указать команду и задать значения параметров.

Управление графическим окном

Процедуры рисования графических примитивов

Процедуры, используемые для работы с цветом

Процедуры для работы с текстом

Цвета в PascalABC

Пример графической программы, рисующей изображение дома:

Рисунок в PascalABC

Программа, рисующая фигурку:

Практическая работа за компьютером

Задание 1. Определите координаты и составьте программу, выводящую на экран рисунк дома и дерева.


Программа будет иметь вид:

Задание 2. Используя оператор цикла и введя переменную для пересчета координат по оси x, постройте «поселок», состоящий из 5 домов. Внесите соответствующие дополнения и изменения в предыдущую программу.

Весь наш «поселок» выстроился вдоль горизонтальной оси экрана — оси X. Построение рисунка начинается с левого верхнего угла стены первого дома — точки с координатами (100, 50). Координата Y не изменяется. Чтобы начать рисовать второй домик, нужно координату X увеличить на 150 (50 точек — ширина первого дома и 100 точек — расстояние между домиками).

Выберем в качестве параметра цикла целочисленную переменную X.
Для всех элементов нашего рисунка абсолютное значение координаты X заменим на относительное. Например, для стены дома процедура для рисования запишется следующим образом:

Сформулируем условие выполнения цыклических действий для нашей задачи.Какие координаты имеет левый верхний угол пятого дома? Конечное значение выбранного нами параметра цикла x = 700. Тогда условие выполнения цикла записывается так: x Да

Loadpicture pascal abc ошибка

Эта программа на подобие PAINT.

procedure keydown(key: integer);
begin

if key=Vk_up then S:=S+1;
if key=Vk_down then S:=S-1;

if key=Vk_left then A:=A-1;
if key=Vk_right then A:=A+1;

if A=0 then A:=A+1;
if A=11 then A:=A-1;

if S=0 then S:=S+1;
if S=10 then S:=S-1;

end;
procedure MouseDown(x,y,mb: integer);
begin
MoveTo(x,y);
end;
procedure MouseMove(x,y,mb: integer);
begin

if S=1 then begin setbrushcolor(clwhite); circle(7,7,12); setpencolor(clblack); setbrushcolor(clblack); circle(7,7,A); end;
if S=2 then begin setbrushcolor(clwhite); circle(7,7,12); setpencolor(clgreen); setbrushcolor(clgreen); circle(7,7,A); end;
if S=3 then begin setbrushcolor(clwhite); circle(7,7,12); setpencolor(clred); setbrushcolor(clred); circle(7,7,A); end;
if S=4 then begin setbrushcolor(clwhite); circle(7,7,12); setpencolor(clblue); setbrushcolor(clblue); circle(7,7,A); end;
if S=5 then begin setbrushcolor(clwhite); circle(7,7,12); setpencolor(clyellow); setbrushcolor(clyellow); circle(7,7,A); end;
if S=6 then begin setbrushcolor(clwhite); circle(7,7,12); setpencolor(clbrown); setbrushcolor(clbrown); circle(7,7,A); end;
if S=7 then begin setbrushcolor(clwhite); circle(7,7,12); setpencolor(clsilver); setbrushcolor(clsilver); circle(7,7,A); end;
if S=8 then begin setbrushcolor(clwhite); circle(7,7,12); setpencolor(clpurple); setbrushcolor(clpurple); circle(7,7,A); end;
if S=9 then begin setbrushcolor(clwhite); circle(7,7,12); setpencolor(cllime); setbrushcolor(cllime); circle(7,7,A); end;

if mb=1 then circle(X,Y,A);
setbrushcolor(clwhite);
setpencolor(clwhite);
if mb=2 then circle(X,Y,A);
end;
begin
gotoxy(1,2);
write(‘меняйте цвет стрелками на клавиатуре вверх и вниз. стирать пкм, рисовать лкм.’);
gotoxy(5,1);
write(‘менять размер кисти стрелками влево и вправо.’);

Onkeydown:=keyDown;
OnMouseDown:=MouseDown;
OnMouseMove:=MouseMove
end.

Это оооочень сырая версия игры PAC MAN. но может-быть кому-то сойдёт за образец.

program pakman;
uses graphABC,events,ABCObjects,crt;

A,B,i:integer; // кординаты для перемещения

SPeed:integer; // скорость перемещения пакмана

AA:rectangleABC; //препятствия, стены и т.д.

L : integer; //жизни

K : integer; //ключи

procedure keydown(key: integer);
begin

if key=Vk_up then A:=A-speed;
if key=Vk_down then A:=A+speed;

if key=Vk_left then B:=B-speed;
if key=Vk_right then B:=B+speed;

if B>485 then B:=B-485; // X
if B 370 then A:=A-370; // Y
if A 100 then begin writeln(‘СЛИШКОМ БОЛЬШОЕ ЧИСЛО! ИНТЕРВАЛ: от 0 до 100’); T:=T+1; end;
if C C then writeln(‘нет, я загадала число побольше. ‘) else T:=T-1;
if B C then writeln(‘-1 жизнь’);
if B 280 then A:=A-SPEED;

if B 480 then B:=B-SPEED;

/////////////////////////////////////////
line(0,0,0,300);
line(20,0,20,300);
line(40,0,40,300);
line(60,0,60,300);
line(80,0,80,300);
line(100,0,100,300);
line(120,0,120,300);
line(140,0,140,300);
line(160,0,160,300);
line(180,0,180,300);
line(200,0,200,300);
line(220,0,220,300);
line(240,0,240,300);
line(260,0,260,300);
line(280,0,280,300);
line(300,0,300,300);
line(320,0,320,300);
line(340,0,340,300);
line(360,0,360,300);
line(380,0,380,300);
line(400,0,400,300);
line(420,0,420,300);
line(440,0,440,300);
line(460,0,460,300);
line(480,0,480,300);
line(0,20,500,20);
line(0,40,500,40);
line(0,60,500,60);
line(0,80,500,80);
line(0,100,500,100);
line(0,120,500,120);
line(0,140,500,140);
line(0,160,500,160);
line(0,180,500,180);
line(0,200,500,200);
line(0,220,500,220);
line(0,240,500,240);
line(0,260,500,260);
line(0,280,500,280);
line(0,300,500,300);
textout(480,283,’ F ‘);
setbrushcolor(clyellow);
textout(0,385,’кординаты: ‘);
gotoxy(11,25);
write(B,’ ‘,A);
/////////////////////////////////////////

Сообщения об ошибках периода выполнения Free Pascal

Invalid function number

Неправильный номер функции

Ошибка в задании пути

Too many open files

Слишком много открытых файлов

File access denied

Доступ к файлу запрещен

Invalid file handle

Файловая переменная повреждена

Invalid file access code

Ошибка в задании режима открытия файла

Invalid drive number

Ошибка в задании номера диска

Cannot remove current directory

Попытка удалить текущий каталог

Cannot rename across drives

Недопустимая попытка переименовать диски

Disk read error

Ошибка при чтении с диска (обычно при попытке чтения после EOF)

Disk write error

Ошибка при записи на диск

(обычно при переполнении диска)

File not assigned

Вы забыли выполнить оператор Assign

Обращение к файлу, который не был открыт

File not open for input

Обращение к файлу, который не был открыт для чтения

File not open for output

Обращение к файлу, который не был открыт для вывода

Invalid numeric format

Из текстового файла считано нечисловое значение

Disk is write-protected

Запись на диск запрещена

Bad drive request struct length

Ошибка в запросе к диску

Drive not ready

Устройство не готово

CRC error in data

Ошибка чтения (несовпадение контрольной суммы)

Disk seek error

Ошибка при поиске записи

Unknown media type

Неопознанный носитель информации

Sector Not Found

Сектор не найден

Printer out of paper

В принтере кончилась бумага

Device write fault

Техническая ошибка при записи

Device read fault

Техническая ошибка при чтении

Обращение к неподключенному устройству

Division by zero

Range check error

Индекс массива или значение переменной вне диапазона

Stack overflow error

Heap overflow error

Invalid pointer operation

Ошибочная операция с указателем (обычно при освобождении памяти с нулевым значением указателя)

Floating point overflow

Переполнение в операции с плавающей запятой

Floating point underflow

Исчезновение порядка в операции с плавающей запятой

Invalid floating point operation

Ошибка при выполнении операции с плавающей запятой (обычно при задании недопустимого аргумента стандартной функции)

Object not initialized

Попытка выполнить операцию над объектом, который не был инициализирован

Call to abstract method

Недопустимая попытка обращения к абстрактному методу

Stream registration error

При регистрации объекта в модуле встречен недопустимый тип данных

Collection index out of range

Индекс коллекции вне диапазона

Collection overflow error

Попытка добавить новый элемент к коллекции, заполненной до предельного размера

Arithmetic overflow error

Арифметическое переполнение (результат операции выходит за пределы допустимого диапазона)

General Protection fault

Попытка обращения к памяти, находящейся

за пределами ресурсов, выделенных приложению (в том числе и попытка обращения к данным по нулевому указателю)

Unhandled exception occurred

Возникновение непредусмотренного исключительного события

Модуль GraphABC содержит константы, типы, процедуры и функции для
рисования в графическом окне

Графические примитивы

SetPixel(x,y,color) – закрашивает
один пиксел с координатами (x,y) цветом color;

GetPixel(x,y) – возвращает текущее значение цвета для пиксела с
координатами (x,y);
Line(x1,y1,x2,y2) – рисует отрезок с началом в точке
(x1,y1) и концом в точке (x2,y2);
Rectangle(x1,y1,x2,y2) – рисует прямоугольник, заданный
координатами противоположных вершин (x1,y1) и
(x2,y2);
Ellipse(x1,y1,x2,y2) – рисует эллипс, заданный своим описанным
прямоугольником с координатами противоположных вершин (x1,y1) и
(x2,y2);
RoundRect(x1,y1,x2,y2,w,h) – рисует прямоугольник со
скругленными краями; (x1,y1) и (x2,y2) задают пару
противоположных вершин, а w и h – ширину и высоту
эллипса, используемого для скругления краев;
Circle(x,y,r) – рисует окружность с центром в точке
(x,y) и радиусом r;
Arc(x,y,r,a1,a2) – рисует дугу окружности с центром в точке
(x,y) и радиусом r, заключенной между двумя лучами,
образующими углы a1 и a2 с осью OX
(a1 и a2 – вещественные, задаются в градусах и
отсчитываются против часовой стрелки);
Pie(x,y,r,a1,a2) – рисует сектор окружности, ограниченный дугой
(параметры процедуры имеют тот же смысл, что и в процедуре Arc);

Chord(x,y,r,a1,a2) – рисует фигуру, ограниченную дугой
окружности и отрезком, соединяющим ее концы (параметры процедуры имеют тот же
смысл, что и в процедуре Arc);
MoveTo(x,y) – передвигает невидимое перо к точке с координатами
(x,y); эта функция работает в паре с функцией
LineTo(x,y);
LineTo(x,y) – рисует отрезок от текущего положения пера до точки
(x,y); координаты пера при этом также становятся равными
(x,y);
TextOut(x,y,s) – выводит строку s в позицию
(x,y) (точка (x,y) задает верхний левый угол
прямоугольника, который будет содержать текст из строки s);
FloodFill(x,y,c) – заливает область одного цвета цветом
c, начиная с точки (x,y);
FillRect(x1,y1,x2,y2) – заливает прямоугольник, заданный
координатами противоположных вершин (x1,y1) и (x2,y2),
цветом текущей кисти;

Polygon(a,n) – строит ломаную по n точкам,
координаты которых заданы в массиве a элементов типа
TPoint ;
Polyline(a,n) – строит замкнутую ломаную
по n точкам, координаты которых заданы в массиве a
элементов типа TPoint .

Функции для работы с цветом

RGB(r,g,b) – возвращает целое
значение, являющееся кодом цвета, который содержит красную, зеленую и синюю
составляющие с интенсивностями r, g и b
соответственно (r, g и b – целые в
диапазоне от 0 до 255, причем, 0 соответствует минимальной интенсивности, 255 –
максимальной).
GetRed(color)– выделяет красную составляющую из цвета
color (целое в диапазоне от 0 до 255);

GetGreen(color)– выделяет зеленую составляющую из цвета
color (целое в диапазоне от 0 до 255);

GetBlue(color) – выделяет синюю составляющую из цвета
color (целое в диапазоне от 0 до 255).

Стандартные цвета

clBlack – черный
clPurple – фиолетовый

clWhite – белый
clMaroon – темно-красный

clRed
– красный
clNavy – темно-синий

clGreen – зеленый
clBrown – коричневый

clBlue
– синий
clSkyBlue – голубой

clYellow – желтый

   clCream – кремовый
clAqua – бирюзовый

clOlive – оливковый
clFuchsia – сиреневый

clTeal – сине-зеленый
clGray – серый

clLime – ярко-зеленый
clLightGray
светло-серый
clMoneyGreen – цвет зеленых денег

clDarkGray – темно-серый

Действия с пером

PenX, PenY – возвращают
текущие координаты пера;

SetPenColor(color) – устанавливает цвет пера, задаваемый
параметром color;
PenColor – возвращает текущий цвет пера;
SetPenWidth(w) – устанавливает ширину пера, равную
w пикселам;
PenWidth – возвращает текущую ширину пера;
SetPenStyle(ps) – устанавливает стиль пера, задаваемый
параметром ps;
PenStyle – возвращает текущий стиль пера;

Стили пера задаются следующими именованными
константами:

psSolid Сплошная линия
psClear  Нет линии
psDash Пунктирная линия
psDot Мелкий пунктир
psDashDot  «Точка — тире»
psDashDotDot «Две точки — тире»

SetPenMode(m) – устанавливает режим пера, задаваемый параметром
m;
PenMode – возвращает текущий режим пера. Режим пера
определяет, как цвет пера взаимодействует с цветом поверхности.

Режимы пера задаются следующими
именованными константами:

pmCopy – обычный режим; при рисовании цвет поверхности
заменяется цветом пера;

pmNot – режим инвертирования; при рисовании цвет поверхности
инвертируется (становится негативным), а цвет пера при этом
игнорируется.

Действия с кистью

SetBrushColor(color) – устанавливает цвет
кисти, задаваемый параметром color;
BrushColor – возвращает текущий цвет кисти;

SetBrushPicture(fname) – устанавливает в качестве образца для
закраски кистью образец, хранящийся в файле fname, при этом текущий
цвет кисти при закраске игнорируется;

ClearBrushPicture – очищает рисунок-образец, выбранный для
кисти;

SetBrushStyle(bs) – устанавливает стиль кисти, задаваемый
параметром bs;

BrushStyle – возвращает текущий стиль кисти.

Стили кисти задаются следующими
именованными константами:

bsSolid Сплошая заливка   bsCross В клеточку
bsClear Нет заливки   bsDiagCross  Диагональная клеточка
bsHorizontal Горихонтальная штриховка   bsBDiagonal Диагональная штриховка
bsVertical Вертикальная штриховка   bsFDiagonal Диагональная штриховка

Действия со шрифтом

SetFontColor(color) – устанавливает цвет шрифта;

FontColor – возвращает  текущий цвет шрифта;

SetFontSize(sz) – устанавливает  размер шрифта в пунктах;

FontSize – возвращает  текущий размер шрифта в пунктах;

SetFontName(s) – устанавливает  наименование шрифта;

FontName – возвращает  текущее наименование шрифта;

По умолчанию установлен шрифт, имеющий наименование MS Sans
Serif
.
Наиболее распространенные шрифты – это Times New
Roman
, Arial и Courier New.
Наименование
шрифта можно набирать без учета регистра.

SetFontStyle(fs) – устанавливает  стиль шрифта;

FontStyle – возвращает  текущий стиль шрифта;

Стили шрифта задаются следующими именованными константами:

fsNormal – обычный;

fsBold – жирный;

fsItalic – наклонный;

fsBoldItalic – жирный наклонный;

fsUnderline – подчеркнутый;

fsBoldUnderline – жирный подчеркнутый;

fsItalicUnderline – наклонный подчеркнутый;

fsBoldItalicUnderline – жирный наклонный подчеркнутый.

TextWidth(s) – возвращает ширину сроки s в пикселях
при текущих настройках шрифта;

TextHeight(s) – возвращает высоту сроки s в
пикселях при текущих настройках шрифта

Действия с графическим окном

ClearWindow – очищает
графическое окно кистью белого цвета;

WindowWidth – возвращает ширину графического окна;
WindowHeight – возвращает высоту графического окна;
WindowLeft – возвращает отступ графического окна от левого края
экрана;
WindowTop – возвращает отступ графического окна от верхнего края
экрана;
WindowCaption – возвращает заголовок графического окна;
SetWindowWidth(w) – устанавливает ширину графического окна;
SetWindowHeight(h) – устанавливает высоту графического окна;

SetWindowLeft(l) – устанавливает отступ графического окна от
левого края экрана;
SetWindowTop(t) – устанавливает отступ графического окна от
верхнего края экрана;
SetWindowSize(w,h) – устанавливает ширину и высоту графического
окна;
SetWindowPos(l,t) – устанавливает отступ графического окна от
левого и верхнего края экрана;
SetWindowCaption(s) – устанавливает заголовок графического окна;

SaveWindow(fname) – сохраняет содержимое графического окна в
файл с именем fname;
LoadWindow(fname) – выводит в графическое окно рисунок из файла
с именем fname;
CloseWindow – закрывает графическое окно.

Все размеры устанавливаются и возвращаются в пикселах.

Функция LoadWindow может загружать лишь файлы формата
bmp.

Функция SaveWindow сохраняет рисунок в файле формата bmp с 256
цветами.

Действия с рисунками

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

n:=LoadPicture(fname) – загружает рисунок из файла с именем
fname в оперативную память и возвращает описатель рисунка в целую
переменную n; если файл не найден, то возникает ошибка времени
выполнения;

DrawPicture(n,x,y) – выводит рисунок с описателем n
в позицию (x,y) графического окна;

DestroyPicture(n) – удаляет рисунок с описателем n
из оперативной памяти, описатель рисунка при этом становится
недействительным;

PictureWidth(n) – возвращает ширину рисунка с описателем
n;

PictureHeight(n) – возвращает высоту рисунка с описателем
n;

Понравилась статья? Поделить с друзьями:
  • Loadperf ошибка код ошибки 3002
  • Loadperf 3011 ошибка
  • Loadout ошибка 0004 131007 steam временно недоступен
  • Loadout код ошибки 0004 131077
  • Loading operating system как исправить ошибку