Otevřít hlavní menu

Změny

InitGraph

Přidáno 2 856 bajtů, 4. 10. 2012, 17:26
Created page with "Inicializuje grafický systém a přepne hardware do grafického režimu. ;Deklarace procedure InitGraph(var GraphDriver:Integer; var GraphMode: Integer; PathToDriver: strin..."
Inicializuje grafický systém a přepne hardware do grafického režimu.

;Deklarace
procedure InitGraph(var GraphDriver:Integer; var GraphMode: Integer; PathToDriver: string);

;Režim
:Reálný, Chráněný

;Poznámky
:Pokud je parametr [[GraphDriver]] rovný [[Detect]], volají se jakékoli uživatelsky definované autodetekční rutiny a potom [[DetectGraph]]. Je-li zjištěn grafický hardware, inicializuje se příslušný driver a zvolí se grafický režim.

:Nenulová hodnota parametru [[GraphDriver]] je považována za číslo driveru. Tento driver je pak zvolen a systém je uveden do grafického režimu, určeného parametrem [[GraphMode]]. Pokud tedy takto zabráníte autodetekci, musíte zároveň specifikovat pro požadovaný driver platný parametr [[GraphMode]].

:PathToDriver udává adresářovou cestu, kde lze najít grafické drivery. Pokud je PathToDriver rovno '', musejí být soubory s drivery v aktuálním adresáři.

:Normálně [[InitGraph]] zavede grafický driver z příslušného souboru .[[BGI]] na disku do paměti, alokované voláním [[GraphGetMem]]. Alternativou k tomuto dynamickému způsobu zavádění je přilinkovat driverový(é) soubor(y) přímo do vykonatelného souboru programu.

:To provedete tak, že nejprve převedete soubor .[[BGI]] na soubor .[[OBJ]] (pomocným programem [[BINOBJ]]), poté umístíte volání procedury [[RegisterBGIdriver]] do zdrojového textu (ještě před volání [[InitGraph]]), čímž se driver(y) budou registrovat. Při sestavování programu musíte přilinkovat soubory .[[OBJ]] pro všechny registrované drivery. Můžete také zavést driver na haldu (heap) a pak jej zaregistrovat pomocí [[RegisterBGIdriver]].

:Jestliže je paměť pro grafický driver alokovaná na haldě pomocí [[GraphGetMem]], bude automaticky uvolněna při volání procedury [[CloseGraph]].

:Po volání [[InitGraph]] je [[GraphDriver]] nastaven na aktuální grafický driver a [[GraphMode]] je nastaven na aktuální grafický režim.

:Pokud dojde k chybě, [[GraphDriver]] i [[GraphResult]] (funkce) vrátí jednu z těchto hodnot konstant grXXXX: grNotDetected, grFileNotFound, grInvalidDriver, grNoLoadMem nebo grInvalidMode.

;Viz také
:[[CloseGraph]]

:[[DetectGraph]]

:[[GraphResult]]

:[[RestoreCrtMode]]

:[[SetGraphBufSize]]

:[[SetGraphMode]]


Vzorový příklad

{Initgrf.PAS}
{Vzorový příklad pro proceduru Initgrf.}
uses Graph;
var
grDriver: Integer;
grMode: Integer;
ErrCode: Integer;
begin
grDriver := Detect;
InitGraph(grDriver, grMode,' ');
ErrCode := GraphResult;
if ErrCode = grOk then
begin { Udělat nějakou grafiku }
Line(0, 0, GetMaxX, GetMaxY);
Readln;
CloseGraph;
end
else
Writeln('Chyba grafiky: ', GraphErrorMsg(ErrCode));
end.
[[Category:Graph]]
[[Category:Procedúry Graph]]