Подтвердить что ты не робот

Различия между vbLf, vbCrLf и vbCr Константы

Я использовал константы типа vbLf, vbCrLf и vbCr в MsgBox; он производит тот же вывод в MsgBox (текст "Hai" появляется в первом абзаце, и в следующем параграфе появляется слово "Welcome" )

MsgBox("Hai" & vbLf & "Welcome")
MsgBox ("Hai" & vbCrLf & "Welcome")
MsgBox("Hai" & vbCr & "Welcome")

Я знаю, что vbLf, vbCrLf и vbCr используются для функций печати и отображения.

Я хочу знать разницу между константами vbLf, vbCrLf и vbCr.

4b9b3361

Ответ 1

 Constant   Value               Description
 ----------------------------------------------------------------
 vbCr       Chr(13)             Carriage return
 vbCrLf     Chr(13) & Chr(10)   Carriage return–linefeed combination
 vbLf       Chr(10)             Line feed
  • vbCr: - вернуться к началу строки
    Представляет символ возврата каретки для функций печати и отображения.

  • vbCrLf: - аналогично нажатию Enter
    Представляет символ возврата каретки в сочетании с символом перевода строки для печати и отображения функции.

  • vbLf: - перейти к следующей строке
    Представляет символ перевода строки для функций печати и отображения.


Подробнее из Класс констант

Ответ 2

Три константы имеют сходные функции в настоящее время, но разные исторические корни, и очень иногда вам может потребоваться использовать один или другой.

Вам нужно подумать о временах старых ручных пишущих машинок, чтобы получить это происхождение. Для начала новой строки текста необходимо выполнить два разных действия:

  • переместите печатающую головку назад влево. На практике в пишущей машинке это делается путем перемещения рулона, который переносит бумагу ( "каретку" ) на обратную сторону направо - печатающая головка фиксирована. Это возврат каретки.
  • переместите бумагу по ширине одной линии. Это строка line.

В компьютерах эти два действия представлены двумя разными символами: возврат каретки CR, символ ASCII 13, vbCr; строка LF, символ ASCII 10, vbLf. В старые времена телетайпов и линейных принтеров принтеру необходимо было отправить эти два символа - традиционно в последовательности CRLF - для запуска новой строки, и поэтому комбинация CRLF - vbCrLf - стала традиционной последовательностью строк, в некоторых вычислительных средах.

Проблема заключалась, разумеется, в том, что для обозначения окончания линии использовать только один символ, а терминал или принтер автоматически выполняют как возврат каретки, так и действие линии. Итак, прежде чем вы это узнали, у нас было 3 разных допустимых конца строки: LF один (используется в Unix и Macintoshes), CR один (видимо, используется в старых Mac OS) и комбинация CRLF (используется в DOS, и, следовательно, в Windows). Это, в свою очередь, привело к осложнениям программ DOS/Windows, имеющих возможность открытия файлов в text mode, где любая пара CRLF, прочитанная из файла, была преобразована в один CR (и наоборот при записи).

Итак, чтобы сократить (слишком слишком) длинную историю, есть исторические причины существования трех отдельных разделителей строк, которые теперь часто не имеют значения: и, пожалуй, лучший способ действий в .NET - использовать Environment.NewLine, что означает, что кто-то решил для вас, что использовать, и будущие проблемы с переносимостью должны быть уменьшены.