InitGraph
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
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.