Hướng dẫn sử dụng Unit trong Pascal

MỤC LỤC

VÊ DỦ ẠP DỦNG

Chữ BEGIN ở dòng 29 có thể có hoặc không, nếu không có dòng 29 thỗ doỡng 30 seỵ phaới khọng cọ. Các khai báo tên từ dòng 5 đến dòng 8 là các tên biến và chương trình con có thể được dùng đến của Unit khi dịch file trên (Chế độ ghi âéa), Turbo pascal seỵ tảo file UEXAM.TPU.

CẠC UNIT CỌ DUÌNG UNIT KHẠC

Trong trường hợp này, thủ tục trong unit được khai báo sau được ưu tiên hơn, nghĩa là thủ tục ClrScr của unit CRT sẽ được dùng.

TỔ CHỨC UNIT TRONG BỘ NHỚ

Các trình xử lý dạng Far có thể được gọi bất kỳ nơi nào trong chương trình, thậm chí trong các phân đoạn chương trình khác. Tất cả các CTC cục bộ được khai báo trong phần IMPLEMENTATION cộng với những CTC trong choong trình mẹ là các chương rình xử lý dạng NEAR (Khi được gọi các trình xử lý dạng Near sẽ đẩy vào Stack địa chỉ offset). Chúng ta chỉ có thể gọi các trình xử lý dạng Near từ bón trong phỏn õoản chỉồng trỗnh õọ maỡ thọi.

CÀI ĐẶT UNIT VÀO CÁC TẬP TIN THƯ VIỆN

<lib_file>: thêm unit vào file thư viện (TURBO.TPL, TPW.TPL, TPP.TPL). - Thãm unit Math vaìo TURBO.TPL TPUMOVER TURBO /+ MATH ↵ - Xọa unit Turbo3 khoíi TURBO.TPL. - Tạch unit Graph3 khoíi TURBO.TPL vaì tảo thaình file GRAPH3.TPU TPUMOVER TURBO /* GRAPH3 ↵.

TRUY XUẤT VÙNG NHỚ MÁY TÍNHTRUY XUẤT VÙNG NHỚ MÁY TÍNH

  • BIẾN TRUY XUẤT VÙNG NHỚ 12. BIẾN ĐỊA CHỈ TUYỆT ĐỐI
    • LẤY THÔNG TIN CỦA ROM-BIOS
      • TRUY XUẤT VÙNG NHỚ MÀN HÌNH

        Các biến được khai báo trong chương trình sau từ khóa VAR hay các biến động tạo ra bằng thủ tục New hay GetMem đều do máy tính chủ động sắp xếp vị trí của chúng trong bộ nhớ. Biến địa chỉ tuyệt đối là biến là người lập trình có thể quy định địa chỉ của chúng với từ khóa ABSOLUTE. Như vậy Len sẽ nằm ngay byte đầu tiên cảu chuỗi St, là ký tự 0, do đó Len luôn là giá trị độ dài của chuỗi St.

        Turbo Pascal cung cấp các biến truy xuất vùng nhớ ngoài biến tuyệt đối, đó là 3 biến kiểu mảng có tên là MEM, MEMW, MEML. Khi sử dụng các biến này, chúng ta có thể lấy dữ liệu từ vùng nhớ ra để sử dụng và cũng có thể ghi trực tiếp dữ liệu vào vùng nhớ này bằng phép gán (:=) hay cú pháp sử dụng trong hàm cắt cac ký tự trắng bên phải chuỗi sau đây. Vì nếu khụng biết rừ, việc thay đổi gia trị trong vựng nhớ đụi khi gõy ra tai hại rất lớn trong chương trình.

        Trong các PC, sau khi khởi động xong, các thông số của môi trường làm việc do ROM thực hiện đều được ghi vào một vùng nhớ của máy tính ở một địa chỉ nhất định. Giá trị ghi tại vùng nhớ này là giá trị chỉ đọc, không có giá trị làm thay đổi mode, tức không thể thay đổi mode ở vùng địa chỉ này. Vùng nhớ 2 byte chứa kích thước con trỏ, căn cứ vào dòng quét đầu và dòng quét cuối, rong đó byte thấp chứa dòng quét cuối, byte cao chứa dòng quét đầu.

        Bằng các cú pháp truy xuất vùng nhớ máy tính, chúng ta có thể xuất dữ liệu ra màn hình bằng cách ghi trực tiếp vào vùng nhớ này và đồng thời tạo ra được những hình ảnh kỹ xảo rất đẹp trên maỡn hỗnh. Trong chế độ văn bản, màn hình máy tính có thể biểu diễn 80 ký tự theo chiều ngang và 25 ký tự theo chiều dọc, hay nói cách khác là có 2000 ký tự trên toàn màn hình, mỗi vị trí trên màn hình được xác định bởi một tọa độ. Mỗi một ký tự khi được hiển thị lên màn hình thì cần xác định tọa độ, màu nền (BackGround) và màu chữ (Foreround), các yếu tố này gọi là thuộc tính của ký tự.

        Bộ nhớ màn hình là một vùng bộ nhớ RAM, byte đầu tiên của vùng nhớ chứa mã ASCII của ký tự tại góc trái trên của màn hình, byte thứ hai sẽ chứa thuộc tính màu của ký tự đó. Hai haỡm xạc õinh õởa chố Segment vaỡ Offset cuớa kyù tỉỷ tải (Col,Row). i) Hàm VIDSEG lấy giá trị segment Function VIDGEG: Word;. ii) Hàm OFFSET lấy giá trị offset. Với những điều vừa đề cập ở trên, chúng ta có thể viết lại các chương trình con để xuất các dữ liệu ra màn hình dưới dạng các ký tự.

        Cũng với phương pháp truy xuất trực tiếp vùng nhớ màn hình chúng ta có thể định màu cho một vùng màn hình hay định lại màu cho một vùng đã có ký tự trên màn hình. Một trong số các ứng dụng thường dùng của các tiện ích truy xuất bộ nhớ đó là quan tâm đến bộ nhớ màn hình trong các tiện ích tạo giao diện.

        UNIT GRAPH – ĐỒ HOẠ TRONG PASCALUNIT GRAPH – ĐỒ HOẠ TRONG PASCAL

        MÀN HÌNH TRONG CHẾ ĐỘ ĐỒ HOẠ (GRAPHIC)

        Toạ độ của các điểm ảnh trên màn hình cũng giống như trong chế độ văn bản là (côt, dòng) với điểm ảnh đầu tiên trên góc trái màn hình là (0,0) còn toạ độ gốc dưới bên phải tuỳ thuộc vào độ phân giaới maỡn hỗnh, card maỡn hỗnh vaỡ mode õởnh cho maỡn hỗnh.

        UNIT GRAPH

          Việc khởi động chế độ đò hoạ bằng cách cho máy tính tự tìm card màn hình khi cho Gd:=Detect không cho chúng ta biết được loại card màn hình và mode màn hình đang làm việc, thủ tục sau cho máy tính vừa tự xác định card và mode màn hình, đồng thời cho giá trị của nọ. Procedure DetectGraph( Var Gd, Gm : Integer);. Thủ tục này kiểm tra các phần cứng và ghi Card màn hình, Mode màn hình vào biến Gd, Gm. Thủ tục này chỉ đước thực hiện trước khi khởi tạo đồ hoạ. Việc khởi động chế độ đồ hoạ đôi khi không thành công, do vài yếu tố như chúng ta khai báo không đúng, dẫn đến việc treo máy tính, hàm sau đây cho chúng ta xác định xem việc khởi động chế độ đồ hoả cọ thaỡnh cọng khọng?. Function GraphResult : Integer;. Đây là hàm đánh giá việc khởi động chế độ đồ hoạ. Nếu việc khởi động bị lỗi, hàm GrraphResult cho một giá trị khác 0 tương ứng với lỗi. b) Ngưng chế độ đồ hoạ. Chúng ta đã biết, trong chế độ đồ hoạ phần tử cơ bản là điểm, mỗi một điểm trên màn hình được định vị bằng cặp toạ độ (Cột, dòng), bắt đầu bằng toạ độ (0,0).

          Như vậy số điểm tối đa theo chiều ngang màn hình là GetmaxX +1, và số điểm tối đa theo chiều dọc màn hình là GetmaxY+1. Procedure MoveRel (dX, dY:Integer);. Thủ tục này di chuyển con trỏ từ vị trí đang đứng đến toạ độ mới cạch toả õọỹ cuỵ khoaớng cạch laỡ dX vaỡ dY. 2.3 Định màu trên màn hình đồ hoạ a) Baíng maìu. Đối với chế độ đồ hoạ, việc thiết kế màu trên màn hình tuỳ thuộc vào Mode màn hình đã cài đặt, tất cả các qui định về số màu và màu chứa trong một bảng gọi là bảng màu.

          Procedure GetPlette (Var Pl: paletteType);. Bảng màu của màn hình hiện tại được gán vào biến Pl có kiểu dữ liệu là PaletteTpye được định nghĩa sẳn trong Unit Graph như sau:. Color: array[0.MaxColor] of shortint;. Size : trường chỉ độ lớn của bảng màu Color : laỡ daỵy giạ trở cuớa baớng maỡu b) Định màu vẽ, màu nền. Màu vẽ là màu của các điểm ảnh tạo nên một hình theo ý muốn còn màu nền là màu của tất cả các điểm còn lại trên màn hình. Cũng giống như trong chế độ văn bản, ngoài màn hình chính người lập trình có thể tạo ra một cửa sổ nhỏ trên màn hình để làm việc.

          Procedure SetViewPort(x1,y1,x2,y2: Integer; Clip: Boolean);. Clip là tham đối kiểu Boolean, khi Clip có giá trị TRUE thì những gì vựơt khỏi cửa sổ sẽ bị cắt bỏ, ngược lại thì không. Khi tạo cửa sổ, toạ độ trên màn hình sẽ thay đổi theo cửa sổ. Toạ độ mới cho bởi công thức: Toạ độ mới = Toạ độ cũ - toạ độ đỉnh trên trái của cửa sổ. b) Xoá hình ảnh trong cửa sổ. Để viết chữ và định vị toạ độ trong chế độ đồ hoạ chúng ta không thể dùng GotoXy và Writeln như trong chế độ màn hình đồ hoạ. Để chọn Kiểu (Font), Hướng (Direction) và kích thước (Size) chữ chúng ta dùng thủ tục SetTextStyle với tham số lần lượt là ft, dr và Sz.

          Procedure SetTextJustỗy (Hz, Vt : Word);. Với Hz là bố trí chữ theo trục ngang, Vt là bố trí chữ theo hướng dọc đối với toạ độ qui định xuất ký tự. c) Viết một câu lên màn hình. Thủ tục xuất dữ liệu ra màn hình của đồ hoạ chỉ thực hiện được đối với dữ liệu kiểu String, các dữ liệu kiểu số phải qua phép biến đổi. Dùng để xuất chuỗi St tại vị trí con trỏ đang đứng với các qui định trong thuí tuûc SetTextStyle vaì SetTextJustify.