Hi mọi người, thời đại công nghệ đi lên. Dù bạn làm gì cũng sẽ có một mã captcha hiện ra để tránh người dùng spam đăng nhập hay bình luận. Qua đây mình cũng viết chương trình nhập mã captcha để mọi người thực hiện thao tác trên chương trình để tránh người dùng spam và phá hoại chương trình nhé.

Chúng ta thực hiện theo ba bước.

  1. Tạo ký tự ngẫu nhiên.
  2. In chúng trong hộp ảnh.
  3. Làm cho chúng bị trầy xước.

1.Tạo ký tự ngẫu nhiên.

LƯU Ý: Đảm bảo bạn viết Lệnh "Ngẫu nhiên" trong sự kiện form_load.
dim hung1,hung2,hung3,hung4 as integer 

    hung1 = Int((91 - 65 + 1) * Rnd + 65)

    hung3 = Int((91 - 65 + 1) * Rnd + 65)

    hung2 = Int((123 - 97 + 1) * Rnd + 97)

    hung4 = Int((123 - 97 + 1) * Rnd + 97)

    gen1 = Chr(hung1) & Chr(hung2) & Chr(hung3) & Chr(hung4)

    ngaunhien1 = Chr$(hung1) & " " & Chr(hung2) & " " & Chr(hung3) & " " & Chr(hung4)

Giải thích: hung 1,2,3 và 4 là các biến lưu trữ mã ascii của ký tự được tạo ngẫu nhiên.
65 đến 91 là mã ascii của Capital A-Z
97 đến 123 là mã ascii của Chữ nhỏ (chữ thường) a-z
vì vậy, gen1 sẽ chứa BỐN chữ cái. Cái này chúng tôi đang sử dụng cho mục đích kiểm tra generate1 là văn bản được hiển thị trong hộp hình ảnh...(nó được sử dụng vì các khoảng trắng trông rất đẹp)

2. In trong hộp ảnh

PictureBox1.print ngaunhien1

3. Làm cho chúng bị trầy xước (dùng đường kẻ)

For i = 1 To 60

X1 = (3000 * Rnd) + 1

X2 = (3000 * Rnd) + 1

x3 = (3000 * Rnd) + 1

x4 = (3000 * Rnd) + 1

Y1 = (3000 * Rnd) + 1

Y2 = (3000 * Rnd) + 1

y3 = (3000 * Rnd) + 1

y4 = (3000 * Rnd) + 1

z1 = (3000 * Rnd) + 1

z2 = (3000 * Rnd) + 1

z3 = (3000 * Rnd) + 1

z4 = (3000 * Rnd) + 1

a1 = (3000 * Rnd) + 1

a2 = (3000 * Rnd) + 1

a3 = (3000 * Rnd) + 1

a4 = (3000 * Rnd) + 1

b1 = (3000 * Rnd) + 1

b3 = (3000 * Rnd) + 1

b2 = (3000 * Rnd) + 1

b4 = (3000 * Rnd) + 1

PictureBox1.Line (X1, X2)-(x3, x4), vbWhite

PictureBox1.Line (Y1, Y2)-(y3, y4), vbWhite

PictureBox1.Line (z1, z2)-(z3, z4), vbWhite

PictureBox1.Line (a1, a2)-(a3, a4), vbWhite

PictureBox1.Line (b1, b2)-(b3, b4), vbWhite

Next i

Giải thích: Trong các biến a1234, b1234, z1234,x1234,y1234 chúng ta đang tạo một số từ 1 đến 3000 (Vì 3000x3000 là kích thước của hộp hình ảnh). Đây là những yêu cầu. tọa độ.

Bây giờ chúng ta chỉ cần in các dòng trong hộp ảnh có tọa độ này.

LƯU Ý: Để tăng cường độ của các đường, chỉ cần tăng giới hạn trên của vòng lặp.

Kết quả in ra sẽ là Bốn chữ có vài (hoặc nhiều) vết xước, khó đọc.
Bước cuối cùng. Thêm Vào form project
If Text1.Text = gen1 Then
MsgBox ("Chính xác")
///Bạn cũng có thể làm
///Form2.show(); hoặc đăng nhập sql blah blah blah 
///Khá nhiều lệnh gọi sau đây của bạn sau trường hợp nó đúng ...
Else
MsgBox ("sai")
///Đây là nơi bạn có thể đặt tôi.Đóng hoặc làm bất cứ điều gì nếu nó sai
End If

Như vậy đã xong, chúc các bạn thành công với tiện ích tạo capcha để tránh bị spam trong ứng dụng của các bạn nhé.

Chúc mọi người thành công với thủ thuật trên.
HIỆN TẠI MÌNH CHƯA CÓ BẢN DEMO VÌ MÁY TÍNH CỦA MÌNH ĐANG BỊ LỖI SET-UP CHƯƠNG TRÌNH, NÊN MONG MỌI NGƯỜI THÔNG CẢM NHÉ. CẢM ƠN MỌI NGƯỜI ĐÃ QUAN TÂM