:: Visual Foxpro, Foxpro for DOS
Что делать, когда лень исправлять. Вопрос о работе с классами
ZenTigra
Автор

Сообщений: 514
Дата регистрации: 03.12.2004
Проблема вот в чем, есть много форм, они содержат много полей ввода, и для каждого поля необходимо прописать некоторый код, на жаль когда создавались эти формы я не очень любил создавать свои классы, а теперь каюсь.

Возможно ли создать свой класс textbox, и автоматически в этих формах прописать в свойствах text.class свой класс?
Ratings: 0 negative/0 positive
Re: Что делать, когда лень исправлять. Вопрос о работе с классами
ssa

Сообщений: 12999
Откуда: Москва
Дата регистрации: 23.03.2005
ZenTigra
Возможно ли создать свой класс textbox, и автоматически в этих формах прописать в свойствах text.class свой класс?
Возможно. И даже приходится, как и в описанном случае при переделке некоего старья сей финт использовать. Делается заменой значений двух полей: Class и ClassLoc в нужных записях.

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Что делать, когда лень исправлять. Вопрос о работе с классами
ZenTigra
Автор

Сообщений: 514
Дата регистрации: 03.12.2004
[quote ssa][quote ZenTigra]... Делается заменой значений двух полей: Class и ClassLoc в нужных записях.[/quote]

Так они ж недоступные... Или изменить ручками напрямую в файле?



Исправлено 1 раз(а). Последнее : ZenTigra, 08.06.17 09:36
Ratings: 0 negative/0 positive
Re: Что делать, когда лень исправлять. Вопрос о работе с классами
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Вот такой экран для исправления файлов форм и классов сделал в свое время. Много кнопок...



Исправлено 1 раз(а). Последнее : of63, 08.06.17 16:24
Ratings: 0 negative/0 positive
Re: Что делать, когда лень исправлять. Вопрос о работе с классами
ssa

Сообщений: 12999
Откуда: Москва
Дата регистрации: 23.03.2005
ZenTigra
Так они ж недоступные... Или изменить ручками напрямую в файле?
Ну разумеется... Я ж не писал про замену свойств, не так ли?

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Что делать, когда лень исправлять. Вопрос о работе с классами
ssa

Сообщений: 12999
Откуда: Москва
Дата регистрации: 23.03.2005
of63
Много кнопок...
А уж сколько кода совершенно лишнего...

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Что делать, когда лень исправлять. Вопрос о работе с классами
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
да, BROWSE вполне достаточно
Ratings: 0 negative/0 positive
Re: Что делать, когда лень исправлять. Вопрос о работе с классами
ssa

Сообщений: 12999
Откуда: Москва
Дата регистрации: 23.03.2005
of63
да, BROWSE вполне достаточно
Речь о всяких Alltrim на Alltrim (да-да, Alltrim на Alltrim) на то, что и так можно получить без Alltrim и вообще без кода, совершенно лишних переменных и т.д. Да одна только строка Private all like ? почти во всех методах уже о многом говорит. При этом, однако, однобуквенные переменные таки прeффиксуются m., что наводит на мысль о наличии таких же информативных однобуквенных имен полей... Скрещение ужа с ежом, старых FPD-шных привычек в новой ООП-шной среде.

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Что делать, когда лень исправлять. Вопрос о работе с классами
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Смотреть чужой код, это как заглядывать под юбку
Private all like ? - это мое всё, это как для вас LOCAL liCount
Ratings: 0 negative/0 positive
Re: Что делать, когда лень исправлять. Вопрос о работе с классами
ssa

Сообщений: 12999
Откуда: Москва
Дата регистрации: 23.03.2005
of63
Смотреть чужой код, это как заглядывать под юбку
Отмаза не катит. Иначе на всех программистских форумах и в командах занимаются исключительно заглядыванием под юбки.
Цитата:
Private all like ? - это мое всё, это как для вас LOCAL liCount
Да, собственно об этом и спичь, это и так понятно. И что ООП ты воспринимаешь как непонятно как и для чего, но сделанное деление на процедуры, вызываемые в каком-то относительно определенном порядке. Про создание свойств и методов в дизайнтайме, похоже, тоже не подозреваешь ибо private all решает проблемы с любимыми переменными x, z, r, n и т.д.

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Что делать, когда лень исправлять. Вопрос о работе с классами
spinz

Сообщений: 5263
Дата регистрации: 21.01.2016
of63
Смотреть чужой код, это как заглядывать под юбку

Как будто что-то плохое
Ratings: 0 negative/0 positive
Re: Что делать, когда лень исправлять. Вопрос о работе с классами
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Цитата:
Смотреть чужой код, это как заглядывать под юбку Отмаза не катит. Иначе на всех программистских форумах и в командах занимаются исключительно заглядыванием под юбки.
По чужим кодам пройтись - это да, все мастера. Выкладывают не все, стесняются что-ли... У меня напарник пишет так, что глаза бы мои не видели. Говорю, а что ты вот так не делаешь, так короче или "лучше", он говорит - по другому не умею. Я не пристаю, работает его деталь, и хорошо. Дело хозяйское.
Цитата:
Private all like ? - это мое всё, это как для вас LOCAL liCount. Да, собственно об этом и спичь, это и так понятно. И что ООП ты воспринимаешь как непонятно как и для чего, но сделанное деление на процедуры, вызываемые в каком-то относительно определенном порядке. Про создание свойств и методов в дизайнтайме, похоже, тоже не подозреваешь ибо private all решает проблемы с любимыми переменными x, z, r, n и т.д.
Насчет "свойств и методов в дизайнтайме", и рантайме, все в порядке. Справки нет к сожалению.
Глубинной связи Private all like ?, однобуквенных переменных и ООП - не понял.
Ratings: 0 negative/0 positive
Re: Что делать, когда лень исправлять. Вопрос о работе с классами
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
of63
Глубинной связи Private all like ?, однобуквенных переменных и ООП - не понял.
Связь простая. Всё это суть вещи которые не следует делать в VFP.

Не следует использовать private переменных (за очень редким исключением) - а соответственно и нет нужны в команде PRIVATE, тем более PRIVATE ALL.

Не следует использовать однобуквенные имена переменных (из-за застарелого конфликта с "именами" первых 10-ти рабочих областей, и корявого префикса переменных m. - опять же проистекающего из-за застарелого приоритета полей курсора открытого в текущей рабочей области над одноимёнными переменными.)

Следует использовать ООП для организации кода, в т.ч. и для "переменных" общих для нескольких программных модулей.

Выкладывая свой код вполне логично следует ожидать его критики. В т.ч. и в части "стиля".
FPD стиль в VFP выглядит по меньшей мере неуместным... И "я так привык" оправданием не является, конечно же.


------------------
WBR, Igor
Ratings: 0 negative/1 positive
Re: Что делать, когда лень исправлять. Вопрос о работе с классами
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Плюсанул. И код вычеркните пожалуйста, товарищи модераторы.
Ratings: 0 negative/0 positive
Re: Что делать, когда лень исправлять. Вопрос о работе с классами
ssa

Сообщений: 12999
Откуда: Москва
Дата регистрации: 23.03.2005
Кстати, а ты точно ту, что надо, форму выложил?
Ибо:
of63
4. Нажать кнопку "Укоротить путь" (путь от класса к форме будет сокращен до минимального относительного от библиотеки класса до каталога с
файлами-источниками)
И где сия кнопка?
А так же:
of63
8. Нажать "Конверт." - произойдет изменение и переход к следующему файлу, если ничего не было выбрано никаких изменений не произойдет.
И почему внутри код про таблицу Clients?


------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Что делать, когда лень исправлять. Вопрос о работе с классами
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Да, не ту узиповал. Это исправлялка содержимого таблиц. Виноват. Положил ту.



Исправлено 1 раз(а). Последнее : of63, 08.06.17 16:25
Ratings: 0 negative/0 positive
Re: Что делать, когда лень исправлять. Вопрос о работе с классами
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Вообще для более-менее "понимающего" разработчика такие утилиты не очень нужны, т.к. проделать замену при помощи
UPDATE myform.scx SET Class = "cmd1", ClassLoc = "..\class\mylib.vcx" WHERE BaseClass="commandbutton" AND Class = "commandbutton"
USE
ну как бы не составляет труда... всяко "подконтрольнее" будет что на что меняется. Да и цикл замутить по ADIR() тоже дело 5-ти минут, если вдруг 100500 форм надо "окультурить".


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Что делать, когда лень исправлять. Вопрос о работе с классами
ssa

Сообщений: 12999
Откуда: Москва
Дата регистрации: 23.03.2005
of63
Положил ту.
Ну, сейчас поиздеваемся!

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Что делать, когда лень исправлять. Вопрос о работе с классами
ssa

Сообщений: 12999
Откуда: Москва
Дата регистрации: 23.03.2005
ssa
of63
Положил ту.
Ну, сейчас поиздеваемся!
Итак, начали!
1. Достаточно форме поставить приватную датасессию и сразу становится совершенно ненужным код по сохранению/восстановлению настроек окружения, Load и т.д.

PS: продолжение следует


------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Что делать, когда лень исправлять. Вопрос о работе с классами
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Допустим. Но законно и без DS. (кстати эта форма рождена еще в VFP5, была ли там DS не помню, но я и сейчас ее не использую...)
Ratings: 0 negative/0 positive


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

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

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