:: Visual Foxpro, Foxpro for DOS
Re: Добавление записи из grid в текстовое поле
spinz

Сообщений: 5263
Дата регистрации: 21.01.2016
Так оно, но не думаю, что тов.Симпле ограничивается только этим
Ratings: 0 negative/0 positive
Re: Добавление записи из grid в текстовое поле
Ydin

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
Igor Korolyov
есть ситуации когда макро это единственная возможность более-менее приемлемо написать код
Мне нравится читаемость. В моем коде есть кому ковыряться. Пример
Цитата:
Function smth
lpara tcTableFrom, tcFields, tcWhere, tcTableTo
m.tcFields = evl(m.tcFields,'*')
m.tcWhere = iif(Empty(m.tcWhere),'',[ where ]+ m.tcWhere)
...
Select &tcFields from &tcTableFrom &tcWhere into curs &tcTableTo Readwrite
...
Это не код из программы. Чисто как доходчивый пример.
Назовите говнекодом - нормально и без моих обид, я адаптировался.
Мне читабельность важнее. Если по нажатию клавиши юзер получит результат (реакцию) в 1.001 сек., а мог бы в 1 сек., то просто не переживаю за него.
Читаемость ценю тоже



Исправлено 2 раз(а). Последнее : Ydin, 22.12.17 22:52
Ratings: 0 negative/0 positive
Re: Добавление записи из grid в текстовое поле
spinz

Сообщений: 5263
Дата регистрации: 21.01.2016
Для улучшения читаемости select, from и into тоже лучше сделать макросами
Ratings: 0 negative/0 positive
Re: Добавление записи из grid в текстовое поле
Ydin

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
IMHO, ухудшит. Просто изгадит читаемость.
&x..f1 - уже наши не поймут. Они не в чистом VFP пишут, на FrameWork'е.
Они не знают команды
Modi Form smth
Но & знают и не замарачиваются в своей бизнес-логике, что Eval() круче



Исправлено 2 раз(а). Последнее : Ydin, 22.12.17 20:57
Ratings: 0 negative/0 positive
Re: Добавление записи из grid в текстовое поле
spinz

Сообщений: 5263
Дата регистрации: 21.01.2016
Странно
Ratings: 0 negative/0 positive
Re: Добавление записи из grid в текстовое поле
Ydin

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
spinz
Странно
Странно, но хорошо. Постановщик пишет код
Ratings: 0 negative/0 positive
Re: Добавление записи из grid в текстовое поле
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Что же тут читабельного то?
Какие поля выбираются? Из каких таблиц? По каким условиям?
Чтобы прочесть эту "одну строку" я должен держать в голове 4, нет ЧЕТЫРЕ, переменных, при том предварительно отыскав в коде где же они задаются. И да, запросто окажется что их создание/наполнение "размазано" по десятку процедур и сотне строк кода. Т.е. я попросту не в состоянии буду без запуска и пошаговой отладки понять ЧТО же делает этот запрос.

Это настоящий кошмар в сопровождении. Не говоря уж о потенциальной SQL инъекции, которая таки неизбежна у всех любителей излишней динамики. Т.к. ни о каких "параметрах", и безопасности базовой части запроса тут речи не идёт, а значит в ту же строку cWhere может попасть всё что угодно - например вызов функции CreateAdmin("Вася","пароль123") ну или просто EXECSCRIPT('DELETE FROM Users' + chr(13)+chr(10)+ 'PACK').

И ради чего всё это? Какие реальные проблемы решаются таким кодом - по сравнению с простым как грабли
SELECT u.id, u.name, u.age, ;
u.gender, u.address ;
FROM user u INNER JOIN client c ;
ON u.id = c.user_id ;
WHERE c.status = m.paramStatus AND ;
u.creationDate = m.paramDate
Где всё совершенно очевидно, и никакого вреда даже потенциально использование такого блока кода нанести не сможет - чего бы не прописывалось в переменные-параметры paramStatus и paramDate - максимум возникнет ошибка несоответствия типа, если самому не проверить тип этих самых переменных.


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Добавление записи из grid в текстовое поле
Ydin

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
Igor Korolyov
Какие поля выбираются? Из каких таблиц? По каким условиям?
Выше lpara
Вот по ним. Куда проще?
Т.е. то, что в параметрах. То и передается. Функция, это не блок простого кода.
Стоп, может думаешь, что это вся функция?
Нет, это тут пример для & внутри функции. Я даже не думал, что так можно подумать
Мне надо, чтоб без меня мог кто-то по-проще модифицировать мою функцию, в т.ч. сам я через пару или больше лет
Читаемость, коменты, ... - все сгодится.
Правда, комментарии не всегда пишу, скорее редко. А когда был молодой, считал за правило.
Но тогда работали на больших машинах EC и на перфокартах



Исправлено 2 раз(а). Последнее : Ydin, 22.12.17 22:22
Ratings: 0 negative/0 positive
Re: Добавление записи из grid в текстовое поле
Simple777

Сообщений: 33855
Дата регистрации: 05.11.2006
spinz
Так оно, но не думаю, что тов.Симпле ограничивается только этим

Сижу себе, починяю примус, никого не трогаю, и вот на тебе... :al:

Я не фанат DOS, есличо. Я фанат консольного интерфейса для информационных систем, обрабатывающих алфавитно-цифровую информацию. Если б в VFP был бы консольный режим, я бы использовал VFP. [sm128]



Исправлено 1 раз(а). Последнее : Simple777, 22.12.17 22:02
Ratings: 0 negative/0 positive
Re: Добавление записи из grid в текстовое поле
Ydin

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
Simple777
Если б в VFP был бы консольный режим, я бы использовал VFP
Хочешь, кину.
В личку



Исправлено 4 раз(а). Последнее : Ydin, 27.12.17 16:20
Ratings: 0 negative/0 positive
Re: Добавление записи из grid в текстовое поле
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Simple777
Если б в VFP был бы консольный режим, я бы использовал VFP.
В VFP есть не то что консольный, вообще командный интерфейс - даже без намёка на какую либо "визуальность" - только буквы, только хардкор - это его окно Command. Т.к. по закону нельзя использовать саму IDE никому кроме обладателя лицензии, то можно сделать простое приложение - эмулятор командного окна фокса. Сиди, вводи команды, получай на экране текстовый листинг - лепота.
Единственно что, надо запретить команды типа BROWSE - т.к. это будет уже "не тот" интерфейс.


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Добавление записи из grid в текстовое поле
spinz

Сообщений: 5263
Дата регистрации: 21.01.2016
Разве из VFP нельзя работать с консолью?
Ratings: 0 negative/0 positive
Re: Добавление записи из grid в текстовое поле
Ydin

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
Можно. Делаю во всплывающем объекте по "спрятанному клику" на любой форме Фрворка.



Исправлено 1 раз(а). Последнее : Ydin, 27.12.17 16:21
Ratings: 0 negative/0 positive
Re: Добавление записи из grid в текстовое поле
Simple777

Сообщений: 33855
Дата регистрации: 05.11.2006
Да вот Криспа тоже говорил - легко эмулятор написать. А ВОЗ и ныне там. Никто такого эмулятора не продемонстрировал. Что же касаемо команды BROWSE и им подобных, то никогда их в своих приложениях не использовал - впадлу.
Ratings: 0 negative/0 positive
Re: Добавление записи из grid в текстовое поле
spinz

Сообщений: 5263
Дата регистрации: 21.01.2016
Simple777
Я фанат консольного интерфейса для информационных систем, обрабатывающих алфавитно-цифровую информацию.

Кстати, а чем так удобна консоль в подобных системах? По мне так даже ограничение на 80 символов строке (если не брать во внимание нестандартные режимы) - это уже сильное неудобство.
Ratings: 0 negative/0 positive
Re: Добавление записи из grid в текстовое поле
Simple777

Сообщений: 33855
Дата регистрации: 05.11.2006
spinz
Simple777
Я фанат консольного интерфейса для информационных систем, обрабатывающих алфавитно-цифровую информацию.

Кстати, а чем так удобна консоль в подобных системах? По мне так даже ограничение на 80 символов строке (если не брать во внимание нестандартные режимы) - это уже сильное неудобство.

Я щетаю, что 640 Kb ОЗУ всем хватит 80x25 вполне достаточно - в умелых руках и х.. балалайка. [sm021]

А всё остальное - нехорошие излишества для алфавитно-цифровых данных. [sm128]
Ratings: 0 negative/0 positive
Re: Добавление записи из grid в текстовое поле
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Никакие из "ограничений" не является ограничением свойственным консоли как понятию. И уж тем более в 80 позиций на строку.
Проблема в том что под консолью симпла понимает таки не консоль как таковую, а вполне себе "оконный" интерфейс FPD. И почему он так считает для меня загадка... А уж почему он считает рисование рамок окон и прочих "шейпов" псевдографикой чем-то хорошим, а то же самое но в виде более свободных линий на экране "злом" - это вообще за пределами моего понимания
Думаю что больше, всё же, дело в структуре программы - событийный механизм управления вместо практически линейного для FPD - вот это многое объясняет...


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Добавление записи из grid в текстовое поле
spinz

Сообщений: 5263
Дата регистрации: 21.01.2016
Simple777
в умелых руках и х.. балалайка.

лучше все же во рту
Ratings: 0 negative/0 positive
Re: Добавление записи из grid в текстовое поле
Simple777

Сообщений: 33855
Дата регистрации: 05.11.2006
В FPD, между прочим, есть READ, реагирующий на события, есличо. Хотя ума не приложу, зачем обрабатывать 30 различных событий при вводе букаф и цифр? :al:

По мне так достаточно обрабатывать клик мыши и нажатие клавиши на клаве. [sm128]
Ratings: 0 negative/0 positive
Re: Добавление записи из grid в текстовое поле
Simple777

Сообщений: 33855
Дата регистрации: 05.11.2006
spinz
Simple777
в умелых руках и х.. балалайка.

лучше все же во рту

О вкусах не спорят.
Ratings: 0 negative/0 positive


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

On-line: 26 (Гостей: 26)

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