|
|
|
Аксесс сам подменяет имена контролов
|
|||
|---|---|---|---|
|
#18+
Во чего у нас люди заметили. Создаешь контрол, даешь ему имя с пробелами. И видишь в списке свойств, что оно осталось с пробелами. Но в Object Browser'е оно стоит уже с подчеркиваниями вместо пробелов. И код лучше работает, когда пишешь это имя с подчеркиваниями (а не с пробелами и квадратными скобками). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2004, 16:55 |
|
||
|
Аксесс сам подменяет имена контролов
|
|||
|---|---|---|---|
|
#18+
"лучше" - это быстрей, или надежней? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2004, 21:32 |
|
||
|
Аксесс сам подменяет имена контролов
|
|||
|---|---|---|---|
|
#18+
Поскольку я этим занимался не сам, то боюсь эффекта испорченного телефона, но мне сказали, что с квадратными скобками и пробелами какие-то команды просто не работают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2004, 21:37 |
|
||
|
Аксесс сам подменяет имена контролов
|
|||
|---|---|---|---|
|
#18+
-))) не отстану -))) не работают при обращении к контролу по ссылке (!) или по вызову метода (.) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2004, 21:41 |
|
||
|
Аксесс сам подменяет имена контролов
|
|||
|---|---|---|---|
|
#18+
Я согласен, что я должен был узнать это подробно, прежде чем постить это в форум. Завтра попробую выяснить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2004, 21:54 |
|
||
|
Аксесс сам подменяет имена контролов
|
|||
|---|---|---|---|
|
#18+
я не "достать" хотел - просто любопытсвовал. Информация - хорошая. Возможно, далее, сознательно именно ТАК и надо делать - давать контролам имена с "пробелами" уже вполне мознательно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2004, 21:58 |
|
||
|
Аксесс сам подменяет имена контролов
|
|||
|---|---|---|---|
|
#18+
мознательно=сознательно (я не знаю, откуда там м взялась) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2004, 21:59 |
|
||
|
Аксесс сам подменяет имена контролов
|
|||
|---|---|---|---|
|
#18+
М взялась с клавиатуры. :^) Не думаю, что надо это делать сознательно. Лучше, чем с обычными именами, все равно не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2004, 22:01 |
|
||
|
Аксесс сам подменяет имена контролов
|
|||
|---|---|---|---|
|
#18+
Возвращаю долг. Отвечаю на вопрос, что именно не работало с пробелами и квадратными скобками. Не работали обращения просто по имени контрола, без предшествующего Me или Controls. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2004, 18:56 |
|
||
|
Аксесс сам подменяет имена контролов
|
|||
|---|---|---|---|
|
#18+
ОК авторЛучше, чем с обычными именами, все равно не будет. Так все-таки - будет лучше или нет? -)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2004, 19:24 |
|
||
|
Аксесс сам подменяет имена контролов
|
|||
|---|---|---|---|
|
#18+
А с какой стати? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2004, 19:28 |
|
||
|
Аксесс сам подменяет имена контролов
|
|||
|---|---|---|---|
|
#18+
(скромненько так ) я не знаю, это вопрос был. А СТАТЬ, например, может оказаться следующей. Почему я НЕ МОГУ считать, что, обращаясь в модуле класса формы к имени контрола без указания Me, Form!тратата и т.п., я обращаюсь на самом деле к (неявно) объявленной локальной переменной этого же класса. Не намекает ли возможность избежания/уменьшения косвенности при таком обращении на увеличение "эффективности" в смысле скорости доступа к значению переменной. Типа к таблице имен раз доступ прямее, значит он быстрее. ИЛИ НЕ ЗНАЧИТ? (Собственно в этом примерно и был вопрос) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2004, 19:36 |
|
||
|
Аксесс сам подменяет имена контролов
|
|||
|---|---|---|---|
|
#18+
Господа! Пишите все имена латинскими буквами и цифрами, без пробелов, апострофов и всяческих служебных символов. Совет старого ламера ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2004, 19:55 |
|
||
|
Аксесс сам подменяет имена контролов
|
|||
|---|---|---|---|
|
#18+
Кажется, я теперь понял вопрос. Но тогда: 1. Вопрос не в том, давать ли имена с пробелами или без, а в том, писать ли Me. По этому поводу Geo занимался измерениями. /topic/37453&pg=2#245300 Правда, вариант, начинающийся прямо с имени контрола, у него не рассмотрен. 2. Из того факта, что это переменная, не обязано что-то следовать. Она может быть совершенно виртуальная и реализованная через все тот же контрол. Ведь если мы вместо Me.BorderStyle можем писать просто BorderStyle, это все равно не значит, что BorderStyle - это какая-то отдельная переменная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2004, 19:56 |
|
||
|
Аксесс сам подменяет имена контролов
|
|||
|---|---|---|---|
|
#18+
А с Лифчиком я полностью согласен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2004, 19:56 |
|
||
|
Аксесс сам подменяет имена контролов
|
|||
|---|---|---|---|
|
#18+
OK ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2004, 20:03 |
|
||
|
Аксесс сам подменяет имена контролов
|
|||
|---|---|---|---|
|
#18+
Бред! Какому нармальному челу прийдёт в голову давать имя с " " или ещё какимито значками??? Ты ещё попробуй букву "Зю" вместо пробелов поставить! Может поможет...я конечно не пробывал.....но если что то полуится дай знать :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2004, 00:00 |
|
||
|
Аксесс сам подменяет имена контролов
|
|||
|---|---|---|---|
|
#18+
А ты файлы до сих пор называешь в формате 8+3 или уже перешел на длинные имена? А то мало ли что вдруг... :) Если что-то поддерживается и поддерживается без всяких "иногда", то почему бы не использовать. BTW: сам я никогда уже не буду называть переменные русскими названиями и темболее вставлять пробелы. Но так категорично - тоже перегиб. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2004, 00:04 |
|
||
|
Аксесс сам подменяет имена контролов
|
|||
|---|---|---|---|
|
#18+
Я согласен, что это бред. Но иногда бывает, что дают на доработку программу, написанную кем-то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2004, 00:05 |
|
||
|
Аксесс сам подменяет имена контролов
|
|||
|---|---|---|---|
|
#18+
И нет у меня уверенности, что это поддерживается "без всяких "иногда"". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2004, 00:06 |
|
||
|
Аксесс сам подменяет имена контролов
|
|||
|---|---|---|---|
|
#18+
И у меня нет - поэтому и не использую :) А вот в операторе ! почему-то есть, хотя могу использовать стандартную точку... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2004, 00:17 |
|
||
|
Аксесс сам подменяет имена контролов
|
|||
|---|---|---|---|
|
#18+
В каком операторе есть ! ? Или что есть в операторе ! ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2004, 00:21 |
|
||
|
Аксесс сам подменяет имена контролов
|
|||
|---|---|---|---|
|
#18+
Me ! ctlName.Value = 1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2004, 00:27 |
|
||
|
Аксесс сам подменяет имена контролов
|
|||
|---|---|---|---|
|
#18+
И что? Это описание возможностей Аксесса или чьего-то стиля программирования? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2004, 00:31 |
|
||
|
Аксесс сам подменяет имена контролов
|
|||
|---|---|---|---|
|
#18+
Пример, правда, не совсем удачный... но говорит и о том и о другом (и о возможностях и о стиле). А по поводу различных нововведений - взять, например, декларацию переменных - не только в начале ф-ии/процедуры (как в VBS), а в любом месте. Жить без этого - можно, но не пользоваться - глупо. В чистом "C" - декларация возможна тоже только в начале ф-ии, что очень сильно раздражает после С++ (где декларировать можно в любом блоке). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2004, 00:43 |
|
||
|
Аксесс сам подменяет имена контролов
|
|||
|---|---|---|---|
|
#18+
А я вот всегда стараюсь соломку постелить дополнительно, хотя новые технологии изготовления парашютов вроде обещают мягкую посадку. Например - пользователей учу ВСЕГДА давать файлам имена ТОЛЬКО из латинских букв,цифр и подчеркиваний. Патамушта если в теле письма (Plain text & Rich) оформлять псевдогиперссылку (не знаю, как по науке называется), начинающуюся c file: или \\, то она Микрософтом обрубится на первом неправильном символе или пробеле. Может я конечно настроек каких-то не знаю, но мне легче людей убедить соблюдать кое-какую гигиену, чем потом неизвестно когда и в каком месте, но наступить на эти грабли ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2004, 10:09 |
|
||
|
Аксесс сам подменяет имена контролов
|
|||
|---|---|---|---|
|
#18+
Вспомнил. траблы были с событиями контролов: например есть 2 контрола если первый [btn 1] то второй уже не назвать [btn_1] или [btn.1] потому как и там и там обработчики были бы btn_1_Click() чтобы переименовать [btn.1] в [btn_1] или [btn 1] надо сначала переименоват во что-то другое, и только потом в то, что хочется (т.е., как я понял создается 2 имени, name и EventProcPrefix, оба должны быть уникальны, при добавлении/переименовании проверяется именно EventProcPrefix) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2004, 17:05 |
|
||
|
Аксесс сам подменяет имена контролов
|
|||
|---|---|---|---|
|
#18+
Да. То, что при этом возникают проблемы с EventProcPrefix, я понял сразу, когда мне это показали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2004, 17:07 |
|
||
|
Аксесс сам подменяет имена контролов
|
|||
|---|---|---|---|
|
#18+
Кажется, есть точная формулировка того, что происходит. 1. Если мы обращаемся к такому контролу по полному синтаксису (Me!MyControl или Forms!MyForm!MyControl или и т.п.), то надо писать имя как есть. Если в нем есть пробелы, то надо писать именно пробелы и добавлять квадратные скобки. 2. Если мы обращаемся к нему из его формы и без полного синтаксиса, просто как к переменной, то надо заменять пробелы на подчеркивания. 3. Отступать от пп. 1 и 2 и писать наоборот нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2004, 12:56 |
|
||
|
Аксесс сам подменяет имена контролов
|
|||
|---|---|---|---|
|
#18+
2 Саныч про ! - понято. Me. в такой ситуации должна пользовать _ ? или Me.[тра та та] тоже допустимо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2004, 19:41 |
|
||
|
Аксесс сам подменяет имена контролов
|
|||
|---|---|---|---|
|
#18+
Я понял так, что водораздел проходит следующим образом: с одной стороны полный синтаксис (из той же формы и не из той, с точкой и воскл.знаком), с другой неполный (из той же формы, как переменная). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2004, 20:00 |
|
||
|
Аксесс сам подменяет имена контролов
|
|||
|---|---|---|---|
|
#18+
ок осталось только понять - список имен (контролов) - он всегда двойной? все вышерассказанное как будто на это указывает... При наличии двойного списка один из вариантов обращения может оказаться "эффективней" в смысле скорости, а второй, который окажется медленнее, скорее всего, может быть "ускорен" почти до первого. Может быть все это и не так (скорость) - все-таки надо как-нибудь собраться, пару "экспериментов" провесть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2004, 20:12 |
|
||
|
Аксесс сам подменяет имена контролов
|
|||
|---|---|---|---|
|
#18+
Да, похоже, что он двойной. Но при "нормальных" именах оба варианта совпадают. Короче, вопрос в том, какой из вариантов быстрее при обращении из той же формы. В уже упоминавшемся топике такого сравнения нет. Восполняю пробел. Me("MyControl") -> 11.57 Me!MyControl -> 11.57 Me.MyControl -> 16.20 MyControl -> 15.05 Мораль: как и ожидалось, выпендриваться бесполезно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2004, 20:30 |
|
||
|
Аксесс сам подменяет имена контролов
|
|||
|---|---|---|---|
|
#18+
2 Саныч про выпендриваться Компания Microsoft официально подтверждает правильность именно такого словоупотребления применительно к пробелам в именах следующей статьей из KB: http://support.microsoft.com/?kbid=826763 (не рекомендованные к применению в именах символы.) Саныч, и почему ты всегда прав? ;)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2004, 14:26 |
|
||
|
|

start [/forum/topic.php?all=1&fid=45&tid=1674206]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
198ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
2ms |
| others: | 256ms |
| total: | 575ms |

| 0 / 0 |
