|
|
|
Макроподстановка зло ?!
|
|||
|---|---|---|---|
|
#18+
SELECT надо сделать с сортировкой по условию. Порядок определяется в переменной пусть (qqq), если в селект ORDER BY &qqq всё работает, если ORDER BY (qqq) то выдаёт ошибку. Так как же без макроподстановки правильно сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2006, 21:02 |
|
||
|
Макроподстановка зло ?!
|
|||
|---|---|---|---|
|
#18+
Макроподстановка зло. Но иногда без нее не обойтись, увы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2006, 21:06 |
|
||
|
Макроподстановка зло ?!
|
|||
|---|---|---|---|
|
#18+
авторТак как же без макроподстановки правильно сделать. Она зло при непомерном использовании не по месту, где например "выражение имени" будет работать быстрее. В твоём случае она по месту. Обычная нормальная конструкция. Опять же при работе в цикле макро будет "вычисляться" и подставляться один раз - при первом проходе, а "выражение имени" - каждый проход. Главное каждый раз думать что будет уместнее и понятное дело - будет ли это работать в конкретном случае. В хелпе всё расписано. При использовании в объектном коде конец макро не забывай указывать второй точкой. Например такой фрагмент без макро мне описать не представляется: Код: plaintext 1. 2. однотипных методов, отвечающих за отрисовку тулбара и меню полтора десятка, поднимаются по малейшему пыху, нет ни малейшего намёка на тормоза. Так в чём же зло? Благо. А классическое сохранение/восстановление SET'ов через макро. Тоже не зло. Потому что по месту. Команда как команда - чего молодёжь пугать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2006, 21:58 |
|
||
|
Макроподстановка зло ?!
|
|||
|---|---|---|---|
|
#18+
Sergey SizovМакроподстановка зло. Но иногда без нее не обойтись, увы. Всегда использовал, использую и буду использовать. Хоть какой-то инструмент, похожий на обычный указатель с. А что есть лучше указателя? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 01:24 |
|
||
|
Макроподстановка зло ?!
|
|||
|---|---|---|---|
|
#18+
Например такой фрагмент без макро мне описать не представляется: LOCAL lcActiveGrid lcActiveGrid = This.cActiveGrid RETURN This.&lcActiveGrid..lAllowCopy Код: plaintext Или: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 09:01 |
|
||
|
Макроподстановка зло ?!
|
|||
|---|---|---|---|
|
#18+
авторВсегда использовал, использую и буду использовать не я у тебя начальником - я б тебе руки отбил ума нет, одно слово еще куча идиотов динамический скл пишет - поубивал бы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 09:13 |
|
||
|
Макроподстановка зло ?!
|
|||
|---|---|---|---|
|
#18+
BMJSELECT надо сделать с сортировкой по условию. Порядок определяется в переменной пусть (qqq), если в селект ORDER BY &qqq всё работает, если ORDER BY (qqq) то выдаёт ошибку. Так как же без макроподстановки правильно сделать. Можно проиндексировать результат выборки. Можно написать n-ое кол-во селектов в do case. Если замена простой и читаемой в коде макроподстановки ведет написанию нечитабельного кода, то уж лучше использовать макроподстановку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 09:53 |
|
||
|
Макроподстановка зло ?!
|
|||
|---|---|---|---|
|
#18+
2 alex11100 А что плохого в динамическом скл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 09:58 |
|
||
|
Макроподстановка зло ?!
|
|||
|---|---|---|---|
|
#18+
купи сервак за 20 тонн и посмотри загрузку процессоров ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 10:18 |
|
||
|
Макроподстановка зло ?!
|
|||
|---|---|---|---|
|
#18+
зато можно получить смешную программную конструкцию как то: PARA a c=IIF(a=1, "*" , " ") &c a=a+1 a=a+1 ?a ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 10:49 |
|
||
|
Макроподстановка зло ?!
|
|||
|---|---|---|---|
|
#18+
2 alex11100 А все-таки - что плохого? Уж разъясните, пожалуйста! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 10:56 |
|
||
|
Макроподстановка зло ?!
|
|||
|---|---|---|---|
|
#18+
Ну елы-палы , зачем такая категоричность . С дуру конечно можно и сами_знаете_что сломать. Однако есть случаи , когда макроподстановка удобнее или по другому ну никак . Просто не стоит злоупотреблять... Кстати , то-же относиться и к динамическому SQL - ясное дело что если это select поле1,поле2 from table то за такое нужно по рукам лупить . А если это построение кросс-таблицы или запроса по фильтрам и условиям , полученным от пользователя - тогда тут без динамики никуда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 11:16 |
|
||
|
Макроподстановка зло ?!
|
|||
|---|---|---|---|
|
#18+
2Sergey Sizov Код: plaintext так и написано - с использованием EVALUATE. А здесь не получалось, вот и задействовал макро. Надо будет проверить твой вариант. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 11:47 |
|
||
|
Макроподстановка зло ?!
|
|||
|---|---|---|---|
|
#18+
чтобы дурью не страдать нужно правильно ссылки передавать если нужно продергивать методы, то и присваивайте объект в ссылку динамический sql - зло, особенно когда на пустом месте (в большинстве случаев вместо красного можно написать черненьким и синеньким) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 11:59 |
|
||
|
Макроподстановка зло ?!
|
|||
|---|---|---|---|
|
#18+
alex11100динамический sql - зло, особенно когда на пустом месте Я бы сказал так динамический sql - зло, ЕСЛИ на пустом месте Не понимаю Вашей категоричности.Всем можно пользоваться- только с умом. Пример из жизни Что есть водка - добро или зло ? По мне если 100 грам под шашлычок или пельмешки , да в хорошей компании - то добро. А вот ежели пол литра паленой в подворотне под занюхивание руковом - зло. Пардон за оффтоп - пятница ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 12:08 |
|
||
|
Макроподстановка зло ?!
|
|||
|---|---|---|---|
|
#18+
авторводка - добро или зло ? Хороший пример, а хотел его ещё в первом посте привести, но... сдержался ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 13:54 |
|
||
|
Макроподстановка зло ?!
|
|||
|---|---|---|---|
|
#18+
-=AlexiS=- alex11100динамический sql - зло, особенно когда на пустом месте Я бы сказал так динамический sql - зло, ЕСЛИ на пустом месте Не понимаю Вашей категоричности.Всем можно пользоваться- только с умом. Пример из жизни Что есть водка - добро или зло ? По мне если 100 грам под шашлычок или пельмешки , да в хорошей компании - то добро. А вот ежели пол литра паленой в подворотне под занюхивание руковом - зло. Пардон за оффтоп - пятница Золотые слова, особенно про "..100 грам под шашлычок.." Двумя руками за :) А если серьезно, то иногда просто нет другово способа, как собрать в строку SELECT-SQL и затем на нее & . Всяко будет быстрее, чем плодить кучу CASE или IF С уважением, Алексей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 13:55 |
|
||
|
Макроподстановка зло ?!
|
|||
|---|---|---|---|
|
#18+
2 Aleksey-K если писать как на 2-м прг, то понятно, у Вас нет способа КА посмотрите и селекткмд у него и скажите мне зачем там макроподстановка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 14:11 |
|
||
|
Макроподстановка зло ?!
|
|||
|---|---|---|---|
|
#18+
люди о патернах думают, кубики раскладывают, кружечки рисуют ... водка, макроподстановка ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 14:16 |
|
||
|
Макроподстановка зло ?!
|
|||
|---|---|---|---|
|
#18+
Добрее pls, добрее... пятница всё же ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 15:01 |
|
||
|
Макроподстановка зло ?!
|
|||
|---|---|---|---|
|
#18+
alex111002 Aleksey-K если писать как на 2-м прг, то понятно, у Вас нет способа КА посмотрите и селекткмд у него и скажите мне зачем там макроподстановка Что-то я не понял про КА !!!! Мы про что говорим? Я про SELECT-SQL к ЛОКАЛЬНЫМ таблицам (курсорам) для всяческих для пользователя прятствах :) (дополнительня сортировка, фильтрация, группировака и пр.)! Или вы и к локальным курсорам через КА ходите? С уважением, Алексей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 15:30 |
|
||
|
Макроподстановка зло ?!
|
|||
|---|---|---|---|
|
#18+
найдете макроподстановку - покажите мне я не знаю зачем мне влокальных курсорах делать макроподстановку я всегда знаю что и где и зачем и контролы сами знают откуда что брать и куда чего .... разный стиль и подход вначале в кубики играться нужно, а уже затем кодить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 16:11 |
|
||
|
Макроподстановка зло ?!
|
|||
|---|---|---|---|
|
#18+
Ну и где в твоём примере SELECT-SQL к ЛОКАЛЬНЫМ таблицам А вот твои relations между таблицами и использование их влоб - действительно зло ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 16:51 |
|
||
|
Макроподстановка зло ?!
|
|||
|---|---|---|---|
|
#18+
это пример того, что если не знаешь, что и где и то это поднимается без макроподстановок ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 16:58 |
|
||
|
Макроподстановка зло ?!
|
|||
|---|---|---|---|
|
#18+
Почитай pls исходный вопрос авторSELECT надо сделать с сортировкой по условию. Порядок определяется в переменной пусть (qqq), если в селект ORDER BY &qqq всё работает, если ORDER BY (qqq) то выдаёт ошибку. Так как же без макроподстановки правильно сделать. И я ответил что в данном случае макроподстановка уместна. А твой пример неплохой, можно кое-что найти интересное, только не совсем по теме. Хороших выходных! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 17:16 |
|
||
|
Макроподстановка зло ?!
|
|||
|---|---|---|---|
|
#18+
я не знаю к примеру какую нужно решить задачу ну вот к примеру нужно сделать объект, который будет что-то вычислять ... ну не знаю ну оч.просто делается создается кастом в него уже кладется КА и он что-то делает и отдает кому угодно источники - курсоры .... вот и применение чаще всего можно и в селекте можно обойтись без макроподстановки select tt,eee,rrr from (lcAlias) where id=lnId ведь и метод можно перегрузить в нужных местах, если его правильно написать объект ну так ведь нельзя писать select * from &cAlias into table &thisform.Alias ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 18:23 |
|
||
|
Макроподстановка зло ?!
|
|||
|---|---|---|---|
|
#18+
да, и финты ушами никто не отменял Код: plaintext 1. 2. 3. 4. 5. 6. можно вывернуться и придумать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 18:32 |
|
||
|
Макроподстановка зло ?!
|
|||
|---|---|---|---|
|
#18+
Ув. alex11100 - вот вам пример - есть некая форма - на ней грид , в него выводиться некоторое кол-во инфы. у пользователя есть возможность выбирать свои условия отбора и сортировки. Причем условий этих достаточно много и они могут быть достаточно сложными и основываться на выборках из других таблиц. Количество условий- величина переменная Как вы решили бы проблему получения из пользовательского курсора отчета или xls файла с этими самыми юзерскими изысками ? ***** Лично я делаю примерно так -Обхожу контролы, в которых юзер что-то навыбирал, в зависимости от значений строю строку для where _filtr_ и для order by _ordr_ для локального курсора - Получаю строку типа select * from cursor where _filrt_ order by _ordr_ - Выполняю &CursorStr - Гоню все это дело в xls или репорт Если же мне нужно получить запрос с сервера я генерю динамический SQL и выполняю его на сервере (на самом деле несколько сложнее- но идея все-же в динамическом построении запросов) Лично мне так удобно, да и юзера не жалуються... Пример интерфейса отбора условий фильтрации - на картинке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 18:55 |
|
||
|
Макроподстановка зло ?!
|
|||
|---|---|---|---|
|
#18+
to alexis делаю примерно так же только без or - для моих юзеров сложно ?1 интерфейс английский - пользвователи англоязычные ? ?2 идея с скобками интересеная но самому мне проще в команд. окне написать а юзеры у меня ... своих долго обучал ? :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 21:27 |
|
||
|
Макроподстановка зло ?!
|
|||
|---|---|---|---|
|
#18+
Работает ? Ну и не слушай никого. Когда не устроит - сам разберешься. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2006, 00:15 |
|
||
|
Макроподстановка зло ?!
|
|||
|---|---|---|---|
|
#18+
-=AlexiS=-, DOOM пишешь ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2006, 01:30 |
|
||
|
Макроподстановка зло ?!
|
|||
|---|---|---|---|
|
#18+
to Гулин Федор Пользователи интернациональные - поэтому собственно и интерфейс на "языке межнационального общения" На форме есть и простые фильтры , а этот кусок - для "продвинутых" , и пока находиться на стадии тестирования и "вреднения". Пользуются им пока что мало , но те кто хотел такого - довольны. to MSDN - не понял DOOM то при чем ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2006, 10:55 |
|
||
|
Макроподстановка зло ?!
|
|||
|---|---|---|---|
|
#18+
2 -=AlexiS=- И что совсем нет возможности типизировать отчеты? Пока не встречался с необходимостью такого построителя. Для этого пользователи должны быть уж совсем продвинутыми. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2006, 11:29 |
|
||
|
Макроподстановка зло ?!
|
|||
|---|---|---|---|
|
#18+
то babys таких пользователей очень мало, но есть . А насчет отчетов - они тоже есть и достаточно много.Их содержание и количество пользователей устраивает. Просто иногда у людей с "большим" весом (я имею ввиду должность) возникают "нестандартные" запросы. Вот тогда-то такой построитель и приходит на помошь.Если уж не пользователям , то службе поддержки. PS Ну и еще мне было интнресно построить вот такую штуку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2006, 14:50 |
|
||
|
Макроподстановка зло ?!
|
|||
|---|---|---|---|
|
#18+
Для пользователей с большим весом вывожу все данные в Excel и делаю сводную таблицу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2006, 15:26 |
|
||
|
Макроподстановка зло ?!
|
|||
|---|---|---|---|
|
#18+
Так таки никто внятно и не объяснил почему макроподстановка - зло. А как по мне - все что правильно работает - благо :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2006, 11:24 |
|
||
|
Макроподстановка зло ?!
|
|||
|---|---|---|---|
|
#18+
s.e.r.g.e.y.Так таки никто внятно и не объяснил почему макроподстановка - зло. Потому что никто так не считает. Автор темы BMJ перепутал макроподстановку (символ &) и выражение имени (скобки). Они работают по разному и предназначены для разных целей. Иногда результат их работы совпадает. Отсюда и путаница. s.e.r.g.e.y.А как по мне - все что правильно работает - благо :) Не всегда. Т.е. это хорошо для готовой программы. Но программирование - это не только "написал и забыл". Как правило, это еще и "написал, исправил, дополнил, исправил, дополнил,...". Так вот, с точки зрения последующей модификации приложения макроподстановка сильно усложняет понимание программного кода. Просто тяжело понять, что откуда берется. Поэтому, если есть возможность , макроподстановки лучше избегать. Разумеется, не всегда возможно отказаться от макроподстановки. Точнее, отказаться можно всегда, но зачастую это приведет к неоправданному раздуванию программного кода. Тут надо смотреть по конкретной задаче. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2006, 12:02 |
|
||
|
Макроподстановка зло ?!
|
|||
|---|---|---|---|
|
#18+
Иногда усложняет понимание а иногда облегчает. Понятно , что использовать ее надо с умом , вообще при прграмировании ум иногда нужен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2006, 14:23 |
|
||
|
|

start [/forum/topic.php?all=1&fid=41&tid=1590390]: |
0ms |
get settings: |
7ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
150ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
96ms |
get tp. blocked users: |
2ms |
| others: | 252ms |
| total: | 548ms |

| 0 / 0 |
