Mục lục:

Lập trình trong VB6: Mẹo và Thủ thuật: 3 bước
Lập trình trong VB6: Mẹo và Thủ thuật: 3 bước

Video: Lập trình trong VB6: Mẹo và Thủ thuật: 3 bước

Video: Lập trình trong VB6: Mẹo và Thủ thuật: 3 bước
Video: Lập trình ứng dụng máy tính với VB.NET - Video 01. Giới thiệu và cài đặt Visual Studio Community 2024, Tháng mười một
Anonim
Lập trình trong VB6: Mẹo và Thủ thuật
Lập trình trong VB6: Mẹo và Thủ thuật

Tôi lập trình trong thời gian rảnh rỗi và là một lập trình viên khá thành thạo sử dụng VB6. Nó thật dễ dàng và tôi vẫn chưa tìm thấy bất cứ điều gì tôi cần nó để hoàn thành mà nó không thể, mặc dù đôi khi nó có thể khó khăn để hoàn thành nhiệm vụ của bạn. Trên đường đi, tôi đã tìm thấy rất nhiều điều khó chịu chủ yếu là cách nó đếm những thứ nhất định. Vì vậy, đây là tổng hợp một số điều tôi đã học được trong suốt quá trình. Tôi mong bạn nếu bạn có bất kỳ vấn đề gì, hãy bình luận và tôi sẽ cố gắng thực hiện thêm các bước.

Bước 1: Chuỗi

Dây
Dây

Cách VB xử lý các chuỗi đôi khi gây nhầm lẫn. chuỗi bắt đầu bằng không bắt đầu từ 1textb = mid (texta, 2, 2), điều này làm cho biến textb = "bc" textb = mid (texta, 4, 4) điều này làm cho biến textb = "defg" textb = mid (texta, 4, 5) điều này làm cho biến textb = "defg" Đúng nếu văn bản bạn đang cố gắng chọn dài hơn thì văn bản có sẵn mà nó kết thúc ở ký tự cuối cùng tùy thuộc vào chương trình của bạn, bạn sẽ phải đặt bẫy để tránh lỗi. có phải là một cái bẫy như vậy không: textb = mid (texta, 4, 5) if len (textb) <5 then 'Len () trả về độ dài của một chuỗi ký tự <có nghĩa là ít hơn thenmsgbox "text is too short" "Hiển thị hộp thông báo với stringexit sub 'Điều này thoát khỏi sub mà bạn đang ở. kết thúc mã. nếu bạn đang ở trong một hàm thì bạn sẽ đặt chức năng thoát và điều chỉnh vị trí của một ký tự trong một chuỗi chúng tôi sử dụng hướng dẫn (Start, Stri ng1, String2) texta = "abcdefg" textb = Guid (1, texta, "c") 'điều này tìm thấy ký tự c trong chuỗi textatextb bây giờ bằng 3 một cái khó chịu mà bạn muốn "abcdefg" thành "defgabc" texta = "abcdefg" textb = mid (texta, 4, 4) & mid (texta, 1, 3) Điều đó không quá tệ nhưng bây giờ hãy thêm vào hướng dẫn () functions có thể bạn muốn tổ chức lại một chuỗi tại một ký tự màn nhưng nó không giống vị trí everytimetexta = "abcdefg" textb = "gfabdec" textc = mid (texta, Guid (1, texta, "c"), len (texta) - hướng dẫn (1, texta, "c") + 1) & mid (texta, 1, hướng dẫn (1, texta, "c") - 1) lưu ý phần len (texta) - hướng dẫn (1, texta, " c ") + 1 bởi vì hướng dẫn đếm ký tự bạn đang tìm kiếm, vì vậy bạn quay lại một ký tự để mid () lấy ký tự bạn đang tìm làm ký tự đầu tiên trong stringtextc bây giờ bằng" cdefgab "textd = mid (textb, hướng dẫn (1, textb, "c"), len (textb) - hướng dẫn (1, textb, "c") + 1) & mid (textb, 1, hướng dẫn (1, textb, "c") - 1) textd now equa ls "cgfabde" hãy thử tìm một ký tự không có trong stringtexta = "abcdefg" textc = mid (texta, Guid (1, texta, "h"), len (texta) - Guid (1, texta, "h") + 1) & mid (texta, 1, Guid (1, texta, "h") - 1) bạn gặp lỗi vì phần bắt đầu của Mid () không thể = 0 vì các chuỗi bắt đầu từ 1 nên bạn phải tránh thời gian chạy lỗi. đây là một cách để thực hiện ittexta = "abcdefg" nếu hướng dẫn (1, texta, "h") 0 thentextc = mid (texta, hướng dẫn (1, texta, "h"), len (texta) - hướng dẫn (1, texta, "h") + 1) & mid (texta, 1, Guid (1, texta, "h") - 1) else 'chỉ một câu lệnh khác cho mỗi if tình huống hộp thư "Không thể tìm thấy ký tự trong chuỗi"' hiển thị một hộp thông báo với stringend if Điều này tổng hợp khá nhiều thứ bạn cần biết về chuỗi

Bước 2: Chuyển đổi ký tự

Chuyển đổi ký tự
Chuyển đổi ký tự

HEX: Một điều tôi đã tìm thấy vào đầu tuần này liên quan đến hàm Hex (số), độ dài trên số không quan trọng. Nó trả về một chuỗi trong hexhex (11111111) trả về "A98AC7" khi chuyển đổi một ký tự ascii thành hex, bạn sẽ dotexta = "a" hex (asc (texta)) trả về "61" texta = "k" hex (asc (texta)) trả về "6B" chuỗi sẽ có 2 ký tự cho NHẤT trong số các ký tự ASCI trừ các ký tự dưới giá trị 16 thì nó chỉ trả về 1 ký tự mà bạn muốn tất cả chúng là 2 ký tự, bạn làm như sau: textb = hex (asc (texta)) if len (textb) = 1 thentextb = "0" và textb 'là số 0 không phải là vốn oend nếu

Bước 3: Chỉnh sửa tệp

Chỉnh sửa tệp
Chỉnh sửa tệp

để mở một tệp bạn cần một tệp tin miễn phí và tệp tên tệp tin = FreeFile 'gfile bây giờ là tệp tin miễn phí tiếp theo có sẵn freefilec = "c: / test.txt" sau đó có 4 cách để bạn có thể mở tệp tin đầu vào - Bạn chỉ có thể đọc. Đầu ra - Bạn chỉ có thể ghi và nó sẽ xóa tệp nếu nó tồn tại. ký tự xuống dòng và dòng ký tự cuối cùng nó sẽ thêm vào tệp hiện có. ký tự xuống dòng và dòng ký tự cuối cùng Nhị phân - Đọc và ghi. rất chính xác. cái duy nhất tôi sử dụng bây giờ. để xây dựng tệp nhật ký và việc sử dụng như vậy thêm vào nó sẽ thêm mục nhập mới vào cuối tệp. đối với tệp nhật ký phức tạp hơn, hãy tải toàn bộ tệp vào một biến và thêm mục nhập mới vào đầu file.dim stro as string 'điều này là cần thiết nếu không sẽ có errorgfile = FreeFilec = "c: / test.txt" mở c cho tệp nhị phân dưới dạng #gfile' hãy nhớ gfile là một numbertro = space $ (lof (gfile)) 'khi mở tệp nhị phân, bạn phải cho biết độ dài của văn bản bạn muốn lấy là lớn như thế nào lof (gfile) sẽ trả về độ dài của tệp và dấu cách $ () trả về một chuỗi khoảng trắng bằng độ dài của số bạn nhập vào #gfile, 1, stro 'lấy từ số tệp, byte bắt đầu, biến để lưu nó vào. và chỉ tải độ dài của biến dòng #gfilestro bây giờ bằng với tệp test.txt. bạn có thể đưa thông tin vào tệp byffile = FreeFilestro = "Dòng mới" & VbCrLf & stro 'thêm "Dòng mới" và trả lại carraige và nguồn cấp dữ liệu tiếp theo là textopen c gốc cho nhị phân là #ffilekill cput #ffile, 1, stro 'put ghi đè lên thông tin trước đó nếu tệp nhỏ hơn, bạn nên xóa tệp đó trước tiên sẽ xóa itclose #ffilet. tệp hiện có "Dòng mới" trong itone Tôi thấy với hàm put là nó có lỗi nếu bạn cố gắng đặt một ký tự nhưput #ffile, 133, chr (1) ', điều này thay thế ký tự ở byte 133 bằng ký tự 1 hoặc hex 0x01. Tôi đã tìm thấy khi tôi thực hiện việc này với một chương trình của mình. làm cho nó thực sự được thêm vào hex 0x08000100000001, một wierd kỳ lạ. Tôi đã giải quyết vấn đề này bằng cách tải tệp vào một biến và thực hiện chuỗi modsi = 133stro = mid (stro, 1, i - 1) & chr (1) & mid (stro, i + 1, len (stro) - i) rồi đặt #ffile, 1, strothis hoạt động hoàn hảo

Đề xuất: