KHỞI ÐỘNG CHẾ ÐỘ ÐỒ HỌA

Một phần của tài liệu Cơ bản về lập trình Pascal (Trang 106 - 107)

Ðể có thể thực hiện chương trình trên chế độ đồ họa, trước tiên ta phải khởi động chế độ đồ họa. Việc này được thông qua thủ tục sau:

Procedure InitGraph(var GraphDriver:Integer; var GraphMode: Integer; PathToDriver: string);

Với: GraphDriver, GraphMode là loại màn hình và mốt màn hình (xem bảng 1). PathToDriver là đường dẫn của thư mục chứa các tập tin điều khiển đồ họa.

Ví dụ: Giả sử ta có loại màn hình VGA, mốt là VGAHi, các tập tin điều khiển đồ họa ở trong thư mục F:\WINAPPS\BP\BGI, ta có thể viết phần chương trình khởi động đồ họa như sau:

Uses Graph;

Var mh,mode: integer; {mh: loại màn hình} Begin

mh:=VGA; mode:=VGAHi; {có thể dùng hằng DETECT cho mh } (1) Initgraph(mh,mode,’ F:\WINAPPS\BP\BGI’);

... End.

Việc nhớ các loại màn hình và mốt màn hình là điều gây dễ nhầm lẫn, do vậy ta có thể để cho máy tự động dò tìm loại và mốt màn hình. Như vậy ở chương trình trên ta bỏ dòng (1) thì khi thực hiện máy sẽ tự động dò tìm (DECTECT), đây là điểm rất hay vì nó sẽ cho khởi động loại màn hình đang sử dụng và mốt đồ họa có độ phân giải cao nhất.

Bảng 1: Các giá trị của Grapdriver, GraphMode và Resolution của một số loại màn hình thông dụng. GraphDrive r GraphMode Resolution DETECT (0)

Ðộ phân giải cao nhất và loại màn hình sử dụng CGA (1) CGAC0 (0) CGAC1 (1) CGAC2 (2) CGAC3 (3) 320 x 200 320 x 200 320 x 200 320 x 200

CGACHi (4) 640 x 200 EGA (3) EGALo (0) EGAHi (1) 640 x 200 640 x3 50 VGA (9) VGALo (0) VGAMed (1) VGAHi (2) 640 x 200 640 x 350 640 x 480

Chú ý: Ở bảng này các hằng DETECT có giá trị 0, hằng VGA có giá trị 9, hằng VGAHi có giá trị 2, ...

Ta có thể xác định Grapdriver, GraphMode và Resolution trên một máy đang hoạt động bằng chương trình sau:

Uses Graph;

Var mh,mode:integer; Begin

mh:=Detect; {Có thể bỏ dòng này} initgraph(mh,mode,'f:\winapps\bp\bgi');

writeln('GraphDriver = ',mh,' Graphmode = ',mode,' Resolution =',GetmaxX, 'x',GetMaxY);

readln; closegraph; End.

Với: GetmaxX, và GetMaxY là các hàm trả về giá trị lớn nhất tương ứng cho hàng, cột của màn hình và mốt hiện hành.

Một phần của tài liệu Cơ bản về lập trình Pascal (Trang 106 - 107)