Visual Basic. Программирование на Visual Basic

..........................................................................................................................

[ Главная ] [ Статьи ] [ Для новичков ] [ Примеры ] [ Программы ] [ Microsoft Agent 2.0 ] [ Пособие ] [ Уроки ] [ Разное ]
..........................................................................................................................


Для чего нужна процедура Sub?


Если Вы уже читали моё объяснения процедуры Function, то Вы поймёте Sub ёще быстрее! В общем так, Sub это то же самое, что и Function, только она не возвращает значение, а производит какое-нибудь действие. Например вывод на экран сообщения или манипулирование несколькими свойствами. Например MsgBox. Это тоже подпрограмма. Например:

Msgbox ("Привет!", ,"Заголовок")

Msgbox - это имя подпрограммы. А "Привет!" и "Заголовок" это передаваемые значения. Т.е. подпрограмма Msgbox выводит окно на экран с текстом "Привет!" и заголовком "Заголовок".

Теперь допустим, что Вам нужно, чтобы ваша программа вырезала из передаваемых строк все заданные символы (возьмём мой пример из "Практики"):

Sub Main()

'объявляем переменную для строки
Dim Stroka As String
'объявляем переменную для символа, который надо вырезать
Dim Symbol As String
'объявляем переменную для места нахождения символа
Dim ReturnNumber As Integer

'получаем строку, по умолчанию стоит строка
'"There is nothing impossible!"
Stroka = InputBox("Введите строку", , "There is nothing impossible!")
'получаем символ, по умолчанию стоит символ "i"
Symbol = InputBox("Введите символ", , "i")

'запускаем цикл
Do
   'с помощью InStr получаем местоположение искомого символа
   'если оно равно нулю, покидаем цикл
   ReturnNumber = InStr(1, Stroka, Symbol): If _
   ReturnNumber = 0 Then Exit Do
   'строке присваем все символы слева до искомого и справа
   Stroka = Left(Stroka, ReturnNumber - 1) + Right(Stroka, _
   Len(Stroka) - ReturnNumber)

Loop

    MsgBox Stroka 'выводим отредактированную строку на экран

End Sub

А теперь представте, что эти строки Вам нужны более одного раза и в разных местах !
Не проще ли  написать подпрограмму, которая это делает и потом просто вызывать её? Так, пишем (вне модуля):

Public Sub RemSym(Stroka, Symbol)
    Do
        ReturnNumber = InStr(1, Stroka, Symbol): If _
        ReturnNumber = 0 Then Exit Do
        Stroka = Left(Stroka, ReturnNumber - 1) + Right _
        (Stroka, Len(Stroka) - ReturnNumber)
    Loop
MsgBox Stroka
End Sub

Вот так, а теперь можно просто вызывать эту подпрограмму и передать значения строки и символа:

RemSym Stroka, Symbol

и из любого места!

..........................................................................................................................

[ Главная ] [ Диски ] [ Книги ] [ Архив рассылки ] [ Архив новостей ] [ Готовые кусочки программ ] [ Карта сайта ]
..........................................................................................................................

По страницам сайта Visaul Progs
или Изучение Visual Basic
Рассылка 'По страницам сайта Visaul Progs' >>> Подпишись на рассылку - будешь получать новые статьи , примеры и много полезной информации из первых рук!!! >>>Если у вас есть статья которой нет на сайте
пришлите ее мне-------->
Послать статью
>>>Если вы хотите задать вопрос
пишите-------->
Мне нужна помощь


Рейтинг сайтов YandeG Rambler's Top100
Реклама:

...:::Design by Mystf0rse 2005-2010 year:::...