powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Выравнивание объекта
28 сообщений из 28, показаны все 2 страниц
Выравнивание объекта
    #33773725
Евгений_СТ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите новичку, пожалуйста!

Я разместил на окне компонент datawindow. Каким образом я могу заставить этот компонент автоматически выравнивать свой размер так, чтобы он заполнял всё окно? В экзампеле это реализовано с помощью события окна resize(). Неужели нет другого способа?
...
Рейтинг: 0 / 0
Выравнивание объекта
    #33773744
Геннадич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше нет. А чем не нравится?
...
Рейтинг: 0 / 0
Выравнивание объекта
    #33773751
Евгений_СТ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
До нравится/не нравится мне ещё далеко. Пока только учусь.

Просто как-то непонятно. Такое распространённое действие, как автовыравнивание контрола в родительском объекте - и реализуется только ручками. Обычно имеется свойство, нечто вроде "Alignment = Client".
...
Рейтинг: 0 / 0
Выравнивание объекта
    #33773855
PavelBuilder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Используй FPC и будет тебе счастье.
Ниже пример, который я обычно всталяю в событие pfc_preopen
Заодно и размеры самого окна настраиваются на весь экран, изучай.

P.S. Я смотрю до этого Дельфи трудился :-)

//********************************************************************
// of_SetResize ( TRUE )
//********************************************************************

of_SetResize ( TRUE )

Integer li_minx, li_miny, li_maxx, li_maxy, li_gap = 20
Integer li_return

if isValid(inv_resize) then
if inv_resize.of_GetMinMaxPoints (control[ ], li_minx, li_miny, li_maxx, li_maxy) <> -1 then
inv_resize.of_SetOrigSize( li_maxx+li_gap, li_maxy+li_gap )
end if
inv_resize.of_Register (dw_1, 0, 0, 100, 100)
/* ту прописывашь свои остальные объекты, пример строкой выше */
end if
...
Рейтинг: 0 / 0
Выравнивание объекта
    #33773942
Евгений_СТ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А событие pfc_preopen - где оно находится? Для его использования надо подключать какую-то дополнительную библиотеку?
...
Рейтинг: 0 / 0
Выравнивание объекта
    #33774453
Estets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений_СТА событие pfc_preopen - где оно находится? Для его использования надо подключать какую-то дополнительную библиотеку?
Мда, может легче написать пару строк кода в resize? Просто объяснить в двух словах что такое PFC и как с ним работать я не возьмусь.
Код: plaintext
1.
dw.height = this.height - dw.y -  16 
dw.width = this.width - dw.x -  16 
...
Рейтинг: 0 / 0
Выравнивание объекта
    #33774713
PavelBuilder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PFC - Powersoft Fundation Classes

Это набор библитиотек, который поднимет твое прилолжение на новый уровень, тебе не придется изобретать велосипед в большинстве случаев и если еще в твоем конкретном вопросе тебе действительно можно обойтись двумя строчками, то в более сложных случаях это будет требовать написания кода в множестве событий и в том случае как раз пара строчек кода с использованием PFC позволит отделаться быстро легко и богато по функционалу. Кроме того понимание структуры PFC позволит тебе понят ьлогику работы с PB и писать объекты в полной аналогии идеей библитотеки.
Хотя знание основ "голого" PB не просто полезно, а необходимо, иначе и без того сложная система вызова событий между объектами PFC просто невозможно будет отлаживать.
В поставке PB enterprise библиотеки PFC присутствуют точно, других версий (profeccion & etc.) мы не покупаем.
...
Рейтинг: 0 / 0
Выравнивание объекта
    #33774763
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PavelBuilder wrote:

> В поставке PB enterprise библиотеки PFC присутствуют точно

Начиная с PB10, PFC стала OpenSource, и в комплект поставки не входит.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Выравнивание объекта
    #33774790
PavelBuilder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да конечно. Пока на 9-ке сидим, 10-ку только тестим, не купили еще.
...
Рейтинг: 0 / 0
Выравнивание объекта
    #33774850
Евгений_СТ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Понятно. Почитаю про ФПС. Спасибо за разъяснения!
...
Рейтинг: 0 / 0
Выравнивание объекта
    #33775178
PavelBuilder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще, если хочешь повысить собственную щкуропродажность, знание PFC огромный плюс. Даже если не использовать эти бибилиотеки и писать на чистом Билдере навыки работы с этой бибиотекой хорошо вправляют мозги на написание правильного кода.
...
Рейтинг: 0 / 0
Выравнивание объекта
    #33775883
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PavelBuilderВообще, если хочешь повысить собственную щкуропродажность, знание PFC огромный плюс. Даже если не использовать эти бибилиотеки и писать на чистом Билдере навыки работы с этой бибиотекой хорошо вправляют мозги на написание правильного кода.Я бы сказал что они хорошо свихивают мозги. Ибо на вкус человека хорошо знакомого с множеством других библиотек, PFC очень криво написан. Каждый раз как залажу в PFC матерюсь и частенько словами которые утром еще не знал :)
Но так как PFC является де-факто стандартом для PB-общества, PFC действительно знать надо.
...
Рейтинг: 0 / 0
Выравнивание объекта
    #33776078
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlЯ бы сказал что они хорошо свихивают мозги. Ибо на вкус человека хорошо знакомого с множеством других библиотек, PFC очень криво написан.
Это на плохой вкус...
...
Рейтинг: 0 / 0
Выравнивание объекта
    #33776110
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Филипп White OwlЯ бы сказал что они хорошо свихивают мозги. Ибо на вкус человека хорошо знакомого с множеством других библиотек, PFC очень криво написан.
Это на плохой вкус...Да, я подозревал что Филипп возмутится первым :)
Но если PFC такая хорошая вещь - объясните например почему в pfc_u_dw сделны два элемента один типа u_Calendar, а другой u_Calculator? Сделать один общий pfc_u_dropdown_from_dw и унаследовать календарь с калькулятором от него тяму не хватило?
Зачем вообще они сделали pfc* и pfe* библиотеки и при этом базовые классы лежащие в pfc ссылаются на классы из pfe, которые при этом унаследованы из pfc? И это называется ООП?!

Знать PFC - надо, потому что оно самая стандартизированая библиотека для PB. Использовать можно, оно все таки работает и даже не особо глючит (по сравнению с самой средой PB особенно :). Подражать авторам PFC - боже упаси.
...
Рейтинг: 0 / 0
Выравнивание объекта
    #33776318
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl Филипп White OwlЯ бы сказал что они хорошо свихивают мозги. Ибо на вкус человека хорошо знакомого с множеством других библиотек, PFC очень криво написан.
Это на плохой вкус...Да, я подозревал что Филипп возмутится первым :)
Но если PFC такая хорошая вещь - объясните например 1) почему в pfc_u_dw сделны два элемента один типа u_Calendar, а другой u_Calculator? Сделать один общий pfc_u_dropdown_from_dw и унаследовать календарь с калькулятором от него тяму не хватило?
2) Зачем вообще они сделали pfc* и pfe* библиотеки и при этом базовые классы лежащие в pfc ссылаются на классы из pfe, которые при этом унаследованы из pfc? И это называется ООП?!
1) Может потому-что два элемента один типа u_Calendar, а другой u_Calculator сделаны НЕ в pfc_u_dw, и их можно использовать не только на datawindow?
2) вы просто в принципе не понимаете стратегию расширения PFC, посему все остальные ваши замечания на эту тему можно спокойно игнорировать...
...
Рейтинг: 0 / 0
Выравнивание объекта
    #33776378
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Филипп1) Может потому-что два элемента один типа u_Calendar, а другой u_Calculator сделаны НЕ в pfc_u_dw, и их можно использовать не только на datawindow?А что, если у них сделать общего предка их нельзя будет использовать в том же pfc_u_em? У этих несчастных pfc_u_calendar и pfc_u_calculator одинаковый код во всем что касается отрисовки и позиционирования. Почему бы не вынести этот код в предка? Так нет, создатели PFC поместили этот код в совершенно отдельный класс и создают объект этого класса (n_cst_dropdown) в каждом iuo_Calendar и iuo_Calculator?! Это вообще классический пример как нельзя писать в объектном языке.

Филипп2) вы просто в принципе не понимаете стратегию расширения PFC, посему все остальные ваши замечания на эту тему можно спокойно игнорировать...Нет, не понимаю.
Я совершенно не понимаю зачем в PFC сделаны два набора классов c префиксом pfc_ и без префикса. Объясните мне тупому, пожалуйста.

Возвращаясь к календарям и калькуляторам. Вот хочу я сделать свой собственный дроп-даун объект, в дополнение к календарю и калькулятору. Расскажите мне, как это сделать?
...
Рейтинг: 0 / 0
Выравнивание объекта
    #33776557
PavelBuilder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlПочему бы не вынести этот код в предка? Так нет, создатели PFC поместили этот код в совершенно отдельный класс и создают объект этого класса (n_cst_dropdown) в каждом iuo_Calendar и iuo_Calculator?! Это вообще классический пример как нельзя писать в объектном языке.

А вопрос можно? Чего общего между калькулятором и календарем с объектной точки зрения? Какие методы для них общие? возможны ли случаи использования обоих объектов одновременно в привязке к одному объекту ввода/редактирования? И потом задайте себе вопрос, а знаете ли вы вообще что такое ООП.

White Owl
Я совершенно не понимаю зачем в PFC сделаны два набора классов c префиксом pfc_ и без префикса. Объясните мне тупому, пожалуйста.

читайте документацию, тогда такие вопросы возникать не будут. так поставленный вопрос говорит о том что вы вообще не знаете что такое PFC, уж извините ...
...
Рейтинг: 0 / 0
Выравнивание объекта
    #33778948
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PavelBuilderА вопрос можно? Чего общего между калькулятором и календарем с объектной точки зрения?Это виджет выпадающей панельки привязаный к другому виджету. У них как минимум есть общий код самопозиционирования относительно главного виджета. И общий код показываться-прятаться по событию в главном. Вот все то, что сейчас в PFC реализовано как pfc_n_cst_dropdown должно по хорошему быть общим предком для pfc_u_calendar и pfc_u_calculator. Предком, а не элементом.

PavelBuilderвозможны ли случаи использования обоих объектов одновременно в привязке к одному объекту ввода/редактирования?Нет, невозможны конечно, но вот как раз этот вопрос к делу не относится.
Главный виджет должен уметь работать с выпадающими унифицировано. Не через два отдельных набора функций и событий, а через один общий набор функций.

PavelBuilder White OwlЯ совершенно не понимаю зачем в PFC сделаны два набора классов c префиксом pfc_ и без префикса. Объясните мне тупому, пожалуйста.читайте документацию, тогда такие вопросы возникать не будут. так поставленный вопрос говорит о том что вы вообще не знаете что такое PFC, уж извините ...Вот и объясни. Покажи цитату из документации которая объясняет почему базовые классы имеют в себе приватные объекты классов потомков?
...
Рейтинг: 0 / 0
Выравнивание объекта
    #33779082
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlВот и объясни. Покажи цитату из документации которая объясняет почему базовые классы имеют в себе приватные объекты классов потомков?
читай тут
Если и после этого будет непонятно - советую сменить область деятельности
...
Рейтинг: 0 / 0
Выравнивание объекта
    #33779093
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlВот все то, что сейчас в PFC реализовано как pfc_n_cst_dropdown должно по хорошему быть общим предком для pfc_u_calendar и pfc_u_calculator. Предком, а не элементом.Весь(!) PFC написан исходя из принципа "делегирование вместо наследования".

И в коде узнаваемы в принципе известные паттерны ООП. Десять лет назад почти. George вот скажи - ты десять лет назад про паттерны чтонибудь слышал? в работе использовал? в business application development? и коллеги твои тогдашние тоже?

а это "множество других библиотек" ведь не на PB были написаны?
...
Рейтинг: 0 / 0
Выравнивание объекта
    #33779097
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl почему базовые классы имеют в себе приватные объекты классов потомков
брр... кто кого в себе имеют?
Вот объясни где это ты увидел и почему тебя это так возмущает?
...
Рейтинг: 0 / 0
Выравнивание объекта
    #33779169
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗоринАндрей White OwlВот все то, что сейчас в PFC реализовано как pfc_n_cst_dropdown должно по хорошему быть общим предком для pfc_u_calendar и pfc_u_calculator. Предком, а не элементом.Весь(!) PFC написан исходя из принципа "делегирование вместо наследования".В том то и дело, что там есть и делегирование и наследование. Вот если бы было что-то одно из двух - я бы ни слова не сказал против. Наоборот хвалил бы. А вот то что там смесь - это как раз и плохо. Библиотека должна быть стройной. На то она и библиотека. Не набор скиданых как попало классов, а система классов. Сделаных по одному общему дизайну, по одной общей технологии. Как только начинается смесь в библиотеке - она превращается из полезной вещи в головную боль.

ЗоринАндрейИ в коде узнаваемы в принципе известные паттерны ООП. Десять лет назад почти. George вот скажи - ты десять лет назад про паттерны чтонибудь слышал? в работе использовал? в business application development? и коллеги твои тогдашние тоже? Погоди, "известные паттерны ООП" это что имеется в виду? Стандартные подходы к решению стандартных проблем или паттерны в современном понимании? Если про паттерны в современном понимани - нет не слышал. Ни в SmallTalk, ни в C++, ни в Java их в десять лет назад не было еще :)

ЗоринАндрей White Owlпочему базовые классы имеют в себе приватные объекты классов потомковбрр... кто кого в себе имеют?
Вот объясни где это ты увидел и почему тебя это так возмущает?Посмотри на ссылку которую ты мне дал. Открывай там Page3 и смотри рисунок номер 8.
Сверху PFC в который программер лазать не имеет права. Ниже PFE который программер волен править и наследовать от него свои собственные классы. Я правильно читаю эту картинку? :) Так почему класс pfc_u_dw в числе своих public instance objects имеет u_calendar iuo_Calendar? Почему принадлежащий PFE u_calendar, а не принадлежащий PFC pfc_u_calendar?
Зачем мы смешиваем два разных по изначальному дизайну слоя? Или нарушать свой собственный дизайн в PB считается хорошим тоном? :)

Они (авторы PFC) сами видять какую фигню нагородили, вон читай на той же самой странице дальше:
LimitationsOnce the generic framework code is combined with the application specific it cannot be easily separated.

This approach is based on an assumption that there is little or no need for reusable code. The extension scope is defined as two components PFC and application. If you plan to reuse any code or to share it between multiple applications this approach is not practical.

Do not underestimate the common framework requirement for your application. The reusable framework may be as small as a few PFC bug fixes. Reapplying the same fixes for the next project can be very tedious.


Requires maintaining a separate copy of PFE and PFC pbls for each project.

The reason for separate PFE pbls is clear, they are specific to each project, but why PFC? The answer lies in the nature of object relationships between the two layers. PFC layer contains many objects which are inherited from the objects in the PFE layer, for example pfc_w_sheet is a descendant of w_master. The same is true for associative and aggregate relationships. The transaction object referenced in PFC objects is n_tr and not pfc_n_tr. In many cases by modifying the PFE objects with the application specific code makes the PFC objects application specific as well.

This brings up an important distribution issue: If you create pbds or dlls from the PFC pbls they may not be compatible between multiple applications!
Ну и как такая библиотека может хорошо вправить мозги на написание правильного кода? Разве что от противного - так делать библиотеки нельзя.
...
Рейтинг: 0 / 0
Выравнивание объекта
    #33779238
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlСверху PFC в который программер лазать не имеет права. Ниже PFE который программер волен править и наследовать от него свои собственные классы. Я правильно читаю эту картинку? :) Так почему класс pfc_u_dw в числе своих public instance objects имеет u_calendar iuo_Calendar? Почему принадлежащий PFE u_calendar, а не принадлежащий PFC pfc_u_calendar?

Потому что во всех объектах унаследованных от pfc_u_dw я должен иметь мой расширенный u_calendar, а не стандартный pfc_u_calendar который я менять не имею права.
...
Рейтинг: 0 / 0
Выравнивание объекта
    #33779247
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В том то и дело, что там есть и делегирование и наследование.
Это то как раз нормально.
А вот тот кто вместо разумного компромисса использовал бы при создании framework одно без другого - маньяк ненормальный.

Погоди, "известные паттерны ООП" это что имеется в виду? Стандартные подходы к решению стандартных проблем или паттерны в современном понимании? Если про паттерны в современном понимани - нет не слышал. Ни в SmallTalk, ни в C++, ни в Java их в десять лет назад не было еще :)
Были однако. Более того они были даже до того как вышла известная книжка от известных авторов
А в чем кста отличие принципиальное стандартных подходов от паттернов в высоком современном пониманиии

Ну и как такая библиотека может хорошо вправить мозги на написание правильного кода? Разве что от противного - так делать библиотеки нельзя.
Ну а конструктив где? Где этот замечательный правильно написанный framework для PB?
...
Рейтинг: 0 / 0
Выравнивание объекта
    #33779249
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗоринАндрейПотому что во всех объектах унаследованных от pfc_u_dw я должен иметь мой расширенный u_calendar, а не стандартный pfc_u_calendar который я менять не имею права.Угу. Про наследование мы уже значит слыхом не слыхивали? :)
...
Рейтинг: 0 / 0
Выравнивание объекта
    #33779258
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗоринАндрейА в чем кста отличие принципиальное стандартных подходов от паттернов в высоком современном пониманиии В том, что паттерны поддерживаются на уровне языка. А подходы описаны в статьях.
Более-менее стандартные подходы я в PFC вижу, а вот паттернами там не пахнет да и не может пахнуть :) Or did you talk about design patterns? We did not call them "patterns" decade ago. We were not sophisticated enough and our english was much worse back then :) And of course I see a lot of well known design patterns in PFC, but I believe we realy should call them "anti-patterns".

ЗоринАндрейНу а конструктив где? Где этот замечательный правильно написанный framework для PB?Где-нибудь :) Не спрашивай его с меня, я PB не люблю, мне с ним всего-лишь приходится возиться.
...
Рейтинг: 0 / 0
Выравнивание объекта
    #33779502
Estets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как любая система достаточно долго развивающаяся, PFC содержит в себе множество костыликов, подпирающих исходные ошибки в проектировании. И с этим особо ничего не сделать, так как система должна иметь обратную совместимость. Подход с промежуточными слоями PFE достаточно спорный но имеет право на существование.

P.S. Посмотрите лучше на WIN API с его обратной совместимостью с WIN 3.1 и подумайте, что могло быть и хуже.
...
Рейтинг: 0 / 0
Выравнивание объекта
    #33784645
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да и вообще, это все идет еще от дурацской иерархии классов в самом PowerBuilder'е.
...
Рейтинг: 0 / 0
28 сообщений из 28, показаны все 2 страниц
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Выравнивание объекта
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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