Tải bản đầy đủ (.doc) (2 trang)

Các thủ thuật trong Pascal

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (79.12 KB, 2 trang )

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
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!

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×