Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / две функции одно название? / 25 сообщений из 33, страница 1 из 2
21.09.2016, 07:53
    #39312367
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
две функции одно название?
Приветствую, форумчане.
Как известно, в VBA среди строковых функций есть функции с одинаковыми названиями (почти), но возвращающие/принимающие разные типы значений
Код: vbnet
1.
2.
3.
4.
5.
Chr$(CharCode As Long) As String
Chr(CharCode As Long)

Left$(String As String, Length As Long) As String
Left(String, Length As Long)

Различие только в символе доллар ($).

Как бы самому такое написать?
...
Рейтинг: 0 / 0
21.09.2016, 08:07
    #39312371
MrShin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
две функции одно название?
Панург,

А что мешает? Бери и добавляй символы типа $ для обозначения типа переменной или функции вместо использования As и типа данных после объявления, их несколько символов, посмотри в хелпе.
...
Рейтинг: 0 / 0
21.09.2016, 08:20
    #39312374
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
две функции одно название?
MrShinПанург,

А что мешает? Бери и добавляй символы типа $ для обозначения типа переменной или функции вместо использования As и типа данных после объявления, их несколько символов, посмотри в хелпе.Пробовал?
...
Рейтинг: 0 / 0
21.09.2016, 08:36
    #39312382
ROI
ROI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
две функции одно название?
ПанургMrShinПанург,

А что мешает? Бери и добавляй символы типа $ для обозначения типа переменной или функции вместо использования As и типа данных после объявления, их несколько символов, посмотри в хелпе.Пробовал?
Я не пробовал но попробую.
А в чем дело? (символ не дает вставить).
Даже интеоесно.
Попробовал все создается, а в чем пробдемы.
...
Рейтинг: 0 / 0
21.09.2016, 08:39
    #39312384
MrShin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
две функции одно название?
Сорри, не обратил внимания, что нужно именно 2 функции. Нет, это нельзя, с полиморфизмом и наследованием у Акцесса беда.
...
Рейтинг: 0 / 0
21.09.2016, 08:50
    #39312395
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
две функции одно название?
ROIПопробовал все создается, а в чем пробдемы.Прочти внимательно заголовок топика.
...
Рейтинг: 0 / 0
21.09.2016, 09:01
    #39312399
ROI
ROI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
две функции одно название?
ПанургROIПопробовал все создается, а в чем пробдемы.Прочти внимательно заголовок топика.
Я это прочитал но потом посмотрел что вы ввиду имели.

Заголовок "Две функции одно название" а ниже вы сами и поправляетесь.
>> Как известно, в VBA среди строковых функций есть функции с одинаковыми названиями (почти)
И чего это я не правильно увидел?
...
Рейтинг: 0 / 0
21.09.2016, 09:18
    #39312408
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
две функции одно название?
ПанургКак бы самому такое написать?
Знак доллара - это квалификатор типа значения, с ним возвращается String, а без него Variant(String). А имя у этих функций совпадает.
В модуле такую пару определить не удастся.
...
Рейтинг: 0 / 0
21.09.2016, 09:33
    #39312429
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
две функции одно название?
Akina, это я и сам знаю. Но ведь они существуют, значит как-то можно...
...
Рейтинг: 0 / 0
21.09.2016, 09:43
    #39312445
MrShin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
две функции одно название?
ПанургНо ведь они существуют, значит как-то можно...
Совсем не факт. VBA вряд ли писан на самом VBA, а там можно было сделать как угодно. Нет полиморфизма, хоть ты тресни, не сделаешь две функции с одинаковым именем, но разными типами данных в одном модуле. В разных модулях сделать - они будут просто перегружать друг друга, если модули формы и стандартный или генерировать ошибку, если оба стандартные модули.
...
Рейтинг: 0 / 0
21.09.2016, 09:46
    #39312449
ROI
ROI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
две функции одно название?
ПанургAkina, это я и сам знаю. Но ведь они существуют, значит как-то можно...
Попробовал создать две функции под одним именем с доларом(не дает)
Тогда может другой символ выбрать или нужен именно знак доллара?
...
Рейтинг: 0 / 0
21.09.2016, 09:47
    #39312450
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
две функции одно название?
MrShin, публичные функции с одинаковым именем в одном проекте не могут существовать...

Меня интересует именно создание подобных функций, как указаны в стартовом топике. Про всё остальное я знаю.
...
Рейтинг: 0 / 0
21.09.2016, 09:57
    #39312459
ROI
ROI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
две функции одно название?
ПанургMrShin, публичные функции с одинаковым именем в одном проекте не могут существовать...

Меня интересует именно создание подобных функций, как указаны в стартовом топике. Про всё остальное я знаю.
Дык создавайте их в разных модулях.
Или я чего-то не догоняю.
С уважением.
...
Рейтинг: 0 / 0
21.09.2016, 09:59
    #39312462
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
две функции одно название?
ROIТогда может другой символ выбрать или нужен именно знак доллара? это не знак доллара, это сокращённые обозначения типа возвращаемого значения ( As String ). Существуют и другие - & - Long , #-Double, % -Integer и т.д.

Меня интересует именно создание подобных функций, как указаны в стартовом топике.
...
Рейтинг: 0 / 0
21.09.2016, 10:00
    #39312465
ROI
ROI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
две функции одно название?
ROIПанургMrShin, публичные функции с одинаковым именем в одном проекте не могут существовать...

Меня интересует именно создание подобных функций, как указаны в стартовом топике. Про всё остальное я знаю.
Дык создавайте их в разных модулях.
Или я чего-то не догоняю.
С уважением.
Однако если функция будет публично то наверно не VBA не даст.
У меня зуд по всему телу (а зачем это)?
С уважением.
...
Рейтинг: 0 / 0
21.09.2016, 10:01
    #39312467
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
две функции одно название?
ROIДык создавайте их в разных модулях.Как я их буду создавать если

Панург... публичные функции с одинаковым именем в одном проекте не могут существовать ...

И всё же...
...
Рейтинг: 0 / 0
21.09.2016, 10:03
    #39312472
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
две функции одно название?
ROIа зачем этоБудем считать - спортивный интерес.
...
Рейтинг: 0 / 0
21.09.2016, 10:05
    #39312477
ROI
ROI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
две функции одно название?
Панургэто не знак доллара
Создал:
Public Function Chrr$()

End Function

Объект браузер показывает именно знак доллара
Chr$
...
Рейтинг: 0 / 0
21.09.2016, 10:05
    #39312478
MrShin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
две функции одно название?
Панургпубличные функции с одинаковым именем в одном проекте не могут существовать
Так я и говорю, что нельзя объявить функции с одинаковым именем в стандартном модуле, даже если они разные, а если одна публичная функция в стандартном модуле, а другая в модуле формы или класса, то пожалуйста, это уже метод будет, а не чисто функция.

Меня тоже этот вопрос интересовал в свое время, ответ - нельзя.
...
Рейтинг: 0 / 0
21.09.2016, 10:26
    #39312498
guest_rusimport
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
две функции одно название?
Панург,

в одном модуле создал функцию
Код: vbnet
1.
2.
3.
4.
Public Function ch$()
ch$ = "иванов"
Debug.Print TypeName(ch$)
End Function



в другом модуле - функцию
Код: vbnet
1.
2.
3.
4.
Public Function ch() As Long
ch = 12345
Debug.Print TypeName(ch)
End Function



компилируется без проблем, в Immediate получаю
Код: vbnet
1.
2.
3.
4.
5.
6.
?module1.ch
String
иванов
?module2.ch
Long
 12345 



может чего недопонял? не это интересовало?
...
Рейтинг: 0 / 0
21.09.2016, 10:38
    #39312506
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
две функции одно название?
guest_rusimport, интересовало в одном конечно...
В твоём варианте имена то всё равно разные - module1.ch и module2.ch

Если в разных модулях объявить такие функции проект конечно скомпилируется (так у меня получилось), но при вызове ошибка времени исполнения
---------------------------
Microsoft Visual Basic
---------------------------
Compile error:

Ambiguous name detected: ttt
---------------------------
ОК Справка
---------------------------
...
Рейтинг: 0 / 0
21.09.2016, 10:40
    #39312508
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
две функции одно название?
guest_rusimport, всё это не принципиально и не горит. Просто стало интересно - возможно ли повторить...
...
Рейтинг: 0 / 0
21.09.2016, 10:49
    #39312515
две функции одно название?
MrShinНет полиморфизма, хоть ты тресниСъем свою шляпу, если InStr(), например, не полиморфная функция. Вы понимаете этот термин в очень узком смысле.
...
Рейтинг: 0 / 0
21.09.2016, 11:02
    #39312524
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
две функции одно название?
13-й квартал, а ты по вопросу скажешь чего? Возможно ли реализовать?
...
Рейтинг: 0 / 0
21.09.2016, 11:46
    #39312560
две функции одно название?
Панург,

думаю.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / две функции одно название? / 25 сообщений из 33, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]