Dấu ngoặc thoát trong chuỗi VB6 hoặc VBScript đơn giản về lý thuyết mặc dù thường đáng sợ khi xem. Bạn thoát khỏi một dấu ngoặc kép với một dấu ngoặc kép khác.
Một ví dụ:
"c: \ Program Files \ ứng dụng của tôi \ app.exe"
Nếu tôi muốn thoát khỏi dấu ngoặc kép vì vậy tôi có thể chuyển thông tin này đến vỏ thực hiện chức năng được liệt kê bởi Joe hoặc hàm VB6 Shell tôi sẽ viết nó:
escapedString = """c:\program files\my app\app.exe"""
Cách thức hoạt động? Các dấu ngoặc kép đầu tiên và cuối cùng quấn chuỗi và cho VB biết đây là một chuỗi. Sau đó, mỗi trích dẫn được hiển thị theo nghĩa đen trong chuỗi có một dấu ngoặc kép khác được thêm vào trước nó để thoát khỏi nó.
Sẽ trở nên điên rồ hơn khi bạn đang cố chuyển một chuỗi có nhiều phần được trích dẫn. Hãy nhớ rằng, mọi báo giá bạn muốn vượt qua đều phải được thoát.
Nếu tôi muốn vượt qua hai cụm từ được trích dẫn như là một chuỗi đơn ngăn cách bởi một không gian (mà không phải là không phổ biến):
"c: \ Program Files \ ứng dụng của tôi \ app.exe" "c: \ Documents and Settings \ steve"
tôi sẽ nhập này:
escapedQuoteHell = """c:\program files\my app\app.exe"" ""c:\documents and settings\steve"""
tôi đã giúp quản trị hệ thống của tôi với một số VBScripts rằng đã có nhiều hơn dấu ngoặc kép.
Nó không đẹp, nhưng đó là cách nó hoạt động.
Nguồn
2011-01-30 04:45:33
Chỉ tò mò: Tại sao bạn sử dụng VB6? Ngôn ngữ đó không được thay thế ở mọi nơi ngay bây giờ? – Olhovsky
@Kdoto: Đó là những gì Microsoft muốn bạn tin. Đầu tiên họ đầu tư rất nhiều vào việc làm sáng tỏ ngôn ngữ, sau đó rời khỏi cuộc nói chuyện với khối lượng chưa rửa. – wqw
@kdoto @wqw Microsoft [cho biết vào ngày 09 tháng 9] (http://channel9.msdn.com/posts/funkyonex/What-is-Microsofts-Visual-Basic-6-Support-Strategy) vẫn còn vài triệu * * những người sử dụng VB6, vì vậy có lẽ nó không phải là đáng ngạc nhiên. Nhiều người có rất nhiều mã VB6 "di sản" và Microsoft không cung cấp một lộ trình nâng cấp phù hợp. – MarkJ