Tìm trong:Webe-CHÍP

Bộ gõ (kiểu Vni/Telex/Viqr)Tắt (Alt+T)Mở (Alt+M)

 
Trang chủ ĐÓ HỎI, ĐÂY TRẢ LỜI TT 322

Mã hóa cơ sở dữ liệu Visual Foxpro

Đó hỏi: Xin e-CHÍP vui lòng mách giúp tôi cách mã hóa bảng trong CSDL Visual Foxpro 6.0 (dạng BDF), sao cho tập tin CSDL sau khi mã hóa chỉ có thể đọc được bởi chính chương trình viết bằng Visual Foxpro. Xin chân thành cảm ơn.

<ngocthien@>

Đây trả lời: Bạn phải biết một thuật toán mã hóa và giải mã dữ liệu để từ đó dùng mã lệnh Visual Foxpro áp dụng cho ứng dụng của mình. Sau đó, tùy mong muốn của bạn mà chọn: mã hóa từng field hay mã hóa toàn bộ tập tin .DBF.
Đoạn mã 1 trình bày hàm Cipher(<Chuỗi>, <Khóa>) dùng để vừa mã hóa vừa giải mã một chuỗi ký tự. Tham số đầu tiên bắt buộc phải có, là chuỗi ký tự cần mã hóa, nếu bạn cần mã hóa một field kiểu dữ liệu Numeric, thì phải chuyển thành Character trước khi mã hóa, sau đó khi giải mã phải chuyển đổi kết quả thành Numeric.
Ví dụ: Để mã hóa chuỗi: a = "chuong can chip", bạn có thể dùng lệnh: a = Cipher(a, 1234). Sau đó, để giải mã, bạn có thể cũng dùng lệnh như vậy: a = Cipher(a, 1234). Con số 1234 trong ví dụ vừa nêu gọi là khóa, bạn có thể dùng con số bất kỳ, nhưng phải giống nhau lúc mã hóa và lúc giải mã.
Đoạn mã 2 trình bày hàm dùng để mã hóa (bằng cách sử dụng hàm Cipher) các field kiểu Character và Memo của một file .DBF đang mở. Tham số của hàm là bí danh của vùng làm việc đang mở tập tin cần mã hóa. Ví dụ:
USE NhanVien
=Cipher("NhanVien")
USE

Nếu muốn mã hóa toàn bộ tập tin để Visual Foxpro không hiểu đó là tập tin .DBF nữa, thì phải viết thêm hàm nữa. Bạn nên thử các đoạn mã 1 và 2 cho kỹ trước khi sáng tạo theo nhu cầu của mình nhé.

Đoạn mã 1
FUNCTION Cipher
PARAMETER Txt, Rvalue, A, B
PUBLIC R && As Long
PUBLIC M && As Long
PUBLIC N && As Long
STORE 0 TO R, M, N
* Khoang bien thien cua cac so gia-ngau-nhien (luy thua cua 2)
BigNum = 32768 && As Long
PRIVATE i, c, d
* So ngau nhien khoi dau (tuy chon)
IF TYPE('Rvalue') = 'N' && IsMissing(RValue)=False
R = Rvalue
ENDIF
* Tri khoi dau cho so nhan (tuy chon)
IF TYPE('A') = 'N' && IsMissing(A) = False
M = MOD((A * 4 + 1), BigNum)
ELSE
IF M = 0
M = 69
ENDIF
ENDIF
* Tri khoi dau cho so cong them (tuy chon)
IF TYPE('B') = 'N' && IsMissing(B) = False
N = MOD((B * 2 + 1), BigNum)
ELSE
IF N = 0
N = 47
ENDIF
ENDIF
* Xu ly chuoi
FOR i = 1 TO LEN(Txt)
c = ASC(SUBSTR(Txt, i, 1))
* Chi ma hoa cac ky tu in duoc. Cac ky tu dac biet: !#$%&*(),... khong duoc ma hoa
DO CASE
CASE BETWEEN(c, 48, 57)
d = c - 48
CASE BETWEEN(c, 63, 90)
d = c - 53
CASE BETWEEN(c, 97, 122)
d = c - 59
OTHERWISE
d = -1
ENDCASE
* San sang ma hoa mot ky tu
IF d >= 0
* Ket sinh so gia-ngau-nhien ke tiep
R = MOD((R * M + N), BigNum)
* XOR ky tu can ma hoa voi cac bit cua so gia-ngau-nhien
d = BITXOR(BITAND(R, 63), d)
* Dat ky tu tro lai trong khoang ky tu in duoc
DO CASE
CASE BETWEEN(d, 0, 9)
c = d + 48
CASE BETWEEN(d, 10, 37)
c = d + 53
CASE BETWEEN(d, 38, 63)
c = d + 59
ENDCASE
* Thay the ky tu dzin bang ket qua tinh duoc
IF AT("Visual FoxPro 05", VERS()) > 0 && VFP5.0
* Tren VFP5.0 co the dung ham STUFFC de su dung cac chuoi chua ky tu 2-byte
Txt = STUFFC(Txt, i, 1, CHR(c))
ELSE
Txt = STUFF(Txt, i, 1, CHR(c)) && Tren VFP3.0 chi co the dung ham STUFF
ENDIF
ENDIF
ENDFOR
RETURN Txt

Đoạn mã 2
FUNCTION cDBFCipher
PARAMETERS cAliasName
LOCAL I, cTemp
IF NOT USED(cAliasName)
=MESSAGEBOX("Alias "+cAliasName+" not found")
RETURN .F.
ENDIF
SELE &cAliasName
FOR I=1 TO FCOUNT()
IF TYPE(FIELD(I)) $ "CM"
cTemp = FIELD(I)
REPLACE ALL &cTemp WITH Cipher(&cTemp) FOR NOT DELETED()
ENDIF
ENDFOR
RETURN .T.
CHƯƠNG CAN CHÍP

Tạo liên kết để download file

Đó hỏi: Khi tôi vào trang Web và nhấp vào chữ download thì sẽ xuất hiện 1 file để mình download về. Cho tôi hỏi vậy họ post bằng cách nào để chữ download nổi lên và nhâp vào có thể download được?

<th5lehoangtuananh@>

Đây trả lời: Việc tạo liên kết (link) để tải (download) file rất đơn giản, bạn chỉ cần dùng thẻ <A> với thuộc tính HREF như thí dụ dưới đây.
<a title="Bam vao day de tai file" href="../Softwares/2006/RongVang.rar">Download</a>
Trong đó: - href="http://www.echip.com.vn/echiproot/Softwares/2006/RongVang.rar" chỉ định đường dẫn (địa chỉ) đến file liên kết. - Chữ Download (hay bất kỳ chữ nào) nằm giữa <<a href="..”> và </A> sẽ hiển thị trong trang Web để người xem bấm chuột vào khi muốn tải file RongVang.rar. – Dòng văn bản giữa 2 dấu “ trong thuộc tính title=”...” là thông báo sẽ hiển thị khi người xem đưa chuột lên chữ Download.

Bỏ khai báo Proxy server trong Firefox

Đó hỏi: Em đang dùng Firefox 2.0 để duyệt Web. Bây giờ khi mở trình duyệt thì luôn luôn hiện thông báo:
# Check the proxy settings to make sure that they are correct.
# Contact your network administrator to make sure the proxy server is working.
Do vậy, em không thể dùng Firefox để duyệt Web được. Kính mong e-CHÍP hướng dẫn em cách
khắc phục.

<drlavanphu@>

Đây trả lời: Hiện tượng này xuất hiện do bạn đã xác lập Proxy server sai. Muốn khắc phục, bạn chạy Firefox > mở menu Tools/ Options > Trong hộp thoại Options, chọn phần Advanced > chọn bảng Network và bấm nút Settings trong mục Connection > Chọn mục Direct connection to the Internet để bỏ khai báo về Proxy server.

Thiết lập cách hiển thị mặc định của Folder trong Explorer

Đó hỏi: Xin hỏi cách thiết lập để mỗi khi vào 1 folder của Windows XP thì các file và folder đều hiện ở dạng view > list (khỏi phải chỉnh lại)?

<thanhvictoriakyo@>

Đây trả lời: Để xác lập cho Windows luôn hiển thị Folder/File theo dạng View bất kỳ, bạn chạy Windows Explorer > mở menu View và chọn dạng hiển thị > mở menu Tools/ Folder Options > chọn bảng View, bấm nút Apply to All Folders (muốn phục hồi như cũ thì bấm nút Reset All Folders).

Ghost 11 hỗ trợ Vista và Windows 64 bit

Đó hỏi: Tôi nghe nói đã có Symantec Ghost 11 nhưng không biết đây là phiên bản nâng cấp của Ghost 8.3/2003 hay của Drive Image (Ghost 9/10) và Norton Save And Restore (Ghost 11). Xin e-CHÍP giải thích và chỉ chỗ download.

<nghoang@>

Đây trả lời: Cuối năm 2006, hãng Symantec phát hành bộ phần mềm Symantec Ghost Solution Suite 2.0 (http://www.symantec.com/enterprise/products/overview.jsp?pcid=1025&pvid=865_1) hỗ trợ Vista và Windows 64 bit. Bộ phần mềm này bao gồm Symantec DeployCenter và Symantec Ghost 11 là bản nâng cấp và tương thích ngược với Ghost 8/2003. Ghost 11 hỗ trợ Windows Vista/XP/2000/NT/Me/98, Linux, OS/2; hỗ trợ mạng và ổ cứng có GUID Partition Table (GPT); cho phép chỉnh sửa các file ảnh hệ thống FAT/NTFS/Linux bằng Ghost Explorer; chỉnh sửa Windows registry từ DOS hay WinPE bằng công cụ GhRegEdt và GhRegEdit32.
Bạn có thể tải trọn bộ Symantec Ghost Solution Suite 2.0 (300MB) tại địa chỉ http://tinyurl.com/2765q2 hay tải bộ rút gọn Norton Ghost v11.0.0.1502 (chỉ có 4 file Ghost.exe, Ghost32.exe, Ghostexp.exe, GhostSrv.exe – 9MB) tại địa chỉ http://tinyurl.com/2p8vmo.

LÊ HOÀN

[Đầu trang]