Пример 4.5.1-2. Создать проект, демонстрирующий реализацию регулярных циклических структур.

1)Запустить VS и создать новый проект с именем Пример 5.1-2, а на появившейся форме двойным щелчком мышью создать элемент управления Button в верхний левый угол формы. В случае с элементом управления Button, а также и со многими други­ми, двойной щелчок мышью является быстрым способом создания на форме объекта со стандартными размерами. Теперь этот объект перетащить туда, куда его требуется поместить, и настроить его свойства. перетащить туда, куда его требуется поместить, и настроить его свойства.

 

2)Перетащить объект кнопки вправо и поместить его в центре верхней части формы.

3)Открыть окно Свойства, а затем установить свойство Textкнопки в значении Цикл.

4)Дважды щелкнуть мышью в окне Элементы управления на элементе управления TextBox. VS создаст на форме небольшой объект текстового поля.

5)Установить свойство Multiline этого объекта текстового поля в значении True, а затем установить его свойство ScrollBars в значении Vertical. Эти настройки подготавливают текстовое поле к отображению не­скольких строк.

6)Переместить текстовое поле так, чтобы оно располагалось ниже кноп­ки, и увеличить его так, чтобы оно заняло примерно треть формы.

7)Дважды щелкнуть мышью на форме.

Появится окно Редактор кода.

8)В это окно добавить процедуру Cykl() и ее вызов из процедуры события Button1_Click(), приведенные на рис. 4.5.1-8.

 

Public Class Form1 Sub Cykl(ByVal Line As String) Dim i As Integer For i = 1 To 10 TextBox1.Text = TextBox1.Text & Line & i & vbCrLf Next i End Sub Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click Dim Line As String = "Line " Cykl(Line) End Sub End Class

 

Рис. 4.5.1-8. Программный код проекта Пример 5.1-2

 

9)После объявления переменной, используется цикл For...Next, который десять раз отображает в объекте текстового поля строку
Line i, где i – текущее значение переменной-счетчика (другими словами, от Line 1 до Line 10). Символы конкатенации строк (&) в текстовом поле объединяют воедино части каждой строки. Вна­чале в объект добавляется все значение текстового поля, которое хра­нится в свойстве Text, так, что предыдущие строки при добавлении новых строк не удаляются. Затем для отображения новой строки и перево­да курсора к левой границе и на следующую строку, объединяются строка Line, текущий номер строки и символ перевода строки vbCrLf. Оператор Next завершает цикл.

 

10)Обратить внимание, что при вводе начала цикла For VS ав­томатически добавляет в конец цикла оператор Next.

11)Чтобы сохранить изменения, необходимо щелкнуть на кнопке
Сохранить все на стан­дартной панели инструментов.

12)Щелкнуть на кнопке Начать отладку на панели инстру­ментов.

13)Щелкнуть на кнопке Цикл формы.

Цикл For...Next отобразит в текстовом поле 10 строк, как показано на рис. 4.5.1-9.

 

 

Рис. 4.5.1-9. Результат работы проекта Пример 5.1-2

 

14)Снова щелкнуть на кнопке Цикл формы.

15)Цикл For...Next отобразит на форме еще 10 строк. Чтобы увидеть все строки, можно воспользоваться вертикальной полосой про­крутки. При каждом повторении цикла в объект тек­стового поля добавляется 10 новых строк.

16)Необходимо обратить внимание, что в объекте текстового поля не останется места. Даже если отображается всего не­сколько строк текста, на это потребуется время. Многостроч­ный объект имеет практическое ограничение на размер текста в 32 Кб. Если требуется вывести текст большего размера или получить дополнительные опции форматирования, используй­те элемент управления RichTextBox из окна Элементы управления – похожий, но более мощный элемент управления для отображения и обработ­ки текста.

 

Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур.

vvodDbl1( ) и vivodDbl1() процедуры ввода и вывода данных типа Double в текстовые поля,

vvodSng3( ) и vivodSng3() процедуры ввода и вывода данных типа Single в текстовые поля,

vvodInt4( ) и vivodInt4() процедуры ввода и вывода данных типа Integer в текстовые поля,

vvodLng5() и vivodLng5() процедуры ввода и вывода данных типа Long в текстовые поля,

vivodDblFx6() иvivodLngFx7() процедуры форматного вывода значения одной переменной типа Double и Long,

vivodDblFxy8() процедуры форматного вывода значения двух переменных типа Double.

Процедуры vvodDbl1(), vivodDbl1( ), vvodSng3(), vivodSng3(), vvodIDbl2()иvivodDbl2()приведены в Теме 4.3, процедуры vvodInt4()и vivodInt4()приведены в Теме 4.4, а процедуры vvodLng5(),
vivodLng5(), vivodDblFx6(), vivodLngFx7(), vivodSngFxy8(),
vvodInt9(),vivodInt9()
представлены на рис. 4.5.1-10 – 4.5.1-16.

 

'процедура ввода данных типа Long из текстового поля TextBox Function vvodLng5(ByVal T As TextBox) As Long Return CLng(T.Text) End Function

 

Рис. 4.5.1-10. Программный код процедуры vvodLng5()
ввода данных типа
Long из текстового поля TextBox Примера 4.5.1-3

 

'Процедура вывода данных типа Long в TextBox Sub vivodLng5(ByVal l As Long, ByVal T As TextBox) T.Text = CStr(l) End Sub

 

Рис. 4.5.1-11. Программный код процедуры vivodLng5()
вывода данных типа
Long в TextBox Примера 4.5.1-3

'Процедура форматного вывода данных типа Double в TextBox Sub vivodDblFx6(ByVal x As Double, ByVal T As TextBox) T.Text = T.Text + Format(x, "0.000 ") End Sub

Рис. 4.5.1-12. Программный код процедуры vivodDblFx6()
форматного вывода данных типа
Double в TextBox Примера 4.5.1-3

'Процедура форматного вывода данных типа Long в TextBox Sub vivodLngFx7(ByVal x As Long, ByVal T As TextBox) T.Text = T.Text + Format(x, "0") End Sub

 

Рис. 4.5.1-13. Программный код процедуры vivodLngFx7()
форматного вывода данных типа
Long в TextBox Примера 4.5.1-3

'Процедура форматного вывода значений 2 переменных Single в TextBox Sub vivodSngFxy8(ByVal x As Single,ByVal y As Single, _ ByVal T As TextBox) T.Text = T.Text + Format(x, "0.000 ") + Space(8) + _ Format(y, "0.000 ") + vbCrLf End Sub

 

Рис. 4.5.1-14. Программный код процедуры vivodSngFxy8()

Форматного вывода значений 2 переменных типа Single в TextBox Примера 4.5.1-3

'процедура-Function ввода данных типа Integer из функции InputBox() Function vvodInt9(ByVal p As String, ByVal T As TextBox) _ As Integer T.Text = InputBox(P) Return CInt(T.Text) End Function

 

Рис. 4.5.1-15. Программный код процедуры vvodInt9()
ввода данных типа
Integer из функции InputBox()
Примера 4.5.1-3

 

'Процедура вывода данных типа Integer функцией MsgBox() Sub vivodInt9(ByVal I As Integer, _ ByVal S As String, ByVal T As TextBox) T.Text = MsgBox(CStr(I), S) End Sub

Рис. 4.5.1-16. Программный код процедуры vivodInt9()

вывода данных типаInteger функцией MsgBox()

Примера 4.5.1-3

 

В вышеприведенных примерах для организации вывода данных, используется форматированный вывод данных с использованием функции Format(), описание которой приведено в табл.4.2.4-2.