:: Главная :: Решения :: Статьи :: Проект "Русский help" :: Файловый архив :: Фотоальбом :: Ссылки ::
   Л и с о в о д ы   в с е х   с т р а н,  о б ъ е д и н я й т е с ь !!!  


Форумы  :: FAQ FoxPro

Что означает префикс (буква) "m." перед именем
Дата: 31.03.05 08:35:37 ОтветитьЦитировать

Вопрос

Что означает префикс (буква) "m." перед именем. Например:

m.MyVar = 1
Ответ

Этот префикс указывает на то, что следом за ней следует имя переменной памяти, а не что-то другое.

Дело в том, что в случае отсутствия каких-либо префиксов FoxPro предполагает, что речь идет о поле таблицы в текущей рабочей области. И только если в текущей рабочей области нет поля с таким именем, выполняется поиск среди переменных памяти. Например:

  
 * Создаю временную таблицу с полем test  
  CREATE CURSOR test (test C(10))  
  INSERT INTO test (test) VALUES ('пример')  
    
 * Создаю переменную памяти с именем test  
  test = 1  
    
 * Считываем значение  
  ?"test=",test  
  ?"m.test=",m.test  
  ?"test.test=",test.test  
    
 * Переключаемся в рабочую область, где нет таблицы  
  SELECT 0  
    
 * И повторяем считывание значений  
  ?"test=",test  
  ?"m.test=",m.test  
  ?"test.test=",test.test

Т.е. префикс "m." добавляет определенности в Ваш код в том смысле, о чем идет речь в данном месте программы.

Кроме того, в операциях чтения данных такая однозначность позволяет несколько ускорить выполнение. Хотя в операциях присвоения - это приводит к некоторому замедлению. Впрочем, речь идет об очень незначительных задержках.

Поэтому, всегда добавляйте префикс "m." перед именем переменной для повышения читабельности и однозначности Вашей программы.



Отредактировано (31.03.05 21:26)


------------------
Ratings: 0 negative/0 positive


Тема Просмотров Написано Написано
  Все остальное, что не вошло в предыдущие разделы 5498 Владимир Максимов 01.03.05 20:44
  Что нового в новой версии Visual FoxPro 4736 Владимир Максимов 07.03.05 08:14
  Как переключиться на нужную раскладку клавиатуры 9240 Владимир Максимов 13.03.05 16:16
  Что означает префикс (буква) "m." перед именем 9218 Владимир Максимов 31.03.05 08:35
  Посоветуйте книгу или ресурс на русском языке для начинающих изучать FoxPro 13456 Владимир Максимов 26.04.05 21:17


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

On-line: 43 GM51  and Guests: 42


© 2006 Fox Club 
Яндекс.Метрика