Cảm ơn Luc Van đã đọc. Chuyện là thế này:
Tôi đang thử lập trình để tạo đề thi từ 1 ngân hàng đề.
Ngân hàng đề đã có và mỗi câu bắt đầu là "Câu 1" cho đến câu cuối cùng, giả sử là "Câu 30". Tiếc rằng sau câu 30 thì là các văn bản không thuộc đề mà là chữ ký các loại (đây là đặc điểm chung của mọi văn bản phi cấu trúc).
Giả sử chương trình cần tạo đề gồm 3 câu. Nó tạo 3 số ngẫu nhiên phân biệt, giả sử 13, 20, 30. Bằng cách chọn văn bản giữa "Câu 13" và "Câu 14" thì chương trình lấy được câu 13. Tương tự với câu 20.
Riêng với câu 30, do không có câu 31 nên trước khi làm đề, chương trình yêu cầu chuyển điểm nháy đến vị trí cuối của câu 30 để đặt bookmark là "xx" (có thể viết mã kèm phím nóng để nhanh).
Để phòng người dùng gõ nhầm, ví dụ điểm nháy ở trước câu 30 mà đặt bookmark cuối câu ở trước thì vô lý, nên chương trình phải chuyển điểm nháy đến "Câu 30" và kiểm tra điểm nháy ở trước bookmark thì OK, sai thì báo lỗi.
Vậy nên mới quy thành: Trong chương trình đang chạy, điểm nháy nằm ở đâu đó, ta cần biết điểm nháy đó ở trước hay sau 1 bookmark đã biết tên.
Hy vọng bạn giúp