Tôi cần hiển thị nhật ký được định dạng trong Delphi 2009. Định dạng không cần phải triển khai tất cả các tính năng của html nói, mà là một tập con nhỏ, ví dụ: màu sắc, kiểu chữ, v.v.Làm cách nào để hiển thị nhật ký được định dạng (màu, kiểu, v.v.) trong Delphi?
Hiện tại tôi đang sử dụng thẻ TRichEdit và các thẻ sở hữu của riêng mình, ví dụ: đây là màu xanh. Nó là khá phức tạp để có được điều này để làm việc với một TRichEdit vì không có quyền truy cập trực tiếp vào văn bản RTF. Ví dụ: để tô màu văn bản màu xanh, tôi phải:
- Phân tích văn bản được nối thêm giải nén thẻ, tìm ra văn bản cần được định dạng và cách thức.
- Chọn văn bản.
- Áp dụng định dạng.
- Bỏ chọn văn bản và di chuyển lựa chọn đến cuối văn bản đã sẵn sàng cho phần nối tiếp theo.
Tất cả điều này đều bị hack và chậm. Bạn có biết cách nào tốt hơn (nhanh hơn) để làm điều này với TRichEdit hoặc một điều khiển khác phù hợp hơn với công việc không?
Tôi nên đề cập đến rằng tôi đã xem xét việc sử dụng HTML trong TWebBrowser. Vấn đề với cách tiếp cận này là nhật ký có thể ở bất kỳ đâu từ 1 đến 100000 dòng. Nếu tôi sử dụng trình xem html bình thường, tôi cần đặt toàn bộ văn bản mỗi lần thay vì chỉ cần thêm văn bản.
Ngoài ra, nhật ký cần được cập nhật trong thời gian thực khi tôi thêm các dòng vào nó. Không chỉ đơn giản là đọc từ một tập tin và hiển thị một lần.
+1 cho Virtual TreeView – gabr
Điều này có nhược điểm duy nhất là không thể chọn và sao chép văn bản vào khay nhớ tạm. – mghie