Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Нужен совет  (Прочитано 24914 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии

il
Offline Offline
Пол: Мужской
Бодрый птах


« : 28-06-2005 17:43 » 

Итак как я уже говорил:
1. Есть задача написать крутую  Отлично программу.
В ней должно быть все и интерфейс и кое-какие оригинальные решения....

2. Для написания выбран С++ И Студия....


Но

1. Проблдема с интерфейсом....


Вопрос:

Дабы с наименьшими затратами получить нормальный интерфейс необходимо:

1. Выбрать другой язык?
2. Купить готовую библиотеку?
3. Написать самому (долго муторно лениво)
4. Ваш вариант....


Уже читал что библиотека кем-то куплена, если можно на почту скиньте пошупать, обещаю не использовать только для тестирования подходит или нет?
Записан

А птичку нашу прошу не обижать!!!
Anchorite
Гость
« Ответ #1 : 28-06-2005 18:16 » 

1. Думаю стоить забыть сразу. Изучение нового языка дело не очень благодарное. Да и где гарантии, что там буде все, что тебе нужно.
2. Более реалистичный вариант. Но обычно такие библиотеки представляют собой нечто монстроузное и неповоротливое вызванное избытком функциональности и навороченности. И еще неизвестно, разрешат ли тебе поправить эту библиотеку под свои нужды.
3. Пожалуй самый идеальный вариант. Получишь то, что хочешь со всеми правами.
Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #2 : 28-06-2005 19:10 » 

Гром,
Цитата
1. Есть задача написать крутую  Гы программу.
В ней должно быть все и интерфейс и кое-какие оригинальные решения....
Это я так понял проект с твоей работы.
Вопрос, а в чем будет заключаться крутизна. Если не военная тайна, то хотя бы можно узнать, вообше что эта прога будет решать. И стоит ли овчинка выделки. И на какой круг потребителей она будет направлена. Чтобы потом не было, типа "А ля Веселый Роджер".
« Последнее редактирование: 28-06-2005 20:36 от Finch » Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии

il
Offline Offline
Пол: Мужской
Бодрый птах


« Ответ #3 : 29-06-2005 04:30 » 

Anchorite, я так и думал, однако в текущих условиях слишком много (неоправданно много) времени уходит на написание просто интерфейса.

Ничего не т в мире идеального.

Finch, нет - это не моя работа Улыбаюсь но это коммерческий проект мой собственный. Задача интересная и перспективная - я пока не хочу выкладывать идею, позже.
Программа будет расчитана на корпоративного пользователя и скажем так, будет решать задачи производственного характера, где интерфейс сам по себе немаловажная деталь....


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

Записан

А птичку нашу прошу не обижать!!!
baldr
Команда клуба

cy
Offline Offline
Пол: Мужской
Дорогие россияне


WWW
« Ответ #4 : 29-06-2005 06:54 » 

Гром, пиши пока без интерфейса, типа как в паттерне Абстрактная Фабрика. Потом интерфейс выберешь и нарисуешь.
Например, в Билдере. Там интерфейс рисуется легко и компонентов много.
Записан

Приличный компьютер всегда будет стоить дороже 1000 долларов, потому что 500 долларов - это не вполне прилично
dachny
Гость
« Ответ #5 : 29-06-2005 07:27 » 

>>Уже читал что библиотека кем-то куплена, если можно на почту скиньте пошупать, обещаю не использовать только для тестирования подходит или нет?

Ответил в мыло
Записан
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии

il
Offline Offline
Пол: Мужской
Бодрый птах


« Ответ #6 : 29-06-2005 09:18 » 

baldr - представь себе задачку (она совершенно не имеет отношение к реальной, но показывает факт что без интерфейса писать нельзя).

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

Можно такую программу писать БЕЗ интерфейса, если именно ее основная задача правильно показать.
Можно, но только уже зная как и какие данные будут выводится. Единственное в таких случаях, возможное условие, это наличие необходимости допустим написания интерфейса связи отдельно, или анализатор.

Это то я уже пишу, но без полного представления о возможностях не получается проработать все ходы и самое главное - связи частей программы между сосбой - не выходит написание моделирования Жаль

dachny  - вечером с дома прочту отвечу - заранее спасибо.
Записан

А птичку нашу прошу не обижать!!!
baldr
Команда клуба

cy
Offline Offline
Пол: Мужской
Дорогие россияне


WWW
« Ответ #7 : 29-06-2005 09:28 » 

Гром - была у меня такая прога.
Я делал черновой монитор для себя, а потом уже, после отладки, сделал интерфейс.
Записан

Приличный компьютер всегда будет стоить дороже 1000 долларов, потому что 500 долларов - это не вполне прилично
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии

il
Offline Offline
Пол: Мужской
Бодрый птах


« Ответ #8 : 29-06-2005 09:43 » 

Ну дык это уже пробовал - есть целый готовый проект с минимальным набором функциональностей, код которого буду сильно пользовать. Теперь уже нужен нормальный интерфейс и функциональность расширенная Улыбаюсь
Записан

А птичку нашу прошу не обижать!!!
xelos
Гость
« Ответ #9 : 29-06-2005 11:12 » 

ActiveX компоненты можно поискать... Из LabView низзя натырить компонентов?
Записан
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии

il
Offline Offline
Пол: Мужской
Бодрый птах


« Ответ #10 : 29-06-2005 12:09 » 

ActiveX компоненты можно поискать... Из LabView низзя натырить компонентов?
А чегось такое LabView Не понял
Записан

А птичку нашу прошу не обижать!!!
xelos
Гость
« Ответ #11 : 29-06-2005 19:58 » 

LabView это продукт National Instruments, пользуется в основном для написания прог управления/мониторинга технологических процессов и не только. Их 2 основных конкурента на рынке - dSpace и LabView. У них свои ядра (в ихнем же железе, прога разрабатывается "полувизуально", потом закачивается в модуль) и работают, в основном, с железными модулями своих фирм.

Если ориентирован твой проект на производство (в смысле на технологические процессы), имхо есть смысл познакомиться с продуктами.

Если не секрет, что именно за интерфейсы ищешь? в смысле, какие функциональности? просто новые стили окон и т.д. или другое что?
Записан
kisilevski
Постоялец

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #12 : 30-06-2005 03:09 » 

Гром, мне думается, что в результате всё равно прийдётся писать свой интерфейс:
 - чужой никогда не обеспечит специфических функций в нужном объёме
 - чужой несёт в себе очень много ненужных тебе настроек, которые прийдётся как-то учитывать
 - чужой готовит кучу неприятных неожиданностей, которые могут вылезти когда многое уже сделано
 - Трудозатраты на приручение чужого кода сопоставимы с трудозатратами по изготовлению конфетки из того, что у тебя уже наработано.

Всё это сугубо ИМХО - вымученособственным опытом. В своё время я распрощался с Builderом и пересел на MSVC во многом из-за неадекватности поведения его компонент и из-за невозможности долезть до глубины и сделать руками и из-за того, что они работают не так, как они описаны. Не в обиду аппологетам Борланда и тем, кто применяет Rapid Desighn технологии - для каких-то типов задач они идеально подходят, но не для всех. Специфичные, предметно-ориентированные вещи гораздо проще строить из мелких элементиков, с низов.
Записан

Ложки нет. See MSDN for details.
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии

il
Offline Offline
Пол: Мужской
Бодрый птах


« Ответ #13 : 30-06-2005 04:43 » 

xelos - спасибо...
Я посмотрю....
Насчет задачи - я напишу - но попозже и думаю либо в почту либо в закрытый форум - идея коммерческая...

kisilevski - согласен полностью и не согласен - подробности чуть позжее....
Записан

А птичку нашу прошу не обижать!!!
DarkAngel
Гость
« Ответ #14 : 30-06-2005 05:13 » 

1. Проблема с интерфейсом....

На сагодняшний день - это уже наверное не проблема. Раз вопрос здесь, то учить нового ничего и подавно не нужно. Стандартная дорога которой идут сегодня многие при написании быстрых интерфейсов это MFC, но не вдаваясь в подробности - это самый простой, но самый глючный вариант. Это мое мнение, разворачивать надеюсь не нужно. Это профессиональный форум. Я бы лично крутой интерфейс начал писать, если скорость разработки действительно имеет значение, на WTL. Я так понимаю в интерфейсе ничего сверхестественного не будет, акромя придуманной автором возможно какой либо интересной оптимизации уже готовых контролов и их взаимосвязей при обмене данными или пользовательскими сервисами. Написано их аж цифра в экран не поместится, тем более зная WinAPI, кастомить их, быстрее уж врядли что придумаешь. Скросплатформенность нужна бери, ну я знаю QT. Раз уж совет нужен, то в случае если интерфейс будет интересным и возможно большим в плане кода, то не поленись и комментируй свои кустомизации прямо по коду и не стесняйся объема. Это не от недостатка ОЗУ, а от избавления от возможной опухоли головы, если будут возможные перерывы в написании. Поверь, проверено в боях. А WTL потому что мета-классы. WTL была следующим поколением в истории MFC, а не суждено ей было продвинутся, лишь из-за нахлынувшей волны .NET. И хорошо что она стала кросплатформенной.

Приношу извинения, за возможный флейм в совете. Попытался обосновать мысли.
Записан
DarkAngel
Гость
« Ответ #15 : 30-06-2005 05:18 » 

:error: И хорошо что она стала <кросплатформенной>. :error:
open source конечно же. Улыбаюсь
Записан
DarkAngel
Гость
« Ответ #16 : 30-06-2005 05:25 » 

kisilevski конечно же прав. Перерабатывать чужие интерфейсы - это порочный путь в любом случае, даже если они идеально написаны в отношении повторного использования компонентов. Единственный вариант их оправданного использования - это если тебе интерфейс менять интерфейс не нужно, а лишь добавить пунктов меню и изменить функциональность командного интерфейса, но без изменения визуального. Даже если глюков не отгребешь, если это признанные производители, то унесешь за собой кучу не нужного скорее всего кода. Как минимум это получится точно не быстрее, чем сделать свой.
Записан
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии

il
Offline Offline
Пол: Мужской
Бодрый птах


« Ответ #17 : 30-06-2005 08:43 » 

DarkAngel, kisilevski....

Итак - согласен и не совсем....

Инкапсуляция позволяет мне делать все что мне надо.
Все контроли которые можно сделать в виндовс все равно проистекают из ВинАПИ. Тот кто советует весь интерфейс делать на АПИ либо никогда этого не делал, Улыбаюсь либо мазохист, ибо для того, что бы построить контроль в виде простого окна с тулбаром надо написать куеву хучу кода, который в добавок еще и адаптировать под себя.

МФСи по сути те же костыли, только сделанные производителем.

Идея ООП - как уже тут говорилась идеально подходит для создания интерфейса. Причина проста, интерфейс по принятым в винде параметрам легко укладывается в понятие объекта (окно, меню и т.д.)
Наследуя свойства базового объекта не обяхзательно использовать их все.

Скажем начав писать свой ГУИ, я столкнулся с тем, что МФСя не дает возможности быстро и легко сделать то, что надо.
Все новомодные штучки - знятие достаточно муторное.

Во что оно выливается:

1. Сосбтвенно создание самого контроля Custom Control (кто писал - поймет меня) базовым для которого будет класс CControlBar.
2. Написание своих методов обработки и рисования объекта на экране.
3. Отладка всевозможных случаев работы с интерфейсом со стороны юзера.
4. Написание новых классов использующих мои контроли в качестве базовых, для создания своих интерфейсов к конкретной программе, которая ничего общего с пунктами 1 и 2 не имеет. Просто окошко которое раньше было статически прикрепленным теперь уезжает вбок Улыбаюсь


Таким образом - с одной стороны есть
1. Опасность чужих багов.
2. Опасность работы с чужим кодом который нельзя поменять или нет возможноси поменять.
3. Нагруженность программы чужеродной библиотекой с кучей ненужных параметров.....


Я проанализировав ситуацию - сделал следующие выводы.

1. Никто мне не гарантирует, что я сам не понаделаю кучу багов написав базовые контроли.
Причина проста, свои контроли я писал давно, и более того - они были много менее функциональны. Сидеть и писать контроли вместо программы мне лениво.
2. Я так же не могу поменять код базовых контролей от винды (МФС) которые
а) имеют свои баги !
б) не всегда делают то, что мне нужно.
в) так же прогружают меня лишними текстами....

3. Взяв чужую, но отлаженную библиотеку, я получаю те же базовые классы как и МФС но уже в нужном мне виде.
4. При нынешних размеров винчестеров, лишние пара мег библиотеки не является акутальной темой....


Вывод.
Если контроли которые я просматриваю мне подойдут и условия лицензирования будут приемлемы, то я
а) использую их как базовые.
б) при необходимости перегружу важные функции, которые и принесут мненеобходимую функциональность, затратив на все это намного меньше времени.
в) получу новый стандартный интерфейс с возможностью создать на его базе то, что мне понадобится.
г) буду заниматься самой программой и иметь сразу ее в презентабильном виде, а не в виде предложенном выше в виде лубочной аппликации для последующего доведение ГУИ до ума.

Ура.
Что делать с основными багами. Улыбаюсь Во первых есть исходники которые я могу сам подправить и так убрать баги.
Что делать с новоыми мне необходимыми разрботками, которые отсутствуют в покупном материале. Улыбаюсь писать самому нужный контроль на базе имеющихся или МФС - что не противоречит никакой лицензии ИМХО.
___________________________________________
Теперь о задаче Улыбаюсь

Саму идею я раскрывать вот так не хочу. Суть - необходимо сделать очень крупный проект , типа студии разработки но не для разработки программ, а несколько специфического материала.
В планах, свой язык и парсер, работа с железом - драйвера.

С удовольствием приму помощь проверенных друзей, при успехе предприятия поделюсь славой и деньгами Улыбаюсь естественно.


Записан

А птичку нашу прошу не обижать!!!
DarkAngel
Гость
« Ответ #18 : 30-06-2005 15:04 » 

ладно. будем последовательны и не будем твердить одно и тоже разными словами. пойдем по принципу вопрос, ответ.

>>Итак - согласен и не совсем....

>>Инкапсуляция позволяет мне делать все что мне надо.
Насчет инкапсуляции красиво сказал. Улыбаюсь

>>Все контроли которые можно сделать в виндовс все равно проистекают из ВинАПИ. Тот кто советует весь интерфейс делать на АПИ либо никогда этого не делал,  либо мазохист.
Обзываться не нужно. Интерфейсы бывают разные и лепить объекты в простом интерфейсе с одним тулбаром, меню и даже гридом совершенно не обязательно. Делал не одну сотню раз и не сложно абсолютно. Для этого: <Прошу на словах не ловить. Привожу лишь общие моменты, но со знанием дела.>
1. Создаем окно необходимого типа.
2. Окно каждого зарегистрированного в системе типа имеет набор определенных стилей, которые создают первоначальный базовый необходимый вид. С помощью определенных и уж прекрасно описанных наборов идентификаторов сообщений, можна в доступных пределах регулировать по мере возможности этот вид. Необходимо сделать custom? Очень быстро перекрываем оконную процедуру и делаем доработку необходимой функциональности и при этом никто не мешает оригинальную базовую преобработку вызывать из оригинала. Есть необходимый дополнительный набор API для некоторых контролов для синхронизации в роамках темы привязок и тому подобного. Есть прекрасный раздел using any that I want и вперед.
3. Ты прав в одном и это уже догма, так что надеюсь, что здесь даже спора нет. В объекты это объединять значительно правильнее.

>>МФСи по сути те же костыли, только сделанные производителем.
Без MFC значительно сузился бы круг разработчиков. Так что на этапе ее создания не будем умолять ее удобства, хотя она была обречена на замену.

>>Идея ООП - как уже тут говорилась идеально подходит для создания интерфейса. Причина проста, интерфейс по принятым в винде параметрам легко укладывается в понятие >>объекта (окно, меню и т.д.)
Конечно. С этим даже никто и не спорит. Любая сущность имеющая свойства укладывается в понятие объекта.

>>Наследуя свойства базового объекта не обяхзательно использовать их все.
Фраза очень общая и совершенно логичная и поэтому не знаю как это касется предыдущих высказываний.

>>Скажем начав писать свой ГУИ, я столкнулся с тем, что МФСя не дает возможности быстро и легко сделать то, что надо.
>>Все новомодные штучки - знятие достаточно муторное.
Согласен с тобой, а все потому что на этапе разработки перемудрили со взаимосвязями интерфейсов и поэтому перекрывая функциональность очень четко нужно придерживаться документации, что не всегда удобно.

>>Во что оно выливается:

>>1. Сосбтвенно создание самого контроля Custom Control (кто писал - поймет меня) базовым для которого будет класс CControlBar.
>>2. Написание своих методов обработки и рисования объекта на экране.
>>3. Отладка всевозможных случаев работы с интерфейсом со стороны юзера.
>>4. Написание новых классов использующих мои контроли в качестве базовых, для создания своих интерфейсов к конкретной программе, которая ничего общего с пунктами 1 и 2 не имеет. Просто окошко которое раньше было статически прикрепленным теперь уезжает вбок.

Комментировать можно сколько угодно. Скажу лишь одно, что использование чужой библиотеки оправдано лишь дополнением функциональности, либо не принципиальным изменением параметров. Зная происхождение самих кастомных контролов и их нижний уровень интерфейса, сделать любой кастом мазахизмом является лишь до определенного этапа, но от этого и зависит то как перфектно ты сможешь реализовать свой супер интерфейс. Поэтому если ты не нашел контрол, который достаточно лишь кастомизировать измененем базовых парамтеров лиюбо дополнением небольшой функциональностью, то прощу написать свой. Не сложно. Начнем спорить по этому поводу, напишем книгу "Бой двух теней в контексте окна за владение элементами интерфейса".

>>Таким образом - с одной стороны есть

>>1. Опасность чужих багов.
Волка боятся - в лес не ходить. Ты когда выбираешь себе библиотеку имеешь кучу stress tests для определения ее безглючности. Дальше - это уже твои баги. Выбор уже есть и практически на все.
>>2. Опасность работы с чужим кодом который нельзя поменять или нет возможноси поменять.
В слова поменять ты мог вкладывать не тот смысл, который я мог воспринять, но менять чужой код это изначально ошибочная идея. Безглючный вариант данного мероприятия гарантируется лишь при полном описании всего механизма этого чужого кода. Нужно дополнять или перекрывать функциональность, согласно оговоренного интерфейса. И если как ты говоришь этого сделать нельзя, тогда библиотеку использовать только как возможную документацию. Это правило и жизнь и никуда нам от этого не спрятаться не скрыться.
>>3. Нагруженность программы чужеродной библиотекой с кучей ненужных параметров.....
Современные компиляторы и технологии позволяют этого избежать и это проблемы разработчиков библиотеки, а не твои.

>>Я проанализировав ситуацию - сделал следующие выводы.

>>1. Никто мне не гарантирует, что я сам не понаделаю кучу багов написав базовые контроли.
Этого никто не гарантирует и от третьего производителя и никем и нигде. Не бывает программ без ошибок. Бывают лишь различная степень их проявления и периодичность. Это не я сказал, а родоначальники того, чем мы сейчас занимаемся.
>>Причина проста, свои контроли я писал давно, и более того - они были много менее функциональны. Сидеть и писать контроли вместо программы мне лениво.
Все что ты пишешь - это программа. Ты наверное имел ввиду разницу между враппером и алгоритмом.
>>2. Я так же не могу поменять код базовых контролей от винды (МФС) которые
>>а) имеют свои баги !
>>б) не всегда делают то, что мне нужно.
>>в) так же прогружают меня лишними текстами....
Сделать это можна Улыбаюсь но ты поймешь меня почему этого делать не нужно, если ты хоть раз глубоко закапывался в MFC.
Еще раз повторяю можна и не сложно, но это более порочный путь чем любые другие.

>>3. Взяв чужую, но отлаженную библиотеку, я получаю те же базовые классы как и МФС но уже в нужном мне виде.
Если они полностью удовлетворяют, то да, но в жизни это практически не осуществимо, если эти контролы не стандартны.
1. Потому что третьи библиотеки кустомизят интерфейс лишь в стандартной его части и делают оболочку для работы с полным набором свойств, что как ты упоминал выше редко бывает нужно. И это не сложно зная и увидев мезанизм самому сделать и упростить, но учитывая очень много парамтеров оганичивающих качество и время разработки, тут можна делать любые финты. Все очень от многого зависит.
>>4. При нынешних размеров винчестеров, лишние пара мег библиотеки не является акутальной темой....
Эта фраза применима к сегодняшней жизни, но я никогда не придерживаюсь подобной догмы, поскольку тянет в яму и расслабляет мозги.


>>Вывод.
>>Если контроли которые я просматриваю мне подойдут и условия лицензирования будут приемлемы, то я
>>а) использую их как базовые.
>>б) при необходимости перегружу важные функции, которые и принесут мненеобходимую функциональность, затратив на все это намного меньше времени.
>>в) получу новый стандартный интерфейс с возможностью создать на его базе то, что мне понадобится.
>>г) буду заниматься самой программой и иметь сразу ее в презентабильном виде, а не в виде предложенном выше в виде лубочной аппликации для последующего доведение ГУИ до ума.
Выводы ты сделал совершенно правильно, лишь с небольшим уточнением, что лубочные аппликации делают лишь люди которые пишут ногами.

>>Ура.
>>Что делать с основными багами.  Во первых есть исходники которые я могу сам подправить и так убрать баги.
>>Что делать с новоыми мне необходимыми разрботками, которые отсутствуют в покупном материале.  писать самому нужный контроль на базе имеющихся или МФС - что не >>противоречит никакой лицензии ИМХО.
Ты имеешь право делать все что угодно. Улыбаюсь

___________________________________________
>>Теперь о задаче

>>Саму идею я раскрывать вот так не хочу. Суть - необходимо сделать очень крупный проект , типа студии разработки но не для разработки программ, а несколько специфического >>материала.
>>В планах, свой язык и парсер, работа с железом - драйвера.

>>С удовольствием приму помощь проверенных друзей, при успехе предприятия поделюсь славой и деньгами  естественно.

Думаю что слов для восприятия достаточно и мы с тобой прекрасно понимаем что делаем. А выводы как говориться делайте сами. Улыбаюсь

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

Я тоже безумно люблю реализацию алгоритмов по сравнению со стндартной писаниной интерфейса, но мы только предполагаем, а все остальные нас располагают как хотят. Улыбаюсь
Записан
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии

il
Offline Offline
Пол: Мужской
Бодрый птах


« Ответ #19 : 30-06-2005 16:07 » 

DarkAngel   Отлично


Цитата
Обзываться не нужно. Интерфейсы бывают разные и лепить объекты в простом интерфейсе с одним тулбаром, меню и даже гридом совершенно не обязательно.
Мазохизм - сексуальное поведение возникающее в ситуации когда человек получает сексуальное удовольствие и увеличение возбуждения при ощущении боли (от слабой до сильной). "Медицинский термин".

Так что никто не обзявается  Ага

Цитата
Делал не одну сотню раз и не сложно абсолютно.
Не согласен абсолютно. Колличество телодвижений для одной и той же операции при использовании МФС и АПИ разнится даже не на порядок, а на несколько порядков, ибо я при работе с МФС не пишу ни строчки для того же эффекта.

Цитата
Без MFC значительно сузился бы круг разработчиков. Так что на этапе ее создания не будем умолять ее удобства, хотя она была обречена на замену.
Обращу внимание на общю тематику сказанного, я не обзываю МФС конкретно, я всего лишь подчеркивю, что любой ИМХО объектный код - это костыли. Мнение таково, по причине возможности наследования и наращивания функциональностей.
Имея костыли мы умеем ходить без ног. Или с поломанными ногами - это помощь и облегчение. То же самое делают объекты, при этом я ни слова не говорил о том, что МФС - плоха или, что мне это не нравится.
Я только подчеркнул, что работая в МФС проекте, я уже пользуюсь массой чужого кода, и замена этого стандартного старого кода на его производные есть тот же процесс Улыбаюсь

Цитата
>>Наследуя свойства базового объекта не обяхзательно использовать их все.
Фраза очень общая и совершенно логичная и поэтому не знаю как это касется предыдущих высказываний.
Поянсю, когда я из МФС строю окно к примеру относящееся к основному как главное окно апликации я могу использовать возможность структуры Документ+отображение (Document+View support на англ) либо не использовать, прописывая свои связки как с прокруткой окна, так и с всеми данными для отображения и сохранения.
Чаще всего я этой системой не пользуюсь, но ее наличие мне не мешает использовать CWnd при этом Улыбаюсь

Так же и тут взяв библиотеку для интерфейса я возьму из нее только нужное мне (сдвигающиеся окна с поддержкой различный видов отображения внутри, возможность работы с нормальным новым видом) и не возьму то, что мне не понадобится. Для этого все классы которые будут работать с моими окнами я напишу сам (но наследуя их от библиотечных) с нужным употреблением свойств (инкапсуляция в первом посте ).


Цитата
Начнем спорить по этому поводу, напишем книгу "Бой двух теней в контексте окна за владение элементами интерфейса".
Думаю в предыдущем параграфе я пояснил и эту мысль, дополню только, что при всех недостатках и признаках мазохизма, я проверил уже возможность собственного написания такого новомодного интерфейса и понял, что для этого мне понадобится около 2-3 месяцев полнодневной рботы, по причинам:
а) неполное представление на данный момент всех возможных случаев использования.
б) объем кода связанного с конкретныим рисованием и битмапками.

Т.е. мне слишком много придется читать и писать стандартные фразы типа: создайте фонт паттерн битмап контекст положите удалите....
Жуть.


По минусам промолчу, я сам про них уже писал....

Цитата
Сделать это можна  но ты поймешь меня почему этого делать не нужно, если ты хоть раз глубоко закапывался в MFC.
Еще раз повторяю можна и не сложно, но это более порочный путь чем любые другие.

Хм.... Промолчать или все же поделиться ? Попробую поделиться.

НеИМХО - основа всех систем - есть приемственность. В идеале я могу залезть дебагером и дизасмом в код любой библиотеки и даже кернеляф и подправить там параметр который мне нужен.
Однако в данном случае МФС существует в огромном колличесвте ипостасей.
для 9х + миллениум.
НТ 2к ХР.
И будет появляться для всех систем.
Если ты сменишь в стандартной библиотеке МФС у себя нужный 1 параметрик, то тебе придется такскать с инсталлятором ВСЕ билиотеки МФС для всех видов винды и в будущем продолжать делать изменения в ее версиях всегда. Если ты считаешь подобный гииморой приемлемым - то слово мазохизм - это уже прошлое  :vzhik:

Цитата
Потому что третьи библиотеки кустомизят интерфейс лишь в стандартной его части и делают оболочку для работы с полным набором свойств, что как ты упоминал выше редко бывает нужно.
Да но я возьму только нужное Улыбаюсь Вспоминаем инкапсуляцию.


Цитата
Ты имеешь право делать все что угодно.

Мда... В России пока да. Но я
а) не в России.
б) уже тут пока прошло.
г) делается коммерческий проект расчитанный на продажу.

Цитата
Я тоже безумно люблю реализацию алгоритмов по сравнению со стндартной писаниной интерфейса, но мы только предполагаем, а все остальные нас располагают как хотят.

Я тебе признаюсь - что мне все равно что писать. Главное двигаться к цели, НО в данном случае есть один момент.

Каков процент важности проделанной работы для конечного результата.

Если бы речь шла о том, что я целыми днями провожу на работе за этой задачей, и мне платят денежку, то я бы ни минуты не сомневаясь писал бы свой интерфейс наслаждаясь отсутствием серьезных задач и проблем Улыбаюсь всегда валя задержки на тупую винду  Жжешь

Но в данный момент времени идет разговор по другому.
а) задача только моя и я сам ее придумал, оценил ее рынок, написал ТЗ и я сам у себя требую, а какой я начальник тебе тут расскажут - я очень требователен не только к чужим, но в первую очередь к себе.
б) чем быстрее я напишу основной кусок и смогу выпустить пилотную версию продукта, тем быстрее я смогу начать продажи.
в) чем быстрее я напишу реально продаваемую вещь - тем быстрее я привлеку отсюда ребят и начну платить им зарплату за продолжение разработок и тем быстрее я раскручу свою фирму.
г) если речь стоит так, что при моих возможностях и скоростях я буду работать только 2 часа в день вечером + часть выходных, и из-за этого будет на ГУИ затрачено слишком много времени. А за это время мои конкуренты, смогут написать тот же продут Жаль. Я лучше выпущу идею без ГУИ - в виде пилотного проекта - заинитересую спонсоров и запущу продажи и разработку нового гуи уже имея реальный продукт, до конкурентов, чем буду писать ГУИ. О как.



П.С. Идея, даже не озвученная - материальна - убеждался не раз. Уже несколько нереализованных идей было создано другими, мне жаль что я тогда долго тянул.
Про анализу, в моей голове идея поялвялется ориентировачно за 2-3 года до того, как ее первая реализация будет упомянута в планах и за 4 года до ее выхода.

У меня идея появилась пол года назад. Отсюда мораль - у меня есть год на реализацию базы и нахождение спонсора, потом уже будет поздно ибо ее первым запатентует кто-либо другой, после чего есть еще год на ее раскрутку. Успею - будет ОК нет - опять пролечу Жаль


Записан

А птичку нашу прошу не обижать!!!
DarkAngel
Гость
« Ответ #20 : 01-07-2005 07:10 » 

Ок. Я смотрю это уже перерастает в спор, но если ты внимательно посмотришь на написанное обоими, то мы говорим об одном и том же, но с различным ударением.

Но все же попытаюсь ответить на твои резкие уточнения, поскольку ты все же неправильно понял мои мысли, судя по реакции и смайлам. Тем более что твои переводы на английский совершенно неуместны, поскольку я надеюсь что у тебя нет сомнения в том, что я и так прекрасно понимаю о чем идет речь раз уж ввязался в обсуждение професионального интерфейса.  Ага

Цитата
Не согласен абсолютно. Колличество телодвижений для одной и той же операции при использовании МФС и АПИ разнится даже не на порядок, а на несколько порядков, ибо я при работе с МФС не пишу ни строчки для того же эффекта.
Кто спорит об этом? Кто спорит о том, что объектный код значительно упрощает работу? Было лишь маленькое уточнение по поводу того, что никакая это не жуть. Предварительно сказанное мною несло лишь смысл того, что даже при использовании библиотек нужно осознавать механизм, который стоит за ними. И поверь очень многое зависит от желания и даже на API я интерфейс 3 месяца писать не буду, если я знаю что делаю. Эту цитату можна не приводить в последствии, поскольку она к основному обсуждению уже никакого отнощения не имеет.
Последнее. Покажи мне мою хоть одну цитату, которая говорит, что интерфейс нужно писать именно на API. Я точно так же как и ты в иносказательной форме лишь хотел уточнить, что для того чтобы полноценно эффективно дополнять функциональность third-party libraries, необходимо знать что стоит за интерфейсом объекта, а иначе только пользоваться, если мы говорим именно о проффесиональных GUI. Переводить не буду, чтобы не обидеть. Улыбаюсь

Цитата
Обращу внимание на общю тематику сказанного, я не обзываю МФС конкретно, я всего лишь подчеркивю, что любой ИМХО объектный код - это костыли. Мнение таково, по причине возможности наследования и наращивания функциональностей.
Имея костыли мы умеем ходить без ног. Или с поломанными ногами - это помощь и облегчение. То же самое делают объекты, при этом я ни слова не говорил о том, что МФС - плоха или, что мне это не нравится.
Я только подчеркнул, что работая в МФС проекте, я уже пользуюсь массой чужого кода, и замена этого стандартного старого кода на его производные есть тот же процесс.
С этим даже поспорить сложно, поскольку медицински полноценно подтверждено.
Я тоже MFC не брал за абсолютный предмет обсуждения. По моему это и так ясно.

Цитата
Поянсю, когда я из МФС строю окно к примеру относящееся к основному как главное окно апликации я могу использовать возможность структуры Документ+отображение (Document+View support на англ) либо не использовать, прописывая свои связки как с прокруткой окна, так и с всеми данными для отображения и сохранения.
Чаще всего я этой системой не пользуюсь, но ее наличие мне не мешает использовать CWnd при этом

Так же и тут взяв библиотеку для интерфейса я возьму из нее только нужное мне (сдвигающиеся окна с поддержкой различный видов отображения внутри, возможность работы с нормальным новым видом) и не возьму то, что мне не понадобится. Для этого все классы которые будут работать с моими окнами я напишу сам (но наследуя их от библиотечных) с нужным употреблением свойств (инкапсуляция в первом посте ).
По поводу первого обзаца, я не знаю к чему это было, поскольку мы общаемся на профессиональном уровне и надеюсь что ты представляешь что Америку ты для меня не открыл. Да и вообще никому так писать не нужно поскольку выглядит не прилично. Улыбаюсь Поверь. Но раз уж упомянул, то скажу, что я сам даже в пустом проекте руками поддержку системы Doc<->View организую аж очень быстро. Извини - это ответ на выпад.
Я ею тоже не часто пользуюсь поскольку круг решаемых задач на ней далеко не замыкается, но для себя я считал просто за необходимое четкое представление того, что я делаю, для того чтобы еще до присеста к непосредственной модификации уже готовых объектных библиотек представлять не то как это сделать вообще, а то как это модифицировать так, чтобы компоненты моего интерфейса так же были подерживаемы как и оригинальная библиотека.

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

Цитата
Думаю в предыдущем параграфе я пояснил и эту мысль, дополню только, что при всех недостатках и признаках мазохизма, я проверил уже возможность собственного написания такого новомодного интерфейса и понял, что для этого мне понадобится около 2-3 месяцев полнодневной рботы, по причинам:
а) неполное представление на данный момент всех возможных случаев использования.
б) объем кода связанного с конкретныим рисованием и битмапками.

Т.е. мне слишком много придется читать и писать стандартные фразы типа: создайте фонт паттерн битмап контекст положите удалите....
Жуть.
Безусловно это делать не стоит, если есть хоть одна библиотека, которая удовлетворяет базовым требованиям твоего интерфейса. Тут мы даже и не начинали спорить, а лишь обменивались своими возможностями в красивом описании наших представлений поэтому в дальнейшем тоже не имеет смысла цитировать. Но все же скажу, что уровень понятия жути у всех разный.

Цитата
НеИМХО - основа всех систем - есть приемственность. В идеале я могу залезть дебагером и дизасмом в код любой библиотеки и даже кернеляф и подправить там параметр который мне нужен.
Первое предложение безусловно. Комментарий лишь к продолжению.

Цитата
Однако в данном случае МФС существует в огромном колличесвте ипостасей.
для 9х + миллениум.
НТ 2к ХР.
И будет появляться для всех систем.
Если ты сменишь в стандартной библиотеке МФС у себя нужный 1 параметрик, то тебе придется такскать с инсталлятором ВСЕ билиотеки МФС для всех видов винды и в будущем продолжать делать изменения в ее версиях всегда. Если ты считаешь подобный гииморой приемлемым - то слово мазохизм - это уже прошлое  Улыбаюсь
Я бы о таких глупостях даже побоялся бы заикнуться, не говоря о том что делать подобное. Если ты такое вынес хотя бы из одного моего слова, то это критическая ошибка компиляции. Залезть я могу туда же и не менее глубоко. Я прекрасно понимаю, что ты говорил иносказательно, но посмотри посты выше и ты мои подобные высказывания комментируешь прямо не вдаваясь в те мысли, которые я вкладывал, как чистую монету. Надеючсь поняли друг друга.

Цитата
Да но я возьму только нужное  Вспоминаем инкапсуляцию. Улыбаюсь
Я инкапсуляцию не на секунду не забывал и если мысль была более развернута, тогда слушаю тебя.
Инкапсуляция - это хорошо, но если в библиотеке не предусмотрена раздельная компиляция, либо она не оформлена в виде шаблона, тогда кто тебя избавит от присутствия неиспользуемого тобой кода в конечном модуле?
Теорию тем более так вспоминать не нужно.  Ага Надеюсь мы общаемся на равных. Ближе к сути.

Цитата
Мда... В России пока да. Но я
а) не в России.
б) уже тут пока прошло.
г) делается коммерческий проект расчитанный на продажу.
1. Я тоже не в России.
2. Развертываю суть выше мною сказанного. Фраза была так же общей, как и некоторые твои высказывания, от чего и комментарии соответствующие. Интерфейс и средства реализации конечно же диктуются ТЗ реализуемого проекта, но реализацию на определенном уровне ты в праве делать по своему усмотрению. "На решение любой проблемы всегда существует 6 способов". Сунь-Вынь "Исскуство войны". Улыбаюсь И продолжаю, а принимать твой проект в использование или нет - это дело заказчика или потенциального End-user.
3. Понятно что на продажу, поэтому реализация это не менее тонкая задача, чем проектирование интерфейса.

Цитата
Я тебе признаюсь - что мне все равно что писать. Главное двигаться к цели, НО в данном случае есть один момент.

Каков процент важности проделанной работы для конечного результата.

Если бы речь шла о том, что я целыми днями провожу на работе за этой задачей, и мне платят денежку, то я бы ни минуты не сомневаясь писал бы свой интерфейс наслаждаясь отсутствием серьезных задач и проблем  всегда валя задержки на тупую винду 

Но в данный момент времени идет разговор по другому.
а) задача только моя и я сам ее придумал, оценил ее рынок, написал ТЗ и я сам у себя требую, а какой я начальник тебе тут расскажут - я очень требователен не только к чужим, но в первую очередь к себе.
б) чем быстрее я напишу основной кусок и смогу выпустить пилотную версию продукта, тем быстрее я смогу начать продажи.
в) чем быстрее я напишу реально продаваемую вещь - тем быстрее я привлеку отсюда ребят и начну платить им зарплату за продолжение разработок и тем быстрее я раскручу свою фирму.
г) если речь стоит так, что при моих возможностях и скоростях я буду работать только 2 часа в день вечером + часть выходных, и из-за этого будет на ГУИ затрачено слишком много времени. А за это время мои конкуренты, смогут написать тот же продут . Я лучше выпущу идею без ГУИ - в виде пилотного проекта - заинитересую спонсоров и запущу продажи и разработку нового гуи уже имея реальный продукт, до конкурентов, чем буду писать ГУИ. О как.



П.С. Идея, даже не озвученная - материальна - убеждался не раз. Уже несколько нереализованных идей было создано другими, мне жаль что я тогда долго тянул.
Про анализу, в моей голове идея поялвялется ориентировачно за 2-3 года до того, как ее первая реализация будет упомянута в планах и за 4 года до ее выхода.

У меня идея появилась пол года назад. Отсюда мораль - у меня есть год на реализацию базы и нахождение спонсора, потом уже будет поздно ибо ее первым запатентует кто-либо другой, после чего есть еще год на ее раскрутку. Успею - будет ОК нет - опять пролечу
Мне тоже все равно что писать, но люблю все же не обарачивать в объекты стандартные механизмы, а заниматься реализацией собственных и только более эффективных механизмов, а иначе где же смысл. Тут опять возникает слово мазохизм.
Насчет всего остального полностью с тобой согласен. Тем более обидно, когда твои мысли 4-х летней давности кому то приносят деньги.

Надеюсь наше понимание друг друга приблизилось.  Ага
Записан
xelos
Гость
« Ответ #21 : 01-07-2005 08:50 » 

насчет MFC, вы в курсе, что начиная со студии 2003, можно разрабатывать интерфейс с помощью MFC, однако можно указать при компиляции использовать только стандартные библиотеки винды. В этом случае вы не обязаны таскать за собой библиотечные файлы. Очень удобная функция.

На рисунке пример, не обессудьте по поводу моих дизайнерских возможностей, exe-шник 300К без оптимизации, без доп библиотек, проверялся на 98, 2к, хр. Время потраченное на разработку - меньше недели. Все классы унаследованs CStatic.

* exemple.JPG (60.19 Кб - загружено 1174 раз.)
Записан
xelos
Гость
« Ответ #22 : 01-07-2005 11:03 » 

baldr, я не дизайнер - смысл в том, чтобы показать что из классов МFC можно лепить что хочешь и не обязательно при этом таскать за собой библиотеки. Согласись, приятно, когда наследуешь свой класс и в нем уже есть набор основных функциональностей.

к тому же клиент сам предложил внешний вид Улыбаюсь а с клиентом не спорят Улыбаюсь
Записан
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии

il
Offline Offline
Пол: Мужской
Бодрый птах


« Ответ #23 : 01-07-2005 11:07 » 

xelos  - оппа - нет не знал ибо студию 2003 в глаза не видел....
Круто - это ж здорово!!!

DarkAngel - единственное - я нигде не был резок и не воспринимал все как спор - если такое впечатление создалось - прошу прощения....

Сейчас у меня тренировка, отвечу позже.
Подчеркну = воспринимаю не как спор, а как обмен мнениями - идет Улыбаюсь
Записан

А птичку нашу прошу не обижать!!!
DarkAngel
Гость
« Ответ #24 : 01-07-2005 13:37 » 

Программирую на 2003, еще с первых бет. Прекрасный инструмент. Опять же мое ИМХО, поскольку на других форумах целый спор завязался с теми, кто Class Wizards не мог найти в новой студии после перехода со старой и тоже были сильно удивлены и называли мазохистом, когда я сказал, что никогда ими не пользовался и делал все руками, но все там есть, только более прилично в совеременном стиле оформлено. Но даже не это мне нужно было от нее, а компилятор 7.1 поскольку на шаблоны перешел давно прочувствовав все приемущество метапрограммирования и любой скажет какой изврат делать частичную специализацию под 6-й и т.д. Так что Грому советую. Даже оболочка тебя приятно удивит. Уже догадываясь о твоих требованиях Улыбаюсь рекомендую.

to Xelos:
Сейчас глянул. Прав. В настройках проекта действительно появился новый параметр. Уточнил не из-за недоверия а из-за недостатка от которого так и не смог избавиться - ЛюбопытствоАга
Цитата
Configuration Peoperties->General->Project Defaults->Use of MFC->Use Standard Windows Libraries
. Ну и отлично. Это просилось само собой, особенно то как это раньше выглядело
Цитата
mfc42.dll, mfc70.dll, mfc71.dll
.

Насчет наследования да в принципе от чего угодно. Вопрос лишь в том, что в конечном счете нужно сделать и если для унификации сделать наследование от CStatic, кроме всего прочего еще и художественным творчеством можна заняться, если контролы расширенные. Но это все уже просто обгладали постами выше, поэтому на этом и закончим. Остальное лишь вкус и цвет Улыбаюсь.

to Гром:
Никакого спора. Только конструктивное обсуждение.

Я WTL взял в некоторых проектах за базу лишь зная потенциальные и качественные приемущества шаблонов, но против MFC в общем тоже ничего не имею.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines