Поделись:





РАЗДЕЛЫ
Авиация и космонавтика (292)
Административное право (113)
Английский язык (62064)
Арбитражный процесс (22)
Архитектура (98)
Астрология (15)
Астрономия (4788)
Банкосвкое дело (4987)
Без категории (14560)
Безопасность жизнедеятельности (2585)
Биографии (3219)
Биология (4036)
Биология и химия (1421)
Биржевое дело (61)
Ботаника и сельское хозяйство (2694)
Бухгалтерский учет и аудит (7694)
Валютные отношения (47)
Ветеринария (45)
Военная кафедра (732)
География (4779)
Геодезия (27)
Геология (1186)
Геополитика (42)
Государство и право (19449)
Гражданское право и процесс (434)
Делопроизводство (17)
Деньги и кредит (96)
ЕГЭ (32)
Естествознание (92)
Журналистика (899)
ЗНО (47)
Зоология (34)
Издательское дело и полиграфия (475)
Инвистиции (91)
Информатика (3452)
Информатика, программирование (5960)
Исторические личности (2109)
История (20812)
История техники (765)
Кибернетика (60)
Коммуникации и связь (3050)
Компьютерные науки (60)
Косметология (17)
Краеведение и этнография (580)
Краткое содержание произведений (1000)
Криминалистика (102)
Криминология (46)
Кулинария (1147)
Культура и искусство (8212)
Культурология (501)
Литература (зарубежная) (2035)
Литература и русский язык (11459)
Логика и логстика (545)
Маркетинг (7739)
Медицина и здоровье (9936)
Международное право (79)
Международные отношения (2189)
Менеджмент (11960)
Металлургия (82)
Москвоведение (764)
Музыка (1307)
Налоги и налогооблажение (199)
Наука и техника (1139)
Начертательная геометрия (9)
Окультизм и уфология (8)
Педагогика (7566)
Политология (3650)
Право, юриспруденция (3708)
Предпринимательство (406)
Промышленность и производство (6865)
Психология (8363)
Психология и педагогика (4048)
Радиоэлектронника (364)
Реклама (948)
Религия и мифология (2829)
Риторика (23)
Сексология (748)
Социология (4709)
Статистика (80)
Страхование (105)
Строительство (1984)
Таможенная система (655)
Теория государства и права (219)
Теория организации (35)
Технология (492)
Транспорт (2552)
Туризм (80)
Уголовное право и процесс (369)
Управление (105)
Физика (3298)
Физкультура и спорт (4360)
Философия (6846)
Финансовые науки (4389)
Финансы (5237)
Химия (2195)
Цифровые устройства (22)
Экология (4322)
Экономика (19673)
Экономико-математическое моделирование (644)
Экономическая география (113)
Экономическая теория (2472)
Этика (887)
Юриспруденция (268)
Языковедение (135)
Языкознание и филология (1140)
Счетчики


Для чего нужна процедура Sub
Раздел: Информатика, программирование

Для чего нужна процедура 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

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



Оценка: 0. | Оценило 0 человека.
ВНИМАНИЕ
Уважаемые гости, хотим обратить Ваше внимание на то, что все представленные работы на этом сайте получены с публичных ресурсов, находятся в свободном доступе, не являются уникальными и не подходят для их сдачи "как есть".
Если вы обладаете авторским правом на какую либо информацию, размещенную на нашем сайте и не согласны с её общедоступностью, обязательно сообщите нам об этом.
Данные работы Вы можете использовать в качестве дополнительных материалов для написания своего реферата либо любой другой работы.
В ПОМОЩЬ УЧАЩИМСЯ
Мы настоятельно рекомендуем нашим пользователям самостоятельно выполнять все работы. Но бывают ситуации, когда нет возможности, либо элементарно времени, чтобы самому заниматься той или иной работой. В этом случае можно заказать выполнение за вас реферата, курсовой и т.д. Но будет ли такая работа соответствовать всем вашим критериям? Сомневаемся. Поэтому хотим дать вам хороший совет. Найдите на нашем сайте работу, максимально подходящую под ваши критерии. Закажи повышение оригинальности и получите уникальную работу для сдачи. Это сэкономит вам деньги и вы получите именно то, что хотели.
НОВОСТИ НАУКИ
Обратная связь
По всем интересующим вас вопросам обращайтесьна почту:


Если у вас есть интересная работа и вы хотите ей поделиться, присылайте ее нам и мы обязательно разместим ее на нашем сайте, а пользователи обязательно скажут вам спасибо: