|
|
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#18+
Привет! Скажите, кто знает, есть ли смысл в программе указывать сей префикс в операциях, присущих исключительно переменным, таким как, например, присвоение значения (=) или RELEASE? Понятно что при ссылке на перменную указание префикса ускоряет/оптмизирует работу, а вот что по поводу вопроса, инетересно. К примеру ясно что так выгоднее: Код: plaintext Код: plaintext 1. 2. спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2008, 13:18 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#18+
пеМЕРЕнных = пеРЕМЕных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2008, 13:18 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#18+
авторускоряет/оптмизирует работу откуда информация? Специфрикатор "m." для переменных памяти используется только в тех случаях когда имя переменной совпадает с именем поля в таблице (при создании переменных командой SCATTER MEMVAR). .... Cпецификатор «m.» перед именем переменной при присвоении значений перемен-ным и при сравнении значений переменных мы не используем. Спецификатор «m.» перед именем переменной мы используем только в тех случаях, когда имя переменной совпадает с именем поля в таблице и при создании переменных командой SCATTER MEMVAR (в старших версиях FoxPro имеется опция в команде Scatter, которая позволяет считывать зна-чения записи курсора в объект Empty, что дает возможность не использовать спецификатор «m.») . Данное соглашение призволит исключить случаи совпадения имен переменных и имен полей в таблицах и курсорах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2008, 13:26 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#18+
http://fox.wikis.com/wc.dll?Wiki~EssentialMDot~VFP ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2008, 13:30 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#18+
ну правильно, я так по памяти скажу, типа если указываешь в ссылке имя перменной, то фокса будет СНАЧАЛА искать поле в текущей бд с таким именем, а затем, еси не найдет, будет искать такую перменную. если ты сразу скажешь что это перменная, то и поиск в бд исключатеся = ускорение. вроде так... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2008, 13:31 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#18+
ну и + стандарт http://www.craigberntson.com/Articles/kb015.htm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2008, 13:33 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#18+
впрочем спасибо за ответ - в операциях, присущих исключительно переменным, идентификатор m. не нужен (он там, впрочем и не помешает само собой). А вот в операциях с макроподстановкой так и вообще, как я заметил, идентификатор m. почему-то вреден для здоровья ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2008, 13:34 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#18+
есть соглашение по им-ю перем-х а есть соглашение по им-ю полей курсоров и таблиц если придерживаться этих соглашений, то именованных перем-х и полей не будет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2008, 13:36 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#18+
Смысл правил не столько в самих правилах, сколько в экономии мышления. Не надо задумываться, а что это программист имел в виду в данном случае? Нет, решение, разумеется, будет найдено. Проблема только в том, что надо будет затратить дополнительные усилия для того, чтобы это решение найти. Если всегда придерживаться правил (не важно каких, важен сам факт наличия правил), то это позволяет сэкономить время и силы программиста. Он всегда будет знать, о чем же в данном случае идет речь, поскольку есть вот такое правило. Если же "здесь придерживаться, а здесь - нет", то возвращаемся к тому, с чего начали. Каждый раз придется затрачивать дополнительные усилия для понимания кода. CTAC-KOА вот в операциях с макроподстановкой так и вообще, как я заметил, идентификатор m. почему-то вреден для здоровья При использовании символа макроподстановки "&" первая точка после этого символа воспринимается как символ конкатенации (сложения) символьных строк. Т.е. сначала выполняется макроподстановка, потом к ее результату прибавляется то, что стоит после точки. Например Код: plaintext 1. 2. 3. 4. 5. Т.е. в команде макроподстановки проблема не в префиксе, а в точке. Точнее, в особенностях работы самой команды макроподстановки. Использовать префикс можно, но такими способами Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2008, 15:15 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#18+
ВладимирМТ.е. в команде макроподстановки проблема не в префиксе, а в точке. Точнее, в особенностях работы самой команды макроподстановки. Использовать префикс можно, но такими способами Код: plaintext 1. 2. 3. 4. Т.е. можно вот так: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 05:24 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#18+
ага, вот как! Спасибо, буду знать! я уже заметил что именно первую точку после & фокс обычно "съедает", когда обращался к свойствам/методам объектов через макро. Однако у меня все получилось, когда я перед точкой ставил пробел, т.е.: (oListBox = SomeListBox) пробовал безуспешно и с немалым удивлением :) thisform.&oListBox.Init - не канает, т.к. на выходе получицо thisform.SomeListBoxInit так сейчас у меня: thisform.&oListBox .Init - проканает, т.к. на выходе получицо thisform.SomeListBox.Init а вот так, видимо, будет правильнее (я уже такое видел, но не понял зачем там 2 точки)? thisform.&oListBox..Init - на выходе получицо thisform.SomeListBox.Init ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 11:35 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#18+
(я уже такое видел, но не понял зачем там 2 точки)? thisform.&oListBox..Init - на выходе получицо thisform.SomeListBox.Init Первая точка завершает макоподстановку, вторая должна тут быть по месту. А лучше не заниматься всеми этими извращениями и хорошенько продумывать свои проги. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 11:50 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#18+
не, без мп - никак! практически все это используют :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 16:03 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#18+
авторбез мп - никак! так, ради интереса ... короткий пример, а я покажу как без ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 16:07 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#18+
не, без мп - никак! практически все это используют :) Та шо ви бачите?! Кто бы мог подумать! И как это многие за много же лет обошлись без нее?! Наверно, они что-то не так делают. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 16:22 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#18+
CTAC-KOне, без мп - никак! практически все это используют :) Поаккуратней на религиозные темы высказывайся, а то война начнется страниц на пять ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 16:37 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#18+
Sergey Sizov. не, без мп - никак! практически все это используют :) Та шо ви бачите?! Кто бы мог подумать! И как это многие за много же лет обошлись без нее?! Наверно, они что-то не так делают. :) В принципе можно и без префикса переменной, но.. как только вы начинаете писать свое приложение с использованием классов, то без нее практически уже не обойтись. Открые курсоры и их поля, фактически, представляются как PUBLIC переменные в пределах своих DataSession и нет никакой гарантии, что где-то в методе вашего класса у нас переменная не совпадет с полем текущего курсора (таблицы). С уважением, Алексей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 16:41 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#18+
да, ладно, давайте не будем обсуждать все используют мп или многие или только я :) Лучше скажите - обязательно ли завершать точкой мп? т.е. Код: plaintext Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 16:43 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#18+
Она завершается точкой или пробелом. Ни то, ни другое читабельности ей не добавляет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 16:51 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#18+
Aleksey-K... нет никакой гарантии, что где-то в методе вашего класса у нас переменная не совпадет с полем текущего курсора (таблицы). С уважением, Алексей. При использовании венгерской нотации гарантия 100%. Сложнее защититься от использования одноименных курсоров. Для переменных название строится [видимость][тип][название] для полей таблицы и свойств объектов [тип][название] где [видимость] - область видимости (g, p, t, l) например: lcName - локальная символьная переменная cName - символьное поле из текущего алиаса. никаких m. никогда не использую. Проблемы бывают иногда если в LOCAL локальную переменную добавить забуду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 16:52 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#18+
Сложнее защититься от использования одноименных курсоров. Сей проблем довольно неплохо решается сессиями данных. Но ими надо уметь пользоваться. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 16:54 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#18+
прошелмимо авторбез мп - никак! так, ради интереса ... короткий пример, а я покажу как безну давайте. это в любом случае - хорошо и полезно, чем меньше мп, тем надо понимать стабильнее прога? знач намалевал я класс текстбокса. захотел чтоб ён мне символы считал... кастомный метод CharsCount Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. Код: plaintext 1. и с LostFocus Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 16:56 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#18+
Ну как обычно! Вместо того, чтоб работать со ссылкой на объект, работаем с именем объекта. Код: plaintext Это первое и, скажем так, достаточно общее решение. Но у меня есть подозрения, что это всего лишь this.LenLabel Угадал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 17:04 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#18+
CTAC-KO... знач намалевал я класс текстбокса. захотел чтоб ён мне символы считал... Да уж, точно намалевал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 17:07 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=35085741&tid=1588251]: |
0ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
26ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
| others: | 217ms |
| total: | 350ms |

| 0 / 0 |
