Вообще, в будущем, объясняя какой-нибудь новый оператор, я часто буду для простоты ограничиваться коротенькими примерами его записи, например, Print 66 или Print "Кошка". Вы должны знать, что почти везде на месте числа может стоять числовая переменная или арифметическое выражение, а на месте строки — строковая переменная или строковое выражение. И вообще, вместо константы данного типа может стоять переменная или выражение этого типа.
Обычно в операторе Print используют вперемешку строковые и числовые данные. Пусть вес поросенка хранится в памяти, в переменной Ves. Тогда распечатать его можно таким оператором:
Здесь вы видите три элемента, разделенные точками с запятой.
Пусть название месяца года хранится в памяти, в переменной Mes. Пусть вы хотите напечатать, что именно этот месяц у вас отпускной. Распечатать это можно таким оператором:
Обратили внимание на пробелы внутри кавычек? Если бы их не было, было вот что:
Мы привыкли, что каждый следующий оператор Print печатает с новой строки. Если в конце оператора Print поставить запятую или точку с запятой, то следующий оператор Print будет продолжать печатать в той же строке, а если не поставить — то начнет со следующей. Проверим фрагмент из четырех операторов:
Проверьте этот пример, запустив его один раз, затем еще раз. Объясните увиденное.
Все, что здесь было сказано, относится и к оператору Debug.Print.
То, что печатать, указывается в самом операторе Print, а вот как печатать и с какого места, зависит от свойств объекта, на котором ведется печать (в нашем случае объект — форма):
Если вы установите в окне свойств формы свойство FontTransparent равным False, то через пространство между буквами не будет просвечивать поверхность формы.
У оператора Print есть еще кое-какие возможности, но, пожалуй, хватит.
Диалог с компьютером
Напишем программу, которая осуществляла бы такой диалог человека с компьютером:
КОМПЬЮТЕР ВЫВОДИТ НА ЭКРАН: Здравствуй, я компьютер, а тебя как зовут?
ЧЕЛОВЕК ВВОДИТ С КЛАВИАТУРЫ: Коля
КОМПЬЮТЕР ВЫВОДИТ НА ЭКРАН: Очень приятно, Коля. Сколько тебе лет?
ЧЕЛОВЕК ВВОДИТ С КЛАВИАТУРЫ: 16
КОМПЬЮТЕР ВЫВОДИТ НА ЭКРАН: Ого! Целых 16 лет! Ты уже совсем взрослый!
Пусть человек вводит свои реплики при помощи InputBox, а компьютер печатает свои с помощью Print. Для хранения в памяти имени человека выдумаем переменную imya, а для возраста — vozrast.
Вот программа:
Dim imya As String
Dim vozrast As Integer
Private Sub Command1_Click()
Print "Здравствуй, я компьютер, а тебя как зовут?"
imya = InputBox("Жду ответа")
Print "Очень приятно, "; imya; ". Сколько тебе лет?"
vozrast = InputBox("Жду ответа")
Print "Ого! Целых"; vozrast; "лет! Ты уже совсем взрослый!"
End Sub
Вам понятно, зачем в операторе Print "Очень приятно, "; imya; ". Сколько тебе лет?" внутри кавычек нужны запятая и точка? Если нет, то попробуйте их убрать и посмотрите на результат.
Диалог будет отличаться только той информацией, которую вводит человек. Так, в другой раз по этой же программе будет осуществлен следующий диалог: КОМПЬЮТЕР: Здравствуй, я компьютер, а тебя как зовут?
ЧЕЛОВЕК: Фантомас!
КОМПЬЮТЕР: Очень приятно, Фантомас!. Сколько тебе лет?
ЧЕЛОВЕК: 100
КОМПЬЮТЕР: Ого! Целых 100 лет! Ты уже совсем взрослый!
Не подумайте, что эта программа очень умная. Она совершенно не анализирует, какую информацию человек ввел с клавиатуры. Поэтому с ней возможен и такой диалог:
КОМПЬЮТЕР: Здравствуй, я компьютер, а тебя как зовут?
ЧЕЛОВЕК: Сгинь с моих глаз!
КОМПЬЮТЕР: Очень приятно, Сгинь с моих глаз!. Сколько тебе лет?
ЧЕЛОВЕК: -2
КОМПЬЮТЕР: Ого! Целых -2 лет! Ты уже совсем взрослый!
Как выводить информацию в текстовое поле
Конечно, оператором присваивания:
Трудность в том, что в операторе присваивания правая часть не может состоять из нескольких элементов, как в операторе Print, это один-единственный элемент, который может быть числом, строкой, числовой или строковой переменной, числовым или строковым выражением, содержимым текстового поля.
Правая часть вычисляется и становится содержимым текстового поля.
Text1.Text="Кошка"+" Собака" (Кошка Собака)
Что же делать, если мы хотим вывести в текстовое поле сразу несколько элементов? Здесь мы должны выстроить их в один элемент. Сделаем же это знаком +. У нас получится одно выражение: