powered by simpleCommunicator - 2.0.48     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / две функции одно название?
25 сообщений из 33, страница 1 из 2
две функции одно название?
    #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
две функции одно название?
    #39312371
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург,

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

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

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

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

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

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

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

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

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

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

End Function

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

Меня тоже этот вопрос интересовал в свое время, ответ - нельзя.
...
Рейтинг: 0 / 0
две функции одно название?
    #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
две функции одно название?
    #39312506
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_rusimport, интересовало в одном конечно...
В твоём варианте имена то всё равно разные - module1.ch и module2.ch

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

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

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


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