Для чого потрібна процедура Sub?, Basic, Програмування, статті

Азбука Visual Basic

Якщо Ви вже читали моє пояснення процедури 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



і з будь-якого місця!

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*