Em chào các anh chị ^^
Hiện tại em đang bắt gặp rất nhiều ký tự xuống dòng mà không biết cái nào dùng trong trường hợp nào .
Các ký tự xuống dòng đã bắt gặp:
1: Chr(10)
2: vbNewLine
3: vbCrLf
4: vbCr
5: Chr(13)
Các anh chị giúp em phân biệt "chúng nó" khác và giống nhau chỗ nào với ạ ^^ . Em cảm ơn các anh chị nhiều
Constant Value Description
----------------------------------------------------------------
vbCr Chr(13) Carriage return
vbCrLf Chr(13) & Chr(10) Carriage return–linefeed combination
vbLf Chr(10) Line feed
---------------
Bạn Test thử:
MsgBox("Hai" & vbLf & "Welcome")
MsgBox ("Hai" & vbCrLf & "Welcome")
MsgBox("Hai" & vbCr & "Welcome")
Kết quả: đều cho ra cùng một kết quả ?
- vbCr : - quay trở lại dòng đầu
- vbCrLf : tương tự như cách nhấn Enter
- vbLf : - chuyển đến dòng tiếp theo
***********************************
Ba hằng số ngày nay có các chức năng tương tự nhau, nhưng có nguồn gốc lịch sử khác nhau và đôi khi bạn có thể được yêu cầu sử dụng hằng số này hoặc hằng số kia.
Bạn cần phải nghĩ lại những ngày của máy đánh chữ thủ công cũ để biết được nguồn gốc của điều này. Có hai hành động riêng biệt cần thiết để bắt đầu một dòng văn bản mới:
- di chuyển đầu gõ trở lại bên trái. Trong thực tế trong máy đánh chữ, điều này được thực hiện bằng cách di chuyển cuộn mang giấy ("toa") về phía bên phải - đầu đánh máy được cố định. Đây là một trở về vận chuyển .
- di chuyển tờ giấy lên theo chiều rộng của một dòng. Đây là một nguồn cấp dữ liệu dòng .
Trong máy tính, hai hành động này được biểu diễn bằng hai ký tự khác nhau - ký tự xuống dòng là CR, ký tự ASCII 13 , vbCr; nguồn cấp dữ liệu dòng là LF, ký tự ASCII 10 , vbLf. Ngày xưa của máy in dòng và máy in từ xa, máy in cần phải gửi hai ký tự này - theo truyền thống trong chuỗi CRLF- để bắt đầu một dòng mới, và do đó, CRLFsự kết hợp - vbCrLf- trở thành chuỗi kết thúc dòng truyền thống, trong
một số môi trường máy tính.
Tất nhiên, vấn đề là ở chỗ, việc chỉ sử dụng một ký tự để đánh dấu dòng kết thúc cũng rất hợp lý và để thiết bị đầu cuối hoặc máy in thực hiện cả hành động xuống dòng và cấp dòng tự động. Và vì vậy trước khi bạn biết điều đó, chúng ta có 3 phần cuối dòng hợp lệ khác nhau: LFmột mình (được sử dụng trong Unix và Macintoshes), CRmột mình (dường như được sử dụng trong các hệ điều hành Mac cũ hơn) và CRLFkết hợp (được sử dụng trong DOS và do đó trong Windows). Điều này dẫn đến sự phức tạp của các chương trình DOS / Windows có tùy chọn mở tệp trong text modeđó bất kỳ CRLFcặp nào được đọc từ tệp đều được chuyển đổi thành một tệp duy nhất CR(và ngược lại khi viết).
Vì vậy - để cắt ngắn (quá nhiều) một câu chuyện dài - có những lý do lịch sử cho sự tồn tại của ba dấu phân cách dòng riêng biệt, mà bây giờ thường không liên quan: và có lẽ cách hành động tốt nhất trong .NET là sử dụng Environment.NewLinenghĩa là người khác đã quyết định cho bạn sẽ sử dụng cái nào và các vấn đề về tính di động trong tương lai sẽ được giảm bớt.