:: Visual Foxpro, Foxpro for DOS
что за переменная m.?
snoop
Автор

Сообщений: 378
Дата регистрации: 14.11.2002
привет всем
дело такое, достался старый код 2.6, сужу правлю его, нашел такое вот обЪявление переменоой
m.kodpl=' '

потом идет активное юзание этой переменной,

@ 6,3 say 'Код партнера (0-все)- 'get m.kodpl

подскажите что за такое
похоже на массив или на какой-то указатель
Ratings: 0 negative/0 positive
Re: что за переменная m.?
piva

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
префикс m. указывает на то что это переменная памяти а не поле активной таблицы




------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: что за переменная m.?
snoop
Автор

Сообщений: 378
Дата регистрации: 14.11.2002
ну ведь я могу обЪявить и просто переменную хххх=" фыв", не обязательно ведь префикс м. или это как страховка, на всякий пожарный, вдруг будет одноименное поле? мне кажется что это просто старый синтаксис
Ratings: 0 negative/0 positive
Re: что за переменная m.?
PaulWist

Сообщений: 14618
Дата регистрации: 01.04.2004
Цитата:
ну ведь я могу обЪявить и просто переменную хххх=" фыв", не обязательно ведь префикс м. или это как страховка, на всякий пожарный, вдруг будет одноименное поле? мне кажется что это просто старый синтаксис

Ну, да некая страховка - при совпадении имени переменной с полем, если не указать префикс, то возмется поле.




------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: что за переменная m.?
vlad

Сообщений: 850
Откуда: Запорожье
Дата регистрации: 28.09.2000
Цитата:
вдруг будет одноименное поле?
будет если пользовать к примеру SCATTER...MEMVAR
Ratings: 0 negative/0 positive
Re: что за переменная m.?
Glyba

Сообщений: 386
Откуда: Собинка
Дата регистрации: 23.09.2004
Слева от знака = может быть только имя переменной, а не поле, поэтому m. там не нужно - неоднозначности не возникает.
Ratings: 0 negative/0 positive
Re: что за переменная m.?
vlad

Сообщений: 850
Откуда: Запорожье
Дата регистрации: 28.09.2000
имелось в виду, что эта команда создает переменные с именем поля и ситуация, когда есть поле и переменная с одинаковым именем, не такая уж редкость (особенно актуально когда дописываешь кусок в чужой код...)
Ratings: 0 negative/0 positive
Re: что за переменная m.?
snoop
Автор

Сообщений: 378
Дата регистрации: 14.11.2002
я уверен, что если создавать переменный по правилам именования, то не возникнет ситуации дублирования с именами поелей в таблице
Ratings: 0 negative/0 positive
Re: что за переменная m.?
Владимир Максимов

Сообщений: 14097
Откуда: Москва
Дата регистрации: 02.09.2000
Добавлен вопрос в FAQ

Что означает префикс (буква) "m." перед именем
Ratings: 0 negative/0 positive
Re: что за переменная m.?
IGOR_SMIRNOVSKY

Сообщений: 132
Откуда: СПб
Дата регистрации: 02.03.2005
2 Glyba
В макроподстановке должно стоять имя переменной без m..




------------------
дураком помру
Ratings: 0 negative/0 positive
Re: что за переменная m.?
Glyba

Сообщений: 386
Откуда: Собинка
Дата регистрации: 23.09.2004
Цитата:
В макроподстановке должно стоять имя переменной без m..
Ну да! Именно потому, что в макроподстановке поля не допускаются, а только переменные.
Ratings: 0 negative/0 positive
Re: что за переменная m.?
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Hi snoop!

Цитата:
я уверен, что если создавать переменный по правилам именования, то не возникнет ситуации дублирования с именами поелей в таблице
Это зависит от правил именования. Если применять те что описаны в хелпе (известны как "Венгерская нотация") - то вполне может возникнуть...
'lc___' переменная и 'l___' поле, "реальное" имя которого начинается на 'c' - запросто могут совпадать.
Кроме того есть небольшие вариации в производительности - доступ с явным указанием префикса в ряде случаев несколько быстрее чем БЕЗ префикса. Естественно что это относится лишь к тем местам, где ЕСТЬ потенциальная неоднозначность. Слева от знака присвоения 'm.' никогда не требуется - там ВСЕГДА переменная будет. А вот справа от знака присвоения может быть как переменная, так и поле из текущей таблицы. Аналогично и в параметрах передаваемых функциям (за рядом исключений конечно).




------------------
WBR, Igor
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 30 PaulWist  (Гостей: 29)

© 2000-2024 Fox Club 
Яндекс.Метрика