HOME ПРИМЕРЫ THANKS НОВИЧКАМ ДОКИ LINKS JavaScript Mail | |||
| |||
|
Turbo Pascal Documentation | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Функция: Позволяет пользователю выдавать запрос о коор- динатах последней команды Аrс. Описание: GetArcCoords(var координаты: ArcCoordsType) Примечания: Данная процедура возвращает переменную типа CoordType, который является предописанным и определен следу- ющим образом: type ArcCoordsType : Х,Y : integer; Хнач, Yнач, Хкон, Yкон : word; end; Процедура GetArcCoords возвращает переменную, содержа- щую точку центра (Х,Y), начальную позицию (Хнач,Yнач) и ко- нечную позицию (Хкон,Yкон) последней команды Аrс. Эти значе- ния могут быть полезными, если вы хотите, например, провести прямую, начинающуюся от конца дуги. Ограничения: Должен использоваться графический режим. Прочее: См. также процедуры Arc, Ellipse, PieSlice, PieSliseXY. Пример: var ArcCoords : ArcCoordsType; begin ... Arc(100,100,0,89,30); GetArcCoords(ArcCoorsType); MoveTo(100,100); with ArcCoords do Line(Xstart, Ystart, Xend, Yend); ... end.
Функция: Возвращает действующую разрешающую способность графического экрана, с помощью которого можно вычислить ко- эффициент относительного удлиннения (Хк,Yк). Описание: GetAspectRatio(var Хк, Yк : word) Примечания: Для каждого драйвера и графического режима имеется связанный с ним коэффициент относительного удлинне- ния (частное от деления максимального разрешения по y на максимальное разрешение по x). Это отношение можно вычислить путем обращения к процедуре GetAspectRatio и последующего деления параметра Хк на параметр Yк. Это отношение использу- ется при вычерчивании окружностей, дуг и закруглений. Аналогичная процедура имеется в версии 2.0 Турбо-Си. Ограничения: Должен использоваться графический режим. Прочее: См. также процедуры Arc, Circle, GetMaxX, GetMaxY, PieSlice, SetAspectRatio. Пример: var Xasp, Yasp : word; XSideLength, YSideLength : integer; begin ... GetAspectRatio(Xasp,Yasp); XSideLength := 20; { выровнять длину по Y в соответствии с коэфициентом относительного удлиннения } YSideLength := Round((Xasp/Yasp)*XSideLength); { нарисовать на экране "квадратный" прямоугольник } Rectangle(0,0,XSideLength,YSideLength); ... end.
Функция: Возвращает текущее значение фонового цвета. Описание: GetBkColor Тип результата: Слово (word). Примечания: Фоновый цвет может принимать значения в ди- апазоне от 0 до 15 (в зависимости от текущего графического драйвера и текущего графического режима). Если запись 0 палитры была изменена обращением к проце- дурам SetPalette или SetAllPalette, то функция GetBkColor будет возвращать значение 0. Аналогичная процедура имеется в версии 2.0 Турбо-Си. Ограничения: Должен использоваться графический режим. Прочее: См. также процедуры GetColor, GetPalette, Init- Graph, SetAllPalette, SetBkColor, SetColor, SetPalette. Пример: uses Graph; var GraphDriver, GraphMode : integer; Color : word; begin GraphDriver := Detect; InitGraph(GraphDriver,GraphMode,''); if GraphResult <> grOk then Halt(1); Randomize; repeat Color := Succ(GetBkColor); if Color > PaletteSize then Color := 0; SetBkColor(Color); LineTo(Random(GetMaxX), Random(GetMaxY)); until False; { для выхода нажмите ^Break } end.
Функця: Возвращает состояние Ctrl-Break, которое прове- ряется операционной системой ДОС. Описание: GetCBreak(var Break: boolean) Примечания: Данная процедура возварщает состояние Ctrl-Break, проверяемое в ДОС. В выключенном состоянии (False) ДОС проверяет Ctrl-Break только при выводе на кон- соль, устройство печати или в коммуникационные порты. Во включенном состоянии (True) проверки делаются при каждом об- ращении к системе. Прочее: См. также функцию SetCBreak.
Функция: Возвращает текущее значение основного цвета, установленное при предыдущем успешном обращении к процедуре SetColor. Описание: GetColor Тип результата: Слово (word). Примечания: Если данная процедура возвращает значение 0, то это означает, что текущим цветом, используемым для вы- черчивания, является первый цвет палитры. Основной цвет мо- жет принимать значения от 0 до 15, в зависимости от текущего графического режима и графического драйвера. Аналогичная функция имеется в версии 2.0 Турбо-Си. Ограничения: Должен использоваться графический режим. Прочее: См. также процедуры GetBkColor, GetPalette, In- itGraph, SetAllPelette, SetColor, SetPalette. Пример: var GraphDriver, GraphMode : integer; Color : word; begin GraphDriver := Detect; InitGraph(GraphDriver,GraphMode,''); Randomize; repeat Color := Succ(GetBkColor); if Color > PaletteSize then Color := 0; SetBkColor(Color); LineTo(Random(GetMaxX), Random(GetMaxY)); until False; { для выхода нажмите ^Break } end.
Функция: Возвращает текущую дату, установленную в опе- рационной системе. Описание: GetDate(var год, месяц, число, день_недели : word) Примечания: Возвращаемые значения имеют следующие диа- пазоны: "год" - 1980..2099, "месяц" - 1..12, "число" 1..31, "день_недели" - 0..6 (где значение 0 соответствует воскресе- нью). Прочее: См. также процедуры SetDate, GetTime, SetTime.
Функция: Возвращает запись описания паплитры. Описание: GetDefaultPalette(var палитра: PaletteType) Примечания: Данная функция возвращает запись PaletteType, содержащую палитру, инициализированную драйве- ром при вызове процедуры InitGraph. const MaxColors = 15; type PaletteType = record Size : byte; Colors : array[0..MaxColor] of shortint; end; Аналогичная фукнция имеется в версии 2.0 Турбо-Си. Ограничения: Должен использоваться графический режим. Прочее: См. также функции InitGraph, GetPalette, Se- tAllPalette, SetPalette. Пример: uses Crt, Graph; var Driver, Mode, i : integer; MyPal, OldPal : PletteType; begin DirectVideo := false; Randomize; Driver := Detect; { перевести в граический режим } InitGraph(Driver, Mode, ''); if GraphResult < 0 then Halt(1); GetDefultPalette(OldPal); { сохранить старую палитру } MyPal := OldPal; { скопировать и изменить } { вывести инормацию на экран } for i = 0 to MyPal.Size - 1 do begin GetColor(i); OutTextXY(10, i * 10, '...нажмите любую клавишу...'); end; repeat { менять палтру, пока нажата клавиша } with MyPl do Colors[Random(Size)] := Random(Size + 1); SetAllPalette(MyPal); until KeyPressed; SetAllPalette(OldPal); { восстановить исходную палитру } ClearDevice; OutTextXY(10, 10, 'Нажмите RETURN...') ReadLn; CloseGraph; end. Процедура GetDirФункция: Возвращает текущий каталог на заданном диске. Описание: GetDir(d : byte; var s : string) Примечания: Параметр d представляет собой выражение це- лого типа, а s - переменную строкового типа. Значение теку- щего каталога на диске, заданного параметром d, возвращается в переменной s. Значение d = 0 указывает на текущий диско- вод, 1 - задает дисковод А, 2 - В и т.д. При указании директивы компилятора {I-} функция IORеsult будет возвращать значение 0 в том случае, если опе- рация завершилась успешно, и ненулевой код ошибки в против- ном случае. Прочее: См. также процедуры ChDir, MkDir, RmDir.
Функция: Возвращает строку, содержащую имя текущего драйвера. Описание: GetDriverName Тип результата: Строковый (string). Примечания: После обращения к InitGraph данная функция возвращает имя активного драйвера. Аналогчная функция имеется в версии 2.0 Турбо-Си. Ограничения: Должен использоваться графический режим. Прочее: См. также функцию InitGraph. Пример: uses Graph; var Driver, Mode : integer; begin Driver := Detect; { перевести в графический режим } InitGraph(Driver, Mode, ''); if GraphResult < 0 then Halt(1); OutText('Используется драйвер ' + GetDriverName); ReadLn; CloseGraph; end.
Функция: Возвращает значение заданной переменной опера- ционной среды. Описание: GetEnv(перем_среды : string) Примечания: Функция GetEnv возвращает значение заданной переменной. Имя переменной может указываться как строчными, так и прописными буквами, но оно не должно включать в себя знак равенства (=). Если заданная переменная операционной среды не существует, то функция GetEnv возвращает пустую строку. Более подробная информация об операционной среде ДОС содержится в справочных руководствах по ДОС. Прочее: См. также функции EnvCount, EnvStr. Пример: {M 8192,0,0} uses Dos; var Command: string[79]; begin Write('Ввведите команду ДОС: '); ReadLn(Command); if Command <> '' then Command := '/C/ + Command; SwapVectors; Exec(GetEnv(COMSPEC'), Command); SwapVectors; if DosError <> 0 then Writeln('Нельзя выполнить COMMAND.COM'); end.
Функция: Возвращает атрибуты файла. Описание: GetAttr(var f; var атриб : byte) Примечания: Параметр f должнен представляеть собой фай- ловую переменную (соответствующую типизованному, нетипизо- ванному или текстовому файлу) для которого должно быть вы- полнено присваивание файловой переменой, но который не дол- жен быть открыт. Проверка атрибутов выполняется путем срав- нения их с масками, заданными в виде констант в модуле Dos: const { константы атрибутов файла } ReadOnly = 01; { только чтение } Hidden = 02; { "скрытый" файл } SysFile = 04; { системный файл } VolumeId = 08; { идентификатор тома } Directory = 10; { каталог } Archive = 20; { архивизация } AnyFile = 3F; { прочий файл } Коды ошибок можно получить с помощью функции DosError. Возможными кодами ошибок являются код 3 (недопустимый мар- шрут) и код 5 (файл недоступен). Ограничения: Файл f не должен быть открыт. Прочее: См. также процедуры SetFAttr, GetFAttr, SetF- Time. Пример: uses Dos; var f : file; attr : byte; begin { получить из командной строки имя файла } Assign(f, ParamStr(1)); GetFAttr(f, attr); Writeln(ParamStr(1)); ifDosError <> 0 then Writeln('Код ошибки ДОС = ', DosError) else begin Writeln('Атрибут = ', attr); { определить тип атрибута файла с помощью флагов в модуле Dos } if attr and ReadOnly <> 0 then Writeln('Файл доступен только по чтению'); if attr and Hidden <> 0 then Writeln('"Скрытый" файл'); if attr and SysFile <> 0 then Writeln('Системный файл'); if attr and VolumeId <> 0 then Writeln('Идентификатор тома'); if attr and Directory <> 0 then Writeln('Каталог'); if attr and Archive <> 0 then Writeln('Архивизируемый (обычный) файл'); end; { else } end.
Функция: Возвращает текущий образец заполнителя, задан- ный последним обращением к процедуре SetFillPattern. Описание: GetFillPattern(var образец_заполнителя: Fill- PatternType) Примечания: Тип FillPatternType описан в модуле Graph: type FillPatternType = array[1..8] of byte; Если пользователь не обращался к процедуре SetFillPattern, то процедура GetFillPattern возвратит мас- сив, заполеннный FF. Аналогичная процедура имеется в версии 2.0 Турбо-Си. Ограничения: Должен использоваться графический режим. Прочее: См. также процедуры SetFillPattern, GetFillSet- tings.
Функция: Позволяет выдавать запрос о текущем типе за- полнителя и его цвете, которые установлены процедурами Set- FillStyle или SetFillPattern. Описание: GetFillSetings(var информ_заполн : FillSettingsType) Примечания: Данная процедура возвращает переменную типа FillSettingsType, который описывается в модуле Graph следую- щим образом: type FillSettingsType = record Pattern : word; { тип } Color : word; { цвет } end; Поле Pattern содержит выбранный в качестве текущего тип заполнителя. Поле Color содержит выбранный в качестве теку- щего цвет закраски. И образец, и цвет закраски можно изме- нить путем обращения к процедурам SetFillStyle и SetFillPat- tern. Ограничения: Должен использоваться графический режим. Прочее: См. также процедуры FillPoly, SetFillStyle, SetFillPattern. Пример: var FillInfo : FillSttingsType; CurPattern, CurColor : word; begin ... GetFillSettings(FillInfo); CurPattern := FillInfo.Pattern; CurColort := FillInfo.Color; ... end.
Функция: Возвращает дату и время последней записи фай- ла. Описание: GetFTime(var f; var время) Примечания: Параметр f должнен представляеть собой фай- ловую переменную (соответствующую типизованному, нетипизо- ванному или текстовому файлу) для которого должно быть вы- полнено присваивание файловой переменной, но который не дол- жен быть открыт. Значение времени, возвращаемое в параметре "время", может быть распаковано путем обращения к процедуре UnpackTime. Коды ошибок можно получить с помощью функции DosError. Единственным возможным кодом ошибки является код 6 (недопустимая обработка файла). Ограничения: Файл должен быть открыт. Прочее: См. также процедуры SetFTime, PackTime, UnPack- Time. ----------------------------------------------------------- Функция GetGraphMode Модуль Graph ----------------------------------------------------------- Функция: Возвращает текущий графический режим. Описание: GetGraphMode Примечания: Данная процедура возвращает текущий графи- ческий режим, установленный с помощью процедур InitGraph и SetGraphMode. Значения режима представляет собой целое число в диапазоне от 0 до 5 и зависит от текущего драйвера. Определены следующие константы режима: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Графический Имя Значение Столбцов Палитра Страниц драйвер константы х строк - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CGA CGAC0 0 320x200 C0 1 CGAC1 1 320x200 C1 1 CGAC2 2 320x200 C2 1 CGAC3 3 320x200 C3 1 CGAHi 4 640x200 2 цвета 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - MCGA MCGAC0 0 320x200 C0 1 MCGAC1 1 320x200 C1 1 MCGAC2 2 320x200 C2 1 MCGAC3 3 320x200 C3 1 MCGAMed 4 640x200 2 цвета 1 EGA EGALo 0 640x200 16 цветов 1 ЗЙДКк 1 640щ350 16 цветов 2 ЗЙД64 ЗЙД64Ор 0 640щ200 16 цветов 1 ЗЙД64Кк 1 640щ350 4 цвета 1 EGA- EGAMonoHi 3 640x350 2 цвета 1* MONO EGAMonoHi 3 640x350 2 цвета 1** HERC HercMonoHi 0 720x348 2 цвета 2 ATT400 ATT400C0 0 320x200 C0 1 ATT400C1 1 320x200 C1 1 ATT400C2 2 320x200 C2 1 ATT400C3 3 320x200 C3 1 ATT400Med 4 640x200 2 цвета 1 ATT400Hi 5 640x200 2 цвета 1 VGA VGALo 0 640x200 16 цветов 2 VGAMed 1 640x350 16 цветов 2 VGAHi 2 640x480 16 цветов 1 PC3270 PC3270Hi 0 640x200 2 цвета 1 8514 IBM8514Lo 0 640x480 256 цветов 1 8514 IBM8514Hi 0 1024x768 256 цветов 1 * - 64К на плате EGAMono ** - 256К на плате EGAMomo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Аналогичная процедура имеется в версии 2.0 Турбо-Си. Ограничения: Должен использоваться графический режим. Прочее: См. также процедуры ClearDevice, DetectGraph, InitGraph, RestoreCrtMode, SetGraphMode. Пример: uses Graph; var Gd, Gm : integer; Mode : integer; begin Gd := Detect; InitGraph(Gd, Gm, ''); if GraphResult <> grOk then Halt(1); OutText('Для выхода из средств графики нажмите RETURN:'); Readln; RestoreCRTMode; Writeln('Теперь вы в текстовом режиме'); Writeln('Для перехода в графический режим нажмите RETURN'); Readln; SetGraphMode(GetGraphMode); OutTextXY(0, 0, 'Вы снова в графическом режиме'); OutTextXY(0, TextHeight('H'), 'Для выхода нажмите RETURN'); Readln; CloseGraph; end.
Функция: Сохраняет в буфере двоичный образ заданной об- ласти экрана. Описание: GetImage(х1, у1, х2, у2, : word; var бит_масс) Примечания: Параметры х1, у1, х2, у2 определяют прямоу- гольную область экрана. Параметр "бит_масс" является нетипи- зованным параметром, который должен быть больше или равен 4, плюс размер памяти, отведенный для области экрана. Первые два слова параметра "бит_масс" зарезервированы для ширины и высоты области экрана: width := x2 - x1 + 1; { ширина } heignt := y2 - y1 + 1; { высота } Оставшаяся часть параметра "бит_масс" используется для сохранения самого двоичного образа. Для определения размера памяти, необходимой для параметра "бит_масс", используйте фунцию ImageSize. Ограничения: Должен использоваться графический режим. Прочее: См. также процедуры ImageSize, PutImage. Пример: var P : pointer; Size : word; Gd, Gm : pointer; begin Gd := Detect; InitGraph(Gd, Gm, ''); if GraphResult <> grOk then Halt(1); Bar(0, 0, GetMaxX, GetMaxY); Size := ImageSize(10,20,30,40); GetMem(p,Size); { выделить память в динамически распределяемой области } GetImage(10,20,30,40,p^); Readln; ClearDevice; PutImage(100, 100, P^, NormalPut); Readln; CloseGraph; end.
Функция: Возвращает адрес указанного вектора прерыва- ний. Описание: GetIntVec( ном_прерыв : byte; вектор : pointer) Примечания: Параметр "ном_прерыв" задает номер вектора прерывания (от 0 до 255), а его адрес возвращается в пара- метре "вектор". Прочее: См. также процедуру SetIntVec.
Функция: Возвращает текущий тип линии, образец линии и ее толщину, установленные процедурой SetLineStyle. Описание: GetLineStyle(var LineInfo : LineSettingsType) Примечания: Определены следующие константы и типы: type LineSettingsType = record LineStyle : word; Pattern : word; Thickness : word; end; const { типы линий } SolidLn = 0; DottedLn = 1; CenterLn = 2; DashedLn = 3; UserBitLn = 4; { тип линии, заданный пользователем } { толщина линии } NormWidth = 1; { обычная линия } ThickWidth = 3; { жирная линия } Ограничения: Должен использоваться графический режим. Прочее: См. также процедуру SetLineStyle. Пример: var LineInfo : LineSettingsType; begin ... GetLineSettings(LineInfo); CurStyle := LineInfo.LineStyle; CurPattern := LineInfoPattern; CurWidth := LineInfo.Thickness; ... end.
Функция: Возвращает наибольшее значение цвета, которое можно передать процедуре SetColor. Описание: GetMaxColor Тип результата: Слово (word). Примечания: Например, при использовании адаптера EGA с 256К функция GetMaxColor всегда возвращает значение 15. Это означает, что допускается любое обращение к процедуре SetColor со значением от 0 до 15. При использовании адаптера CGA в режиме с высоким разрешением или монохроматического адаптера Hercules, поскольку эти адаптеры поддерживают толь- ко значения основного цвета 0 или 1, процедура GetMaxColor возвращает значение 1. Аналогичная процедура имеется в версии 2.0 Турбо-Си. Ограничения: Должен использоваться графический режим. Прочее: См. также процедуру SetColor.
Функция: Возвращает для текущего загруженного драйвера максимальное значение номера режима. Описание: GetMaxMode Тип результата: Слово (word). Примечания: Данная функция позволяет вам непосредствен- но из драйвера найти для текущего драйвера максимальное зна- чение номера режима. (Ранее единственный способ, с помощью которого вы могли получить это значение, состоял в использо- вании процедуры GetModeRange. Теперь эта процедура также поддерживается, но только для драйверов фирмы Борланд.) Зна- чение, возвращаемое функцией GetMaxMode, представляет собой максимальное значение, которое можно передать процедуре SetGraphMode. В каждом драйвере поддерживаются режимы 0..GetMaxMode. Аналогичная процедура имеется в версии 2.0 Турбо-Си. Ограничения: Должен использоваться графический режим. Прочее: См. также процедуры GetModeRange, SetGraphMode. Пример: uses Graph; var Driver, Mode : integer; i : integer; begin Driver := Detect; { перевести в графический режим } InitGraph(Driver, Mode, ''); if GraphResult < 0 then Halt(1); for i := 0 to GetMaxMode do { вывести на экран все названия режимов } OutTextXY(10, 10 * Succ(i), GetModeName(i)); Readln; CloseGraph; end.
Функция: Возвращает для текущего графического режима и драйвера самый правый столбец (разрешение по х). Описание: GetMaxX Тип результата: Целый (integer). Примечания: Возвращает для текущего графического режима и драйвера максимальное значение х. В режиме 320х200 СGА, например, данная процедура будет возвращать значение 319. Процедуры GetМахХ и GetМахY чрезвычайно полезны для центрирования, определения границ области экрана и т.д. Ограничения: Должен использоваться графический режим. Прочее: См. также процедуры GetMaxY, GetX, GetY, Move- To. Пример: uses Graph; var Driver, Mode : integer; i : integer; begin Driver := Detect; { перевести в графический режим } InitGraph(Driver, Mode, ''); if GraphResult < 0 then Halt(1); Rectangle(0,0,GetMaxX,GetMexY); { нарисовать полную рамку экрана } Readln; CloseGraph; end.
Функция: Возвращает для текущего графического режима и драйвера самую нижнюю строку (разрешение по y). Описание: GetMaxY Тип результата: Целый (integer). Примечания: Возвращает для текущего графического режима и драйвера максимальное значение y. В режиме 320х200 СGА, например, данная процедура будет возвращать значение 199. Процедуры GetМахХ и GetМахY чрезвычайно полезны для центровки, определения границ области экрана и т.д. Ограничения: Должен использоваться графический режим. Прочее: См. также процедуры GetMxX, GetX, GetY, MoveTo. Пример: uses Graph; var Driver, Mode : integer; i : integer; begin Driver := Detect; { перевести в графический режим } InitGraph(Driver, Mode, ''); if GraphResult < 0 then Halt(1); Rectangle(0,0,GetMaxX,GetMexY); { нарисовать полную рамку экрана } Readln; CloseGraph; end. Процедура GetMemФункция: Создает новую динамическую переменную указан- ного размера и помещает адрес блока в переменную-указатель. Описание: GetMem(var р : роinter; размер : word) Примечания: Параметр р является переменной-указателем и может относится к любому типу указателей. Параметр "размер" имеет длину в слово и задает размер (в байтах) области памя- ти, выделяемой для динамической переменной. На вновь создан- ную переменную можно ссылаться с помощью р. Если для выделения памяти под новую динамическую пере- менную в динамически распределяемой области недостаточно свободной памяти, то во время выполнения программы происхо- дит ошибка. (Этой ошибки можно избежать - см. раздел "Функ- ция обработки ошибки динамически распределяемой области па- мяти" в Главе 26.) Ограничения: Наибольший блок, который может быть выде- лен в динамически распределяемой области памяти, составляет 65521 байт (64 К - F). Если динамически распределяемая об- ласть не фрагментирована, например, в начале выполнения программы, то при успешных обращениях к процедуре GetМем бу- дут выделяться соседние блоки памяти. Отличия: В версии 3.0 параметр "размер" был целого ти- па. Прочее: См. также процедуры New, FreeMem.
Функция: Возвращает строку, содержащую имя заданного графического режима. Описание: GetModeName(номер_режима: integer) Тип результата: строковый (string). Примечания: Имена режимов встроены в каждый драйвер. Возвращаемые значения (320х200 CGA P1, 640х200 CGA и т.д.) можно использовать для создания меню, вывода режимов экрана и т.д. Аналогичная функция имеется в версии 2.0 Турбо-Си. Ограничения: Должен использоваться графический режим. Прочее: См. также функции GetMaxMode, GetModeRange. Пример: uses Graph; var Driver, Mode : integer; i : integer; begin Driver := Detect; { перевести в графический режим } InitGraph(Driver, Mode, ''); if GraphResult < 0 then Halt(1); for i := 0 to GetMaxMode do { вывести все имена режимов } OutText(10, 10 * Succ(i), GetModeName(i)); Readln; CloseGraph; end.
Функция: Для данного драйвера возвращает наименьший и наибольший графический режим. Описание: GetModeRange(GraphDriver : integer; var LoMode, HiMode : integer) Примечания: Вывод следующей программы: uses Graph; var Lovest, Highest : integer; begin GetModeRange(EGA64, Lowest, Highest); Write('Наименьшее значение = ', Lowest); Write('Наибольшее значение = ', Highest); end. даст наименьшее значение = 0 и наибольшее значение = 1. Если значение GraphDriver является недопустимым, то возвращаемый параметр будет равен -1. Аналогичная функция имеется в версии 2.0 Турбо-Си. Прочее: См. также процедуры SetGraphMode, InitGraph, DetectGraph.
Функция: Возвращает текущую палитру и ее размер. Описание: GetPalette(var палитра : Примечания: Возвращает в переменной типа PaletteType текущую палитру и ее размер. Тип PaletteType описан в модуле следующим образом: const MaxColor = 15; type PaletteType = record Size : byte; Colors : array[0..MaxColors] of shortint; end; В поле размера (size) содержится число цветов в палитре для текущего графического режима и драйвера. Поле Colors со- держит действительные значения цветов от 0 до Sizе-1. Аналогичная процедура имеется в версии 2.0 Турбо-Си. Ограничения: Должен использоваться графический режим. Прочее: См. также процедуры SetPalette, SetAllPalette. Пример: uses Graph; var Driver, Mode : integer; i : integer; begin Driver := Detect; { перевести в графический режим } InitGraph(Driver, Mode, ''); if GraphResult < 0 then Halt(1); GetPalette(Palette); If Palette.Size <> 1 then for i := 0 to Pred(Palette.Size) do begin SetColor(Color); Line(o, Color*5, 100, Color*5); end else Line(0, 0, 100, 0); Readln; CloseGraph; end.
Функция: Возвращает размер таблицы палитры цветов. Описание: GetPaletteSize Тип результата: Слово (word). Примечания: Данная функция показывает, сколько записей палитры можно задать для текущего графического режима. Нап- ример, при использовании цветного режима и адаптера EGA функция возвратит значение 16. Аналогичная функция имеется в версии 2.0 Турбо-Си. Ограничения: Должен использоваться графический режим. Прочее: См. также функцию GetMaxColor.
Функция: Получает значение элемента изображения в точке Х,Y. Описание: GetPixel(X,Y :integer) Тип результата: Слово (word). Примечания: Получает цвет элемента изображения в точке Х,Y. Ограничения: Должен использоваться графический режим. Прочее: См. также процедуры PutPixel, GetImage, PutImage. Пример: uses Graph; var Gd, Gm : integer; PixelColor: word; begin Gd := Detect; { перевести в графический режим } InitGraph(Gd, Gm, ''); if GraphResult < 0 then Halt(1); PixelColor := GetPixel(10, 10); if PixelColor = 0 then PutPixel(10, 10, GetMaxColor); Readln; CloseGraph; end.
Функция: Возвращает текущий тип текстового шрифта, его направление, размер и выравнивание, установленные с помощью процедур SetTextStyle и SetTextJustify. Описание: GetTextSettings(var TextInfo: TextSettingsType) Примечания: Определены следующие константы и типы: type CharSizeType = 1..10; TextSettingsType = record Font : word; Direction : word; CharSize : CharSizeType; Horiz : word; Vert : word; end; const DefaultFont = 0; { шрифт с двоичным образом 8х8 } TriplexFont = 1; { "штриховые" шрифты } SmallFont = 2; SanSerifFont = 3; GothicFont = 4; HorizDir = 0; { слева направо } Vertir = 1; { снизу вверх } NormSize = 1; Аналогичная процедура имеется в версии 2.0 Турбо-Си. Ограничения: Должен использоваться графический режим. Прочее: См. также процедуры InitGraph, SetTextJustify, SetTextStyle, TextHeight, TextWidth. Пример: uses Graph; var Gd, Gm : integer; OldStyle : TextSettingsType; begin Gd := Detect; { перевести в графический режим } InitGraph(Gd, Gm, ''); if GraphResult < 0 then Halt(1); GetTextSettings(OldStyle); SetTextJustify(LeftText, CenterText); SetTextStyle(TriplexFont, VertDir, 4); OutTextXY(GetMaxX, div 2, GetMaxY div 2, 'Новый тип'); with OldStyle do begin { восстановить старый тип текста} SetTextJustify(Horiz, Vert); SetTextStyle(Font, Direction, CharSize); end; OutTextXY(0, TextHeight('H'), 'Снова старый тип'); Readln; CloseGraph; end.
Функция: Возвращает установленное в операционной системе текущее время. Описание: GetTime(var час, минута, секунда, сот_сек: word) Примечания: Возвращаемые параметры принимают следующие значения: "час" - от 0 до 23, "минута" - от 0 до 59, "секун- да" - от 0 до 59 и "сот_сек" (сотая доля секунды) - от 0 до 99. Прочее: См. также процедуры SetTime, GetDate, SetDate.
Функция: Возвращает состояние флага проверки ДОС. Описание: GetVerify(var флаг_проверки : boolean) Примечания: Данная процедура возвращает состояние флага проверки ДОС. При сброшенном флаге (False) проверка при за- писи на диск не выполняется. При установленном флаге (True) для обеспечения правильности записи все операции записи на диск проверяются. Прочее: См. также процедуру SetVerify.
Функция: Позволяет пользователю выдать запрос о текущей области просмотра на экране и параметрах "вырезанного" изображения. Описание: GetViewSettings(var ViewPort : ViewPortType) Примечания: Данная процедура возвращает переменную типа ViewPortType. Этот тип предварительно описан следующим образом: type ViewPortType = record x1, y1, x2, y2: integer; Clip : boolean; end; Аналогичная процедура имеется в версии 2.0 Турбо-Си. Точки (x1,y1) и (x2,y2) представляют собой размеры ак- тивной области просмотра. Параметр Clip представляет собой переменную булевского типа и указывает на наличие "вырезан- ного" (отсеченного за заданными границами) изображения. Аналогичная процедура имеется в версии 2.0 Турбо-Си. Ограничения: Должен использоваться графический режим. Прочее: См. также процедуру SetViewPort. Пример: uses Graph; var Gd, Gm : integer; ViewPortType = ViewPortType; begin Gd := Detect; { перевести в графический режим } InitGraph(Gd, Gm, ''); if GraphResult < 0 then Halt(1); GetViewSettings(ViePort); with ViewPort do begin Rectangle(0, 0, x2 - x1, y2 - y1); if Clip then OutText('Отсечение изображения не активно'); else OutText('Сегодня отсечение изображения не действует'); end; Readln; CloseGraph; end.
Функция: Возвращает Х-координату текущего указателя (СР). Описание: GetX Тип результата: Целый (integer). Примечания: Процедура GetХ зависит от области просмот- ра. Таким образом, ее значение всегда равно абсолютной Х-ко- ординате СР, минус ViewPort.х1. В следующем примере: 1 SetViewPort(0,0,GetMaxX,GetMaxY,True); 2 MoveTo(5,5); 3 SetViewPort(10,10,100,100,True); 4 MoveTo(5,5); - в строке 1 СР перемещается в точку с абсолютными ко- ординатами (0,0), и процедура GetХ также возвращает значение 0; - в строке 2 СР перемещается в точку с абсолютными ко- ординатами (5,5), и процедура GetХ также возвращает значение 5; - в строке 3 СР перемещается в точку с абсолютными ко- ординатами (10,10), но процедура GetХ возвратит значение 0; - в строке 4 СР перемещается в точку с абсолютными ко- ординатами (15,15), но процедура GetХ возвратит значение 5. Аналогичная функция имеется в версии 2.0 Турбо-Си. Ограничения: Должен использоваться графический режим. Прочее: См. также процедуры GetViewSettings, GetY, InitGraph, MoveTo, SetViewPort. Пример: uses Graph; var GraphDriver, GraphMode : integer; x, y : integer; begin GraphDiver := Detect; InitGraph(GraphDriver,GraphMode,''); if Graphesult <> grOk then Halt(1); OutText('Начнем здесь.'); x := GetX; y := GetY; OutText(20,10,'Теперь перейдем сюда...'); OutText(x,y,'А теперь вернемся назад.'); Readln; CloseGraph; end.
Функция: Возвращает Y-координату текущего указателя (СР). Описание: GetY Тип результата: Целый (integer). Примечания: Процедура GetY зависит от области просмот- ра. Таким образом, ее значение всегда равно абсолютной Х-ко- ординате СР, минус ViewPort.у1. В следующем примере: 1 SetViewPort(0,0,GetMaxX,GetMaxY,True); 2 MoveTo(5,5); 3 SetViewPort(10,10,100,100,True); 4 MoveTo(5,5); - в строке 1 СР перемещается в точку с абсолютными ко- ординатами (0,0), и процедура GetY также возвращает значение 0; - в строке 2 СР перемещается в точку с абсолютными ко- ординатами (5,5), и процедура GetY также возвращает значение 5; - в строке 3 СР перемещается в точку с абсолютными ко- ординатами (10,10), но процедура GetY возвратит значение 0; - в строке 4 СР перемещается в точку с абсолютными ко- ординатами (15,15), но процедура GetY возвратит значение 5. Аналогичная функция имеется в версии 2.0 Турбо-Си. Ограничения: Должен использоваться графический режим. Прочее: См. также процедуры GetViewSettings, GetX, InitGraph, MoveTo, SetViewPort. Пример: uses Graph; var GraphDriver, GraphMode : integer; x, y : integer; begin GraphDiver := Detect; InitGraph(GraphDriver,GraphMode,''); if Graphesult <> grOk then Halt(1); OutText('Начнем здесь.'); x := GetX; y := GetY; OutText(20,10,'Теперь перейдем сюда...'); OutText(x,y,'А теперь вернемся назад.'); Readln; CloseGraph; end. |
HOME |