1. Trang chủ
  2. » Công Nghệ Thông Tin

Các thủ thuật trong Pascal

2 3,5K 37
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 2
Dung lượng 28 KB

Nội dung

Các thủ thuật trong Pascal

Trang 1

Ba thủ thuật nhỏ với Pascal

Nguyễn Đức Phương

1 Xóa password trong bios

Đôi khi bạn đặt password trong Cmos rồi quên mất, nên không thể làm thế nào để vào cấu hình lại phần cứng

Bạn có thể xóa password bằng một chương trình pascal với chỉ 4 dòng như sau:

begin

port[$70]:=$2f;

port[$71]:=$ff;

End;

Chương trình sẽ làm bios bị tràn dẫn đến dữ liệu trong đó (và tất nhiên là cả password) bị xóa

2 Làm hiệu ứng text mờ dần

Xử lí, trang trí các màu cho text trong Pascal là một vấn đề vô cùng thú vị Chương trình sau sẽ giúp các bạn làm mờ dần text trên màn hình đến khi toàn bộ dường như ″chìm vào bóng đêm″

uses crt;

const max=191;{=64*3-1}

var

pal:array[0 max] of byte;

count, count2:word;

Procedure Setpal;

Var i:word;

Begin

Port[$3c8]:=0;{Thiết lập chế độ nhận tín hiệu}

For i:=0 to max do

port[$3C9]:=pal[i];{Nạp dữ liệu từ mảng pal vào}

end;

procedure readpal;

Var i:word;

begin

Port[$3c7]:=0;{Thiết lập chế độ nhả tín hiệu}

For i:=0 to max do

pal[i]:=port[$3C9];{Đón tín hiệu và nạp vào mảng pal}

end;

begin

readpal;{Đọc thông tin hiện thời của màn hình}

for count:=0 to 15 do

begin textcolor(count); Writeln(′Text mờ dần!!!′); end;{Viết text với các màu khác nhau} for count:=63 downto 0 do

Begin

for count2:=0 to max do

Trang 2

if pal[count2]>0 then dec(pal[count2]);{giàm độ sáng}

While (port[$3DA] and 8)>0 do;

While (port[$3DA] and 8)=0 do;{Chờ cho màn hình retrace}

Setpal;{Ăp đặt vào màn hình}

delay(10);{chờ 1/100 giây}

end;

asm mov ax,$3; int 10h; end;{Đưa màn hình trở lại bình thường mode 80x25 và lau sạch} end

Tương tự như vậy các bạn có thể làm cho text trắng ra (thay pal[count2]>0 bằng

pal[count2]<64 và dec bởi inc hoặc làm cho text từ trạng thái trắng thành màu sắc bình thường Sử dụng hai mảng pal1 và pal2 để thay đổi chẳng hạn

3 Tăt bật monitor:

Bạn sử dụng hai thủ tục sau:

procedure turnoffmonitor;

begin

port[$3D4]:=23;

end;

procedure turnonmonitor;assembler;

asm

mov ax,$3; int $10;

end;

Thủ tục turnoffmonitor tắt màn hình bằng cách truy xuất cổng Còn thủ tục turnonmonitor, tôi không tìm được cách truy xuất cổng nên thông qua ngắt thiêt lập chế độ màn hình (đưa màn hình về chế độ text thông thường) Sau ngắt này, màn hình sẽ bị xoá Bạn cần có kế hoach khôi phục lại

*Thay lời kết:

Các đoạn code trên chỉ là do tôi tình cờ phát hiện khi lập trình (2,3) cũng như bảo chế lại một số thủ thuật khác(1) mà thôi nên chưa hẳn đã tối ưu, lại không đượccông bố trên nhứng tài liệu chính thức nào Các bạn yêu thích lâp trình pascal xin hãy cố gắng tìm hiểu

cà cải tiến!

Ngày đăng: 07/09/2012, 09:31

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w