Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Function CountWords(Stroka, Position) As Long






и изменить наш цикл, который будет работать не с x=1, а x=Position

For x = Position To Len(Stroka)

А в форме, соответственно, вызов функции для подсчета слов, например, с 30-ой позиции, будет выглядеть

Label1.Caption = CountWords(Text1.Text, 30)

Это будет уже функция с двумя аргументами. Ну принцип, я думаю, ясен.

Процедуры типа Sub - подпрограмма.

Синтаксис процедуры Sub следующий:

Sub имя процедуры(аргументы)
операторы, выполняющие действия
End Sub

Здесь, также как и в функции, имя процедуры мы придумываем сами, аргументы - это данные, которые мы передаем в подпрограмму и с которыми она будет работать. Однако, в отличие от функции, подрограмма не возвращает значение - результат своей работы, а сама производит какие-либо операции.
Напишем подпрограмму, которая будет записывать в файл текст из Text1 нашей формы. Чтобы не путаться, добавим в наш проект еще один модуль Module2. Имя нашей процедуры будет AddFileText. В качестве аргументов мы должны передать в подпрограмму имя файла (NameF) и собственно текст (MyText). Пишем во втором модуле

Sub AddFileText(NameF As String, MyText As String)
Dim F As Long
F = FreeFile
Open App.Path & " \" & NameF For Append As #F

Print #F, MyText
Close #F
End Sub

Здесь все должно быть понятно - просто открываем файл с именем NameF и записываем содержимое переменной MyText.
Положим на нашу форму вторую кнопку Command2 и в ее процедуре напишем оператор вызова подпрограммы для записи в файл bbb.txt текста из Text1:

Private Sub Command2_Click()
AddFileText " bbb.txt", Text1.Text
End Sub

Теперь, при нажатии кнопки Command2, у нас в файл bbb.txt будет дописываться текст из текстбокса.

Ключевое слово ByVal.

В вышеприведенном примере никаких изменений с передаваемыми значениями аргументов не происходило. И произойти не могло, потому, что мы передали конкретное значение, а не переменную. Такая передача данных называется передача по значению. Однако можно ведь использовать и переменные. Такой способ передачи - по ссылке, может привести к тому (не в нашем случае), что в процессе выполнения подпрограммы значение переменных изменится и в программу вернутся уже измененные значения. Иногда это даже нужно, а иногда это наоборот может привести к ошибке. Чтобы избежать изменения значения переменной в процедуре, используется ключевое слово ByVal. При его использовании VB сохраняет изначальное значение и после окончания процедуры возвращает первоначальное значение переменной, даже если оно было изменено в ходе работы подпрограммы. Синтаксис использования этого ключевого слова в подпрограмме таков:






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.