Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
делфи.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
332.8 Кб
Скачать

9.3. Функции

Функция

Назначение

Пример вызова

Значения

eof(file)

условие “конец файла”

if eof(f) then ...

[true; false]

eoln(file)

условие “конец строки”

if eoln(f) then ...

[true; false]

filepos(file)

получить номер позиции для обмена

if filepos(f) > 0 then ...

[0;n]

filesize(file)

получить размер файла [количество записей]

seek(f, filesize(f))

[0;n]

ioresult

номер ошибки ввода-вывода ({$I-})

if ioresult = 0 then ...

[0;n]

10. Специальные операции и типы данных

10.1. Динамические структуры данных

10.1.1. ТИП ДАННЫХ УКАЗАТЕЛЬ. ПЕРЕМЕННАЯ-УКАЗАТЕЛЬ

type тип-указатель = ^тип-переменной;

var переменная-указатель: тип-указатель;

10.1.2. ДИНАМИЧЕСКАЯ ПЕРЕМЕННАЯ. АДРЕС ВЕЛИЧИНЫ.

Переменная-объект

Переменная-указатель (ссылка)

P ^

P

Q

@ Q

10.1.3. ПРИМЕР РАБОТЫ С УКАЗАТЕЛЯМИ. БОЛЬШОЙ ОБЪЕМ ТЕКСТА.

type pstring = ^string;

var a: array [1..1000] of pstring; ....

new(a[1]); readln(a[1]^);

writeln(‘1=‘, a[1]^[1]);

10.1.4. ПРОЦЕДУРЫ ДЛЯ РАБОТЫ С ДИНАМИЧЕСКИМИ ПЕРЕМЕННЫМИ

Процедура

Назначение

Пример вызова

Результат

new(указатель)

создать переменную

new(s)

создана s^

dispose(указатель)

удалить переменную

dispose(a[i])

удалена a[i]^

10.2. ДРУГИЕ СПЕЦИАЛЬНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ

Процедура

(функция)

Назначение

Пример вызова

Результат

sizeof(величина)

размер поля [байт]

sn := sizeof(n)

{n - число integer}

sn = 2

fillchar(a,n,d)

заполнить n байт

поля a значениями d

(d: char или byte)

fillchar(a,sizeof(a),0)

{a - массив чисел типа integer}

все элементы массива равны нулю

move(a,b,n)

передать n байтов

из поля данных a

в поле данных b

move(a, b, sizeof(a))

{a и b - массивы одного типа}

массивы равны

(равны все эле-

менты)

11. Основы машинной графики dos - bgi

11.1. Стандартный модуль (graph)

Пример: uses graph, crt;

11.2. Основные процедуры и функции

Процедура (функция)

Назначение

Пример вызова

Примечания

d := detect

Определить тип гра-фического режима (номер драйвера)

d := detect

d = драйвер экрана (bgi)

(integer)

initgraph(d, m, путь-bgi)

Установить графиче-ский режим экрана

initgraph(d, m,

’c:\bgi’)

m = режим экрана (vga) (integer)

cleardevice

Очистить экран и отменить установки цвета

cleardevice

setcolor(цвет)

Установить цвет линии (рисунка)

setcolor(magenta)

setbkcolor(цвет)

Установить цвет фона (очистки)

setbkcolor(0)

putpixel(x,y,цвет)

Точка (x,y)

putpixel(5, 5, red)

line(x1,y1,x2,y2)

Линия (x1,y1)-(x2,y2)

line(10,10,20,200)

lineto(x,y)

Чертить линию в (x,y)

lineto(100,200)

moveto(x,y)

Вести перо в (x,y)

moveto(nx, ny)

circle(x,y,радиус)

Окружность (x,y,r)

circle(x, y, 20)

arc(x,y,угл1,угл2,радиус)

Дуга окружности (x,y,r) от угла1 до угла2 (радиан)

arc(10,10,0,pi,5)

setfillstyle(s,цвет-заливки)

Установить стиль и цвет заливки

setfillstyle(1,green)

floodfill(x,y,цветграницы)

Залить область с границей (цвет) цветом заливки

floodfill(p,q, 10)

rectangle(x1,y1,x2,y2)

Прямоугольник

(x1,y1)-(x2,y2)

rectangle(2,2,5,10)

bar(x1,y1,x2,y2)

Прямоугольник

(x1,y1)-(x2,y2) с заливкой цвета

bar(2, 2, m, n)

bar3d(x1,y1,x2,y2,z,n)

3-мерный прямоуголь-ник (колонка)

(x1,y1)-(x2,y2)

bar3d(2,2,20,20,

10,true)

z = глубина

n = boolean

true = крыша

колонки

x := getmaxx

макс. граница для x

mx := getmaxx

0..639 (vga)

y := getmaxy

макс. граница для y

my := getmaxy

0..479 (vga)

closegraph

Закрыть графический режим экрана

closegraph