powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Макроподстановка зло ?!
25 сообщений из 39, страница 1 из 2
Макроподстановка зло ?!
    #34117568
BMJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BMJ
Гость
SELECT надо сделать с сортировкой по условию. Порядок определяется в переменной пусть (qqq), если в селект ORDER BY &qqq всё работает, если ORDER BY (qqq) то выдаёт ошибку. Так как же без макроподстановки правильно сделать.
...
Рейтинг: 0 / 0
Макроподстановка зло ?!
    #34117576
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Макроподстановка зло. Но иногда без нее не обойтись, увы.
...
Рейтинг: 0 / 0
Макроподстановка зло ?!
    #34117651
Cyv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторТак как же без макроподстановки правильно сделать.
Она зло при непомерном использовании не по месту, где например
"выражение имени" будет работать быстрее.
В твоём случае она по месту. Обычная нормальная конструкция.

Опять же при работе в цикле макро будет "вычисляться" и подставляться
один раз - при первом проходе, а "выражение имени" - каждый проход.
Главное каждый раз думать что будет уместнее и понятное дело - будет
ли это работать в конкретном случае. В хелпе всё расписано.

При использовании в объектном коде конец макро не забывай указывать
второй точкой. Например такой фрагмент без макро мне описать не
представляется:

Код: plaintext
1.
2.
LOCAL lcActiveGrid
lcActiveGrid = This.cActiveGrid
RETURN This.&lcActiveGrid..lAllowCopy

однотипных методов, отвечающих за отрисовку тулбара и меню полтора
десятка, поднимаются по малейшему пыху, нет ни малейшего намёка на тормоза. Так в чём же зло?
Благо.

А классическое сохранение/восстановление SET'ов через макро.
Тоже не зло. Потому что по месту. Команда как команда - чего молодёжь пугать?
...
Рейтинг: 0 / 0
Макроподстановка зло ?!
    #34117823
ORAselect
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey SizovМакроподстановка зло. Но иногда без нее не обойтись, увы.
Всегда использовал, использую и буду использовать. Хоть какой-то инструмент, похожий на обычный указатель с. А что есть лучше указателя?
...
Рейтинг: 0 / 0
Макроподстановка зло ?!
    #34118116
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Например такой фрагмент без макро мне описать не
представляется:

LOCAL lcActiveGrid
lcActiveGrid = This.cActiveGrid
RETURN This.&lcActiveGrid..lAllowCopy

Код: plaintext
Return evaluate('This.'+cActiveGrid+'.lAllowCopy')

Или:
Код: plaintext
1.
2.
LOCAL loActiveGrid
loActiveGrid = evaluate('This.'+cActiveGrid)
RETURN loActiveGrid.lAllowCopy
...
Рейтинг: 0 / 0
Макроподстановка зло ?!
    #34118163
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторВсегда использовал, использую и буду использовать

не я у тебя начальником - я б тебе руки отбил
ума нет, одно слово


еще куча идиотов динамический скл пишет - поубивал бы
...
Рейтинг: 0 / 0
Макроподстановка зло ?!
    #34118331
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BMJSELECT надо сделать с сортировкой по условию. Порядок определяется в переменной пусть (qqq), если в селект ORDER BY &qqq всё работает, если ORDER BY (qqq) то выдаёт ошибку. Так как же без макроподстановки правильно сделать.

Можно проиндексировать результат выборки. Можно написать n-ое кол-во селектов в do case. Если замена простой и читаемой в коде макроподстановки ведет написанию нечитабельного кода, то уж лучше использовать макроподстановку.
...
Рейтинг: 0 / 0
Макроподстановка зло ?!
    #34118345
DmGr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 alex11100

А что плохого в динамическом скл?
...
Рейтинг: 0 / 0
Макроподстановка зло ?!
    #34118421
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
купи сервак за 20 тонн
и посмотри загрузку процессоров
...
Рейтинг: 0 / 0
Макроподстановка зло ?!
    #34118563
TallinAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зато можно получить смешную программную конструкцию

как то:


PARA a
c=IIF(a=1, "*" , " ")
&c a=a+1
a=a+1
?a
...
Рейтинг: 0 / 0
Макроподстановка зло ?!
    #34118598
Peisov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 alex11100

А все-таки - что плохого? Уж разъясните, пожалуйста!
...
Рейтинг: 0 / 0
Макроподстановка зло ?!
    #34118672
-=AlexiS=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну елы-палы , зачем такая категоричность .
С дуру конечно можно и сами_знаете_что сломать.
Однако есть случаи , когда макроподстановка удобнее или по другому ну никак .
Просто не стоит злоупотреблять...

Кстати , то-же относиться и к динамическому SQL - ясное дело что если это
select поле1,поле2 from table
то за такое нужно по рукам лупить .
А если это построение кросс-таблицы или запроса по фильтрам и условиям , полученным от пользователя - тогда тут без динамики никуда.
...
Рейтинг: 0 / 0
Макроподстановка зло ?!
    #34118854
Cyv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Sergey Sizov
Код: plaintext
Return evaluate('This.'+cActiveGrid+'.lAllowCopy')
Да, должно по идее работать, у меня в некоторых других методах
так и написано - с использованием EVALUATE.
А здесь не получалось, вот и задействовал макро. Надо будет
проверить твой вариант.
...
Рейтинг: 0 / 0
Макроподстановка зло ?!
    #34118913
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
чтобы дурью не страдать
нужно правильно ссылки передавать

если нужно продергивать методы, то и присваивайте объект в ссылку

динамический sql - зло, особенно когда на пустом месте
(в большинстве случаев вместо красного можно написать черненьким и синеньким)
...
Рейтинг: 0 / 0
Макроподстановка зло ?!
    #34118964
-=AlexiS=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex11100динамический sql - зло, особенно когда на пустом месте
Я бы сказал так
динамический sql - зло, ЕСЛИ на пустом месте

Не понимаю Вашей категоричности.Всем можно пользоваться- только с умом.
Пример из жизни

Что есть водка - добро или зло ?
По мне если 100 грам под шашлычок или пельмешки , да в хорошей компании - то добро. А вот ежели пол литра паленой в подворотне под занюхивание руковом - зло.
Пардон за оффтоп - пятница
...
Рейтинг: 0 / 0
Макроподстановка зло ?!
    #34119463
Cyv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторводка - добро или зло ?
Хороший пример, а хотел его ещё в первом посте привести,
но... сдержался
...
Рейтинг: 0 / 0
Макроподстановка зло ?!
    #34119474
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-=AlexiS=- alex11100динамический sql - зло, особенно когда на пустом месте
Я бы сказал так
динамический sql - зло, ЕСЛИ на пустом месте

Не понимаю Вашей категоричности.Всем можно пользоваться- только с умом.
Пример из жизни

Что есть водка - добро или зло ?
По мне если 100 грам под шашлычок или пельмешки , да в хорошей компании - то добро. А вот ежели пол литра паленой в подворотне под занюхивание руковом - зло.
Пардон за оффтоп - пятница

Золотые слова, особенно про "..100 грам под шашлычок.."
Двумя руками за :)
А если серьезно, то иногда просто нет другово способа, как собрать в строку SELECT-SQL и затем на нее & . Всяко будет быстрее, чем плодить кучу CASE или IF
С уважением, Алексей.
...
Рейтинг: 0 / 0
Макроподстановка зло ?!
    #34119548
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Aleksey-K

если писать как на 2-м прг, то понятно, у Вас нет способа
КА посмотрите и селекткмд у него
и скажите мне зачем там макроподстановка
...
Рейтинг: 0 / 0
Макроподстановка зло ?!
    #34119575
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
люди о патернах думают,
кубики раскладывают, кружечки рисуют

... водка, макроподстановка ...
...
Рейтинг: 0 / 0
Макроподстановка зло ?!
    #34119769
Cyv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрее pls, добрее... пятница всё же
...
Рейтинг: 0 / 0
Макроподстановка зло ?!
    #34119885
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex111002 Aleksey-K

если писать как на 2-м прг, то понятно, у Вас нет способа
КА посмотрите и селекткмд у него
и скажите мне зачем там макроподстановка
Что-то я не понял про КА !!!!
Мы про что говорим? Я про SELECT-SQL к ЛОКАЛЬНЫМ таблицам (курсорам) для всяческих для пользователя прятствах :)
(дополнительня сортировка, фильтрация, группировака и пр.)!
Или вы и к локальным курсорам через КА ходите?
С уважением, Алексей.
...
Рейтинг: 0 / 0
Макроподстановка зло ?!
    #34120029
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
найдете макроподстановку - покажите мне

я не знаю зачем мне влокальных курсорах делать макроподстановку
я всегда знаю что и где и зачем
и контролы сами знают откуда что брать и куда чего ....

разный стиль и подход
вначале в кубики играться нужно, а уже затем кодить
...
Рейтинг: 0 / 0
Макроподстановка зло ?!
    #34120176
Cyv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и где в твоём примере SELECT-SQL к ЛОКАЛЬНЫМ таблицам

А вот твои relations между таблицами и использование их влоб
- действительно зло
...
Рейтинг: 0 / 0
Макроподстановка зло ?!
    #34120200
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
это пример того,
что если не знаешь, что и где
и то это поднимается без макроподстановок
...
Рейтинг: 0 / 0
Макроподстановка зло ?!
    #34120264
Cyv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почитай pls исходный вопрос
авторSELECT надо сделать с сортировкой по условию. Порядок определяется в переменной пусть (qqq), если в селект ORDER BY &qqq всё работает, если ORDER BY (qqq) то выдаёт ошибку. Так как же без макроподстановки правильно сделать.
И я ответил что в данном случае макроподстановка уместна.

А твой пример неплохой, можно кое-что найти интересное, только не совсем
по теме. Хороших выходных!
...
Рейтинг: 0 / 0
25 сообщений из 39, страница 1 из 2
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Макроподстановка зло ?!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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