Программистам — дочитайте до конца.
Особенно это касается самых умных программистов с большими претензиями на мировое господство
Наверняка многие люди сталкивались с проблемой:
когда надо было написать маленькую, удобную, красивую программу,
а знаний для написания не хватало. Приходилось "перелопачивать"
большое количество литературы для написания какого-либо простого действия.
/*
Каждое десятое сообщение на форуме рсдн
Как изменить стиль progressbar? Как добавить на форму эту фигню?
Как разместить в программе браузер? Как проверить обновления через инет?...
*/
Всё это решается одним махом. Одним простым шаблоном программы.
Вот требования к нему.
1)При написании программы не должны использоваться
сложные конструкции и интерфейсы типа COM, ATL, MFC, ...
2)Программа должна занимать примерно от 10 килобайт места
3)Программа должна отображать все основные реСтилизованные конструкции
типа listbox, button, radiobutton без каких-либо знаний у программиста в WinAPI и т.д.
4)Ну и наконец программа должна работать с интернетом: авторегистрация, обновления и т.д.
опять-таки не требуя особых познаний программиста в протоколах.
Как-же всё это реализовать?
Ответ прост. Достаточно взять шаблон программы в которой реализован браузер на весь экран
и обмен данными между javascript и cpp
Сразу вся нагрузка с пользовательского интерфейса и работы с интернетом уйдёт в HTML,
а cpp будет выполнять локальные функции типа доступа к файлам и т.д.
Например смотрю в свои дистрибутивы, беру проги все подряд:
3dMark — Получится стильный интерфейс на html, а тастирующая часть на CPP
PowerStrip — Интерфейс на HTML был бы значительно красивее и удобнее,
а при этом все системные функции остались бы в теле проги.
HTML2CHM — занимает 900 кб. А, если бы программа была написана с этого шаблона,
то объём составил бы 20-30кб
А, если подумать сколько программ в России не было написано из-за сложности
программирования форм, интерфейсов и т.д, большого объёма программ в среде C Builder.
Не надо только писать сюда советы типа "зайди на firststeps.ru, там mfc подробно расписано на 3769 страниц"
Я пока вижу у этого шаблона один очень большой недостаток: он ещё не создан
У меня есть исходники программ, реализующих все необходимые функции. в zip 200кб или в rar 80кб
Осталось объединить всё это воедино.
Получается СуперЗадачка
Условие
Сделать программу отображающую html страницу на всю форму.
Не должно быть бордера, конт меню и т.д.
Должны быть функции взаимодействия JavaScript и CPP
Получится отличный шаблон маленькой программы
с возможностями CPP, но с интерфейсом HTML.
Программы, основанные на этом шаблоне будут занимать мало места
и будут поддерживать элементарную систему смены скинов.
Человек, написавший этот шаблон станет просто
родоначальником нового направления в программировании.
— Методов создания очень удобных, стильных и простых в написании программ.
Здравствуйте, Зверёк Харьковский, Вы писали:
ЗХ>Эпиграф: Говорят, что в аэропорту Тель-Авива приезжающих встречает плакат: "Не думай, что ты самый умный. Здесь все евреи".
ЗХ>http://terrainformatica.com/htmlayout/
КАЛ!!!
База не на ИЕ. Это очень плохо. htmlayout вообще не в тему.
Сравни html страницу "<table><td style=filter:glow>qwe" в IE и htmlayout
К тому же размер в 4 раза больше аналогов cwebpage и chtmlview
T>КАЛ!!!
T>База не на ИЕ. Это очень плохо. htmlayout вообще не в тему. T>Сравни html страницу "<table><td style=filter:glow>qwe" в IE и htmlayout
T>К тому же размер в 4 раза больше аналогов cwebpage и chtmlview
приведи псевдо код "простой" программы как она должна выглядеть с описываемым тобой шаблоном
Веру-ю-у! В авиацию, в научную революци-ю-у, в механизацию сельского хозяйства, в космос и невесомость! Веру-ю-у! Ибо это объективно-о! (Шукшин)
Re[4]: Новое направление программирования - Просто, красиво,
Здравствуйте, dad, Вы писали:
T>>КАЛ!!!
T>>База не на ИЕ. Это очень плохо. htmlayout вообще не в тему. T>>Сравни html страницу "<table><td style=filter:glow>qwe" в IE и htmlayout
T>>К тому же размер в 4 раза больше аналогов cwebpage и chtmlview
dad>приведи псевдо код "простой" программы как она должна выглядеть с описываемым тобой шаблоном
Без проблем.
(CPP)
bool CppToHtml(char *caption,char *s[n],int N);
//Вызов javascript функции
//Например: CppToHtml("DropMainMenu","5\0_10\0",2);/*короче массив строк*/
<style>
textarea{width:100%;filter:progid:DXImageTransform.Microsoft.Gradient(startColorStr=#7DaFd7,endColorStr=#CEDFF6,gradientType=1);}
</style>
<table width=100%><td>
<select>
<option>С английского на русский
<option>С русского на английский
</select>
<tr><td><textarea rows=10 onchange='external.Translate(sel.value,this.value)'></textarea>
<tr><td><textarea rows=10 id=to></textarea>
<script>
function Translated(s)
{
to.value=s
}
</script>
Вот, как просто дописать интерфейс к алгоритму перевода текстов, который к тому-же может быть реализован в виде dll.
А сколько потребовалось бы времени и знаний, чтобы написать это на WinAPI, mfc, ...
dad>>приведи псевдо код "простой" программы как она должна выглядеть с описываемым тобой шаблоном
T>Без проблем.
T>А сколько потребовалось бы времени и знаний, чтобы написать это на WinAPI, mfc, ...
во-первых, непонятно зачем в таких задачах c++, с ними справитс и ява-скрипт
во-вторых, зачем для просытх задач фреймворк? если ты хочешь использовать ие, то так или иначе у тебя будет замешах СОМ, а если не использовать ИЕ, то это может быть либо свой рендерер либо мозила.
Свой рендерер с тем, что ты описываешь есть в wxWindows (wxWidget) а в мозиле , как я и говорил, 90% задач решаются на ява скрипте, а остальные 10% от обратного делается модуль который из яваскрипта используется.
изучил ли ты эти вреймворки прежде чем предлагать такую задачу? я думаю нет.
Веру-ю-у! В авиацию, в научную революци-ю-у, в механизацию сельского хозяйства, в космос и невесомость! Веру-ю-у! Ибо это объективно-о! (Шукшин)
Re[5]: Новое направление программирования - Просто, красиво,
T>А сколько потребовалось бы времени и знаний, чтобы написать это на WinAPI, mfc, ...
а, ну и если тебе прямо уже сейчас нжна подобная интеграция и не лень с СОМ повозиться то есть
класс шаблон обертка Dynamic IDispatch handler от Bjarke Viksoe (viksoe.dk)
я использовал именно так как ты описываешь (посложнее задачи были конечно)
единсвенное что там были какие грабли я помню что переделывал класс но не помню как и зачем
// IDispDynImpl methodstemplate< class T, const IID* pdiid = &IID_NULL >
class ATL_NO_VTABLE IDispDynImpl : public IDispatch
в итогед класс реализация этого интерфейса был такоим:
class EditParameters :
CreatorStep,
public IDispDynImpl<EditParameters>
{
protected:
....
unsigned long _state;
bool _hasChanges;
XString _file;
XString _style;
//<complect-param>
XXMLNode _compParam;
XXMLNode _objects;
//CreatorStep methodspublic:
virtual CreatorStep* moveNext();
virtual CreatorStep* movePrev();
virtual CreatorStep* jump(LPCWSTR);
virtual IDispatch* getExternalDisp()
{ return this; }
virtual bool prepareHTML(LPTSTR* src);
// IDispDynImpl methodspublic:
//это обрабочики события и элементов из ява скрипта window.external.onSetLevel(val);
// пример не очень удачный я передаю только простые значения
// а можно передавать указатели на объекты DOM модели , несколько парметров и возращаемое значение
BEGIN_DISPATCH_MAP(EditParameters)
DISP_METHOD1(onSetLevel,VT_EMPTY, VT_BSTR)
DISP_METHOD1(onSetExamen,VT_EMPTY, VT_BSTR)
DISP_METHOD1(onSetPrimaryGroup,VT_EMPTY, VT_BSTR)
DISP_METHOD1(onSetForm,VT_EMPTY, VT_BSTR)
DISP_METHOD1(onPushGroup,VT_EMPTY, VT_BSTR)
DISP_METHOD0(onClearGroups,VT_EMPTY)
END_DISPATCH_MAP()
//IDsipEvenDynImplvoid onSetLevel(BSTR id)
{
//..........
}
void onSetExamen(BSTR id)
{
//..........
}
void onSetPrimaryGroup(BSTR id)
{
//..........
}
void onSetForm(BSTR name)
{
//..........
}
void onPushGroup(BSTR id)
{
//..........
}
void onClearGroups(void)
{
//..........
}
};
Веру-ю-у! В авиацию, в научную революци-ю-у, в механизацию сельского хозяйства, в космос и невесомость! Веру-ю-у! Ибо это объективно-о! (Шукшин)
Re: Новое направление программирования - Просто, красиво, уд
tiberius пишет:
> /* > Каждое десятое сообщение на форуме рсдн > Как изменить стиль progressbar? Как добавить на форму эту фигню? > Как разместить в программе браузер? Как проверить обновления через > инет?... > */
Читать про Swing в Java, адназначна...
--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 1.9
Sapienti sat!
Re[6]: Новое направление программирования - Просто, красиво,
Здравствуйте, dad, Вы писали:
dad>во-первых, непонятно зачем в таких задачах c++, с ними справится и ява-скрипт
Доступ к диску и памяти, вызов dll, любые сложные задачи, не решаемые js в html.
К тому-же ява open-source.
dad>во-вторых, зачем для просытх задач фреймворк? если ты хочешь использовать ие, то так или иначе у тебя будет замешах СОМ, а если не использовать ИЕ, то это может быть либо свой рендерер либо мозила. dad>Свой рендерер с тем, что ты описываешь есть в wxWindows (wxWidget) а в мозиле , как я и говорил, 90% задач решаются на ява скрипте, а остальные 10% от обратного делается модуль который из яваскрипта используется.
Мозилла не раскрывает и половины возможностей ИЕ типа множества DirectX фильтров и, например, рисования диаграмм. К тому-же мозилла занимает слишком много места. тогда как реализация IE- занимает несколько килобайт.
dad>изучил ли ты эти вреймворки прежде чем предлагать такую задачу? я думаю нет.
Я ничего не изучал, кроме c и html. А также сотни и тысячи других людей
знают только эти 2 языка и хотят писать программы.
И никто не знает и не хочет (и не имеет времени и возможностей)
изучать DOM, COM, ATL, MFC, FrameWork, WinAPI-визуализацию, и т.д.
Всем нужен всего-лишь один шаблон, описанный выше.
T>>А сколько потребовалось бы времени и знаний, чтобы написать это на WinAPI, mfc, ...
dad>а, ну и если тебе прямо уже сейчас нжна подобная интеграция и не лень с СОМ повозиться то есть dad>класс шаблон обертка Dynamic IDispatch handler от Bjarke Viksoe (viksoe.dk) dad>я использовал именно так как ты описываешь (посложнее задачи были конечно) dad>единсвенное что там были какие грабли я помню что переделывал класс но не помню как и зачем dad>[c] dad>// IDispDynImpl methods.............
Я не знаю com и все интерфейсы типа IDispatch IUnknownn не понимаю. Этому надо учиться.
У меня есть готовый (чужой) проект на mfc с реализацией приёма функций из браузером.
И есть другой проект, тоде на mfc с вызовом ява функций из си.
Мне надо всего-лишь их объединить.
Для "бывалого" программиста это 5-10 минут, а для это сложная проблема.
отличие мозилы от ИЕ развивать не буду. Хочешь под ие — пиши под ие, только без кома ты там не обойдешься.
на заре помню, я работал с формами ччерез парсинг строки POST запроса, отличное ыбло извращение+ весь ком был спрятан в MFC
T>Я не знаю com и все интерфейсы типа IDispatch IUnknownn не понимаю. Этому надо учиться. T>У меня есть готовый (чужой) проект на mfc с реализацией приёма функций из браузером. T>И есть другой проект, тоде на mfc с вызовом ява функций из си. T>Мне надо всего-лишь их объединить. T>Для "бывалого" программиста это 5-10 минут, а для это сложная проблема.
короче этой теме не место в ресеч.
мало кто знает только си и штмл , а кто то только бэйсик и поскаль
чтоже теперь мне горбатиться для того чтобы таким нербхам была возможность мой кусок хлеба отнимать?
(шучу конечно, но в каждой шутке есть доля шутки)
мне сложно у меня голова пухнет просто от других задач.
скоди на виское дк там самплы качни. лучшего варианта в данный момент ты не найдешь. ковырять мфц который 400К тебе с совту добавит это не программка на 10К (заявленная в требованиях), да и с ие, повторюсь, несбыточная мечта тебе без зенания КОМ работать, неужели ты не понимаешь этого?
Веру-ю-у! В авиацию, в научную революци-ю-у, в механизацию сельского хозяйства, в космос и невесомость! Веру-ю-у! Ибо это объективно-о! (Шукшин)
Re: Новое направление программирования - Просто, красиво, уд
Здравствуйте, tiberius, Вы писали:
T>Программистам — дочитайте до конца. T>Особенно это касается самых умных программистов с большими претензиями на мировое господство
T>Наверняка многие люди сталкивались с проблемой: T>когда надо было написать маленькую, удобную, красивую программу, T>а знаний для написания не хватало. Приходилось "перелопачивать" T>большое количество литературы для написания какого-либо простого действия.
XAML от MS и будет реализовывать подобную идею. Если очень хочется здесь и сейчас — пожалуйста, XUL от Mozilla в зубы — и в бой...
Re[7]: Новое направление программирования - Просто, красиво,
T>тогда как реализация IE- занимает несколько килобайт.
Блин, круто однако! И зачем в Mozilla столько кода сунули, если даже какие-то там DX фильтры не поддерживает и диаграммки не рисует...
Парезать нада Мазилу адназначна!!!
Re[2]: Новое направление программирования - Просто, красиво,
Java медленно работает и её ещё ДОПОЛНИТЕЛЬНО ПРИДЁТСЯ ИЗУЧАТЬ.
Я же говорю о шаблоне для низкоквалифицированных программистов.
Например как написать антивирус касперского в яве? Он-же будет искать вирусы в 2-3 раза медленнее и будет жрать много памяти и т.д.
А этот-же антивирус на ASM & С++ будет работать идеально.
А например такая фича типа движение окна программы при перетаскивании её за форму элементарно решится в вышеупомянутом шаблоне добавлением одного тега в интерфейс:
Кстати создайте htm-страницу с этим кодом. Такая фича запросто работает в MS IE.
(Путем легкой модификации легко убирается баг при хватании за край окна)
Блин, я не прошу вас реализовывать COM-интерфейсы. У меня есть 2 исходника, где всё уже сделано!
В обоих MFC, CHTMLview. Мне надо перекинуть ОДНУ функцию из одного проекта (JSCalls_demo) в (CustomBrowser).
JSCalls_demo (MFC,CHTMLview) — может вызывать ява функции из MFC.
CustomBrowser (MFC,CHTMLview) — уже почти идеал, но реализации вызова ява функций нет.
вот эту функцию мне надо перенести из JSCalls_demo в CustomBrowser
)
Как будто я пишу printf("%s,"string); и не знаю, где ошибка.
Знающий MFC человек всё сможет сделать за 5 минут.
dad>ковырять мфц который 400К
CustomBrowser занимает 40-50кб,
а исходного кода в JSCalls_demo всего несколько килобайт.
dad>горбатиться
Ну я, это, ко всем обращаюсь
dad>бэйсик и поскаль
Вот потому и никто не хочет в сях ковыряться, так как программирование интерфейса слишком сложно.
А в C Builder программы занимают слишком много места.
Re[7]: Новое направление программирования - Просто, красиво,
От:
Аноним
Дата:
09.02.05 05:56
Оценка:
T>Мозилла не раскрывает и половины возможностей ИЕ типа множества DirectX фильтров и, например, рисования диаграмм. К тому-же мозилла занимает слишком много места. тогда как реализация IE- занимает несколько килобайт.
Это наверное на базе ie.exe такое заключение сделано?
Re[8]: Новое направление программирования - Просто, красиво,
Pre>Часто хватает функции
Pre>function ShowHTMLDialog(hwndParent:HWND;
Да у меня всё готовое есть на MFC, я прошу только помочь перенести одну функцию из одного проекта MFC в другой.
>Это наверное на базе ie.exe такое заключение сделано?
При добавлении в программу окна IE, её размер увеличивается на 5-10 кб.
Если делать фрейм от мозиллы, то размер вырастет на 50-70 кб.
T>При добавлении в программу окна IE, её размер увеличивается на 5-10 кб. T>Если делать фрейм от мозиллы, то размер вырастет на 50-70 кб.
Настоятельно рекомендую изучить Delphi, C#.Net. Все равно что-то учить придется . Быстрый и легкий интерфейс у тебя с ними будет. И взаимодействие с C/С++ попроще. А на ограничения IE ты наткнешься все равно, и даже с хорошим знанием COM некоторые из них непросто преодолеть а просто вставить <td><button> что ты нам показываешь — все равно, что в дизайнере диалогов для MFC-приложения насовать кнопок, edit'ов и говорить — "вот оно, все умеет, и удобно как. Несколько кликов, пара строчек — и есть функционал, контролы дизаблятся, скрываются, клево ".
По теме программирования в XML/HTML + скрипт.
IE база не катит. Попробуй на mshtml хороший интерфейс сделать, с собственными контролами, чтобы ничего не косило (особенно с большими шрифтами и нестандартными глобаными настройками IE), выделение и навигация с клавиатуры нормально работало, чтобы поведение у контролов было нормальным (а не то, что сейчас в html-диалогах Visual Studio)... Там столько мелочей, что для написания хорошей программы, с хорошим интерфейсом придется сделать целую книгу-руководство.
А у Мозиллы — RDF... XBL... все продумано. . Вот только напрягает, что каждый раз все эти xml парсятся заново, скрипты транслируются — там 99% можно написать на С++ (например, отлаживать на скрипте, а в релизе это будет компилироваться). А еще кросплатформенные glib/NSPR, Necko — для Win32 её 12-меговый дистриб можно сократить немало.
Много людей пыталось приспособить MSHTML и под интерфейс, и под редактор, только все равно танк получается . Я по нескольким кликам мышкой в чужой программе, которую вижу в первый раз, определяю, что в ней MSHTML. Кстати, MS движок и особенно поддержку HTA несколько лет назад забросила, уже сколько там висят нереализованные интерфейсы, MLang, куцый MSHTML editing... И что-то не собирается это дальше развивать (ну конечно — все тут же кинутся писать HTA и кому будут нужны Windows API?).
Хотя я уверен, что в ближайшем будущем все равно воцарится HTA . Уж очень заманчивая идея, но это будет не на MSHTML.
Re[7]: Новое направление программирования - Просто, красиво,
tiberius пишет:
> dad>во-вторых, зачем для просытх задач фреймворк? если ты хочешь > использовать ие, то так или иначе у тебя будет замешах СОМ, а если не > использовать ИЕ, то это может быть либо свой рендерер либо мозила. > dad>Свой рендерер с тем, что ты описываешь есть в wxWindows (wxWidget) > а в мозиле , как я и говорил, 90% задач решаются на ява скрипте, а > остальные 10% от обратного делается модуль который из яваскрипта > используется. > Мозилла не раскрывает и половины возможностей ИЕ типа множества > DirectX фильтров и, например, рисования диаграмм. К тому-же мозилла > занимает слишком много места. тогда как реализация IE- занимает > несколько килобайт.
Много травы выкурил? Покажи мне хоть один DirectX "филтьр" в IE.
--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 1.9
Sapienti sat!
Re[3]: Новое направление программирования - Просто, красиво,
И?
> Java медленно работает и её ещё ДОПОЛНИТЕЛЬНО ПРИДЁТСЯ ИЗУЧАТЬ.
Предлагаемое "творение" будет работать, конечно, намного быстрее.
> Например как написать антивирус касперского в яве? Он-же будет искать > вирусы в 2-3 раза медленнее и будет жрать много памяти и т.д.
Уверен?
> А этот-же антивирус на ASM & С++ будет работать идеально.
)))))
> А например такая фича типа движение окна программы при перетаскивании > её за форму элементарно решится в вышеупомянутом шаблоне добавлением > одного тега в интерфейс: > ><body >onselectstart='return false' >onmousedown='x=event.clientX;y=event.clientY;mov=1' >onmousemove='if(mov){window.moveTo((realx+=event.clientX-x),(realy+=event.clientY-y))}' >onmouseup='mov=0' >onload='mov=x=y=realx=realy=0' >> > > > Кстати создайте htm-страницу с этим кодом. Такая фича запросто > работает в MS IE. > (Путем легкой модификации легко убирается баг при хватании за край окна)
У меня сосед сейчас пишет приложение, которое имеет Online и
Offline-версии. Приложение на HTML+JS+COM. Чего-то особой простоты я там
не вижу.
--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 1.9
Sapienti sat!
Re[4]: Новое направление программирования - Просто, красиво,
да вы сами подумайте чего вас просят -- перенести функции оттуда туда, если это автор текста то почему же он сам не может этого сделать -- этот нонсенс если он считает что кто-то в его коде за 5 минут всё поймёт и сделает всё за него... Если же он не автор о чём вообще речь?
Второе, это утопия до корней волос, HTML-интерфес хорош только в онлайн приложениях и то не всегда, ибо как только не извращаются, но интерактивности часто не хватает и о какой красоте может идти речь...
Мне вот инетересно как человек будет реализовывать, всяческие сложные интерфесные решения или он просто ничего сложнее простых форм ввода и выдачи текстового результата не видел...
моё мнение, HTML хорош там где он нужен, не надо всё под одну гребню.
Re[4]: Новое направление программирования - Просто, красиво,
Ой, да ладно ты навалился. Видишь же — парню всего-то и надо, что "объединить два проекта", "на mfc с реализацией приёма функций из браузером" и "на mfc с вызовом ява функций из си". Я уж не знаю, чего он не пошел в профильный форум помощи просить — наверное, постеснялся. Вот он и пишет свою гениальную идею сюда, сопровождая ключевой фразой — "Если вам не сложно, мыльните мне готовый код на tiberius@fasthtm.com". Че тут еще обсуждать?
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[4]: Новое направление программирования - Просто, красиво,
>Предлагаемое "творение" будет работать, конечно, намного быстрее.
ДА! Потому, как программа будет выполнять основную работу на С, а JAVA медленнее.
>Много травы выкурил? Покажи мне хоть один DirectX "филтьр" в IE.
Один из очень многих...
filter:progid:DXImageTransform.Microsoft.Gradient(startColorStr=#7DaFd7,endColorStr=#CEDFF6,gradientType=1)
См MSDN->DXImageTransform
>Настоятельно рекомендую изучить Delphi, C#.Net
Зачем мне что-то изучать, когда у меня есть готовая программа и в неё надо перенести функцию из чужого исходника.
На паскале кроме begin, eng, =: я больше ничего не знаю и изучать другой язык,
чтобы перенести функцию из одного mfc проекта в другой бессмысленно.
>А на ограничения IE ты наткнешься все равно
Мне надо одну функцию перенести и всё будет готово. Больше ничего мне от Activex IE не потребуется.
>Я по нескольким кликам мышкой в чужой программе, которую вижу в первый раз, определяю, что в ней MSHTML.
И что в этом плохого?
>У меня сосед сейчас пишет приложение, которое имеет Online и >Offline-версии. Приложение на HTML+JS+COM. Чего-то особой простоты я там >не вижу.
Дай мне мыло или асю соседа плз. Может он мне и кинет базовый исходник. т.е. то, что мне и нужно.
>А у Мозиллы — RDF... XBL... все продумано. . Вот только напрягает, что каждый раз все эти xml парсятся заново, скрипты транслируются — там 99% можно написать на С++ (например, отлаживать на скрипте, а в релизе это будет компилироваться). А еще кросплатформенные glib/NSPR, Necko — для Win32 её 12-меговый дистриб можно сократить немало.
Зачем мне чужой, слабый, жирный движок???
Когда мне нужно помощь, чтобы перенести всего одну функцию из одного проекта в другой.
Вот один из моих проектов: инсталлятор. Ему какой смысл держать внутри себя движок Mozilla?
Чтобы добавлять к инсталлируемой программе объём, как делает InstallShield.
Мой инсталлятор пакует данные лучше, чем rar.
Мгновенно грузится, чего не скажешь о WiseInstall и тем более о IS!
Он поддерживает скины с возможностями html, в отличие от остальных инсталлеров, где кроме button, input, radio, check, group ничего нет!
Он намного гибче других инсталляторов, потому как предоставляет возможность пользователю самому написать скрипт инсталла.
Например
external.CreateLink("program.exe",":p:My Firm\\My Super Program.lnk","iconlib.dll",3)
external.CreateLink("manual.txt",":p:My Firm\\Manual.lnk")
external.install(maindir,components)
external.AddUninstall("link|files|reg")
....
function runn(){
external.Finish()
external.RunProgram(maindir+"program.exe")
}
.....
<button onclick='parent.runn()'>Запустить программу по завершении установки
......
Уже почти готов Wizard, который будет генерить этот скрипт.
Всё почти готово!
Пожалуйста помогите мне перенести функцию вызова ява скрипта из МФЦ из проекта JSCalls_demo в CustomBrowser.
Все исходники здесь http://test.org.ru/supertask.zip
>Много людей пыталось приспособить MSHTML и под интерфейс, и под редактор, только все равно танк получается
[url=http://rest.org.ru/sourceinstaller.rar]Бета исходник инсталлятора[url]
ЗЫ Кодёнку
Вспомни себя!
>>Как получать уведомление о смене документа в WebBrowser? Оценить >>От: codenok >>Дата: 18.02.03 23:09 >>Есть Explorer Bar, модифицирующий все тэги <img> в текущем документе и его фреймах. >>Когда документ в браузере изменяется (refresh, новый URL или изменился документ в одном из фреймов), надо модифицировать документ заново по окончании загрузки. Как это сделать? >>Среда -- VC++, API
Ты также просил помощи при работе с тем-же компонентом. Неужели так сложно помочь мне?
Здравствуйте, nixite, Вы писали:
N>да вы сами подумайте чего вас просят -- перенести функции оттуда туда, если это автор текста то почему же он сам не может этого сделать -- этот нонсенс если он считает что кто-то в его коде за 5 минут всё поймёт и сделает всё за него... Если же он не автор о чём вообще речь?
Я НЕ АВТОР!!! Я взял исходник и дописал в него всё, что мне требовалось. Потому я и прошу помочь мне.
N>Второе, это утопия до корней волос, HTML-интерфес хорош только в онлайн приложениях и то не всегда, ибо как только не извращаются, но интерактивности часто не хватает и о какой красоте может идти речь...
html не ограничен сотней тегов и функциями DHTML. А как-же фильтры, Canvas, ...
N>Мне вот инетересно как человек будет реализовывать, всяческие сложные интерфесные решения или он просто ничего сложнее простых форм ввода и выдачи текстового результата не видел...
Помоги перенести, тогда увидишь как реализую.
N>моё мнение, HTML хорош там где он нужен, не надо всё под одну гребню.
Да вы все просто не знаете возможностей html.
N>>моё мнение, HTML хорош там где он нужен, не надо всё под одну гребню. T>Да вы все просто не знаете возможностей html.
В HTML'е нет возможностей вообще. Навскидку — TreeView, редактируемый DropDown список и еще много чего, что мы привыкли пользовать на халяву в десктоп-приложениях.
Нестандартные для веба, но стандартные для десктопа элементы эмулируются CSS+JavaScript, но это уже выходит за рамки HTML.
... << RSDN@Home 1.1.4 beta 3 rev. 281>> ... <<Winamp is playing "Что играет? Где играет? Где ВинАмп, я вас спрашиваю?">> ...
Здравствуйте, Mamut, Вы писали:
N>>>моё мнение, HTML хорош там где он нужен, не надо всё под одну гребню. T>>Да вы все просто не знаете возможностей html.
M>В HTML'е нет возможностей вообще. Навскидку — TreeView
См слева в RSDN
M>редактируемый DropDown список и еще много чего, что мы привыкли пользовать на халяву в десктоп-приложениях.
Всё это легко достигается в HTML+DHTML+JavsScript+CSS+...
M>Нестандартные для веба, но стандартные для десктопа элементы эмулируются CSS+JavaScript, но это уже выходит за рамки HTML.
Какие рамки???
Как иначе разрешить другим пользователям полностью изменять интерфейс в моей программе? Только html.
tiberius пишет:
>>Предлагаемое "творение" будет работать, конечно, намного быстрее. > ДА! Потому, как программа будет выполнять основную работу на С, а JAVA > медленнее.
А почему Java медленнее? И даже если медленнее, то есть ли уверенность,
что это будет заметно?
>>Много травы выкурил? Покажи мне хоть один DirectX "филтьр" в IE. > Один из очень многих... > filter:progid:DXImageTransform.Microsoft.Gradient(startColorStr=#7DaFd7,endColorStr=#CEDFF6,gradientType=1) > См MSDN->DXImageTransform
И кто же даст ему в браузере-то запуститься? В Java есть, например, не
менее мощный JAI (Java Advanced Imaging).
> На паскале кроме begin, eng, =: я больше ничего не знаю и изучать > другой язык, > чтобы перенести функцию из одного mfc проекта в другой бессмысленно.
Нда...
>>Я по нескольким кликам мышкой в чужой программе, которую вижу в первый > раз, определяю, что в ней MSHTML. > И что в этом плохого?
MSHTML.
>>У меня сосед сейчас пишет приложение, которое имеет Online и >>Offline-версии. Приложение на HTML+JS+COM. Чего-то особой простоты я там >>не вижу. > Дай мне мыло или асю соседа плз. Может он мне и кинет базовый > исходник. т.е. то, что мне и нужно.
Базовый исходник занимает у него килобайт 300 И без, хотя бы,
начального знания COM там делать нечего. И это уж не говоря о том, что
исходник — коммерческая тайна.
> Мой инсталлятор пакует данные лучше, чем rar.
А потом еще и распаковывает?
> Мгновенно грузится, чего не скажешь о WiseInstall и тем более о IS!
Ага, знаю я такие инсталляторы. Которые удаляют системные DLLки, не
знают о счетчиках использования DLL и т.п.
> Он поддерживает скины с возможностями html, в отличие от остальных > инсталлеров, где кроме button, input, radio, check, group ничего нет! > Он намного гибче других инсталляторов, потому как предоставляет > возможность пользователю самому написать скрипт инсталла.
В инсталляторе интерфейс — дааалеко не главное. А уж про гибкость бы
молчал, так как про MSI ты ничего не знаешь.
--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 1.9
Sapienti sat!
Re[7]: Новое направление программирования - Просто, красиво,
Здравствуйте, Deff, Вы писали:
>>>> тогда как реализация IE- занимает несколько килобайт
D>ты с какой планеты?
D>Хочешь научиться писать МАЛЕНЬКИЕ программы: D>содаешь сотни длл и одну программу пользователя — "маленькая" программа
D>на этой планете нет маленьких IE
D>
Я базирую свою прогу на чужом исходнике: Браузер IE+aboutBox+Version=48kb.
Причём здесь dll?
Здравствуйте, tiberius, Вы писали:
T>Я НЕ АВТОР!!! Я взял исходник и дописал в него всё, что мне требовалось. Потому я и прошу помочь мне.
У... -- а это уже плагиат, и вообще не факт что все авторские права соблюдены...
T>html не ограничен сотней тегов и функциями DHTML. А как-же фильтры, Canvas, ...
может тебе солнца не хватает, в RAD всё гораздо проще, а следовательно быстрее и с меньшим количеством вероятных ошибок.
T>Помоги перенести, тогда увидишь как реализую.
да нехочу я быть соучастников в такой затее... можно и под суд попасть
T>Да вы все просто не знаете возможностей html.
безусловно не знаем, ещё мы не знаем всех возможностей CSS и сгмл в целом
Re[8]: Новое направление программирования - Просто, красиво,
M>>В HTML'е нет возможностей вообще. Навскидку — TreeView T>См слева в RSDN
Это — нестандартный элемент, аналога которому в HTML нет
M>>редактируемый DropDown список и еще много чего, что мы привыкли пользовать на халяву в десктоп-приложениях. T>Всё это легко достигается в HTML+DHTML+JavsScript+CSS+...
А я о чем говорил? Чистого HTML — недостаточно. Он начинает из себя что-лмбо представлять только в сочитеании с JavaScript и CSS
M>>Нестандартные для веба, но стандартные для десктопа элементы эмулируются CSS+JavaScript, но это уже выходит за рамки HTML. T>Какие рамки???
Стандарт HTML 4.01
T>Как иначе разрешить другим пользователям полностью изменять интерфейс в моей программе? Только html.
Смотря, насколько полностью.... Qt позволяет менять вид сколько угодно, а он на C++ написан...
... << RSDN@Home 1.1.4 beta 3 rev. 281>> ... <<Winamp is playing "Что играет? Где играет? Где ВинАмп, я вас спрашиваю?">> ...
Здравствуйте, Mamut, Вы писали:
M>>>В HTML'е нет возможностей вообще. Навскидку — TreeView T>>См слева в RSDN
M>Это — нестандартный элемент, аналога которому в HTML нет
Какая разница. Он легко создаётся. Значит есть.
M>>>редактируемый DropDown список и еще много чего, что мы привыкли пользовать на халяву в десктоп-приложениях. T>>Всё это легко достигается в HTML+DHTML+JavsScript+CSS+...
M>А я о чем говорил? Чистого HTML — недостаточно. Он начинает из себя что-лмбо представлять только в сочитеании с JavaScript и CSS
Я и не говорю про чистый HTML. Интерфейс будет строиться на всех возможностях ActiveX IE
M>>>Нестандартные для веба, но стандартные для десктопа элементы эмулируются CSS+JavaScript, но это уже выходит за рамки HTML. T>>Какие рамки???
M>Стандарт HTML 4.01
НЕТ! MSIE 5.5 или даже MSIE 6.0
T>>Как иначе разрешить другим пользователям полностью изменять интерфейс в моей программе? Только html.
M>Смотря, насколько полностью.... Qt позволяет менять вид сколько угодно, а он на C++ написан...
И насколько легко он позволит менять вид? Сможет ли он повторить хотя-бы фильтр Lightmap и DHTML? Занимает ли он 10 килобайт? Действительно ли этот стандарт популярен как HTML?
Ответ Нет, Нет, Нет, Нет
HTML даёт практически неограниченные возможности в разработке интерфейса. Я же выложи бета-старый-исходник своего инсталлятора со скином InnoSetup.
tiberius пишет:
> M>Это — нестандартный элемент, аналога которому *в HTML* нет > Какая разница. Он легко создаётся. Значит есть.
И при этом на порядок неудобнее стандартного виндового. Желающие могут
попробовать клавиатурную навигацию по сайту RSDN на досуге.
> M>А я о чем говорил? Чистого HTML — недостаточно. Он начинает из себя > что-лмбо представлять *только* в сочитеании с JavaScript и CSS > Я и не говорю про чистый HTML. Интерфейс будет строиться на всех > возможностях ActiveX IE
На всех сразу? Ну и монстрик получится...
Я уж не говорю о том, что написать _правильный_ ActiveX часто будет
сложнее, чем нарисовать такой же интерфейс в редакторе диалогов/MFC.
> M>>>Нестандартные для веба, но стандартные для десктопа элементы > эмулируются CSS+JavaScript, но это уже выходит за рамки HTML. > T>>Какие рамки??? > M>Стандарт HTML 4.01 > НЕТ! MSIE 5.5 или даже MSIE 6.0
Угу. Вот из-за таких как ты, до сих пор есть куча программ, которые
работают только под Виндой и только с конкретной версией Эксплодера.
> T>>Как иначе разрешить другим пользователям полностью изменять > интерфейс в моей программе? Только html. > M>Смотря, насколько полностью.... Qt позволяет менять вид сколько > угодно, а он на C++ написан... > И насколько легко он позволит менять вид?
Как захочешь
> Сможет ли он повторить хотя-бы фильтр Lightmap и DHTML?
Как lightmap относится к DHTML????
> Занимает ли он 10 килобайт? Действительно ли этот стандарт популярен > как HTML? > Ответ Нет, Нет, Нет, Нет > HTML даёт практически неограниченные возможности в разработке > интерфейса. Я же выложи бета-старый-исходник своего инсталлятора со > скином InnoSetup.
Да, жалею я пользователей, которые этим инсталлером воспользуются...
--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 1.9
Sapienti sat!
Re[10]: Новое направление программирования - Просто, красиво
M>>>>В HTML'е нет возможностей вообще. Навскидку — TreeView T>>>См слева в RSDN
M>>Это — нестандартный элемент, аналога которому в HTML нет T>Какая разница. Он легко создаётся. Значит есть.
Ну, создается-то он, может и не так легко, как хотелось бы. Это — раз. Во вторых, в HTML нет стандартного Tree. Я б посмотрел, как кто-нибудь попытался бы прикрутить RSDN Tree к программе.
T>Я и не говорю про чистый HTML. Интерфейс будет строиться на всех возможностях ActiveX IE
Это, как гриться, "ню-ню" (с)
M>>>>Нестандартные для веба, но стандартные для десктопа элементы эмулируются CSS+JavaScript, но это уже выходит за рамки HTML. T>>>Какие рамки???
M>>Стандарт HTML 4.01
T>НЕТ! MSIE 5.5 или даже MSIE 6.0
Так, с каких пор это стало стандартом?
T>>>Как иначе разрешить другим пользователям полностью изменять интерфейс в моей программе? Только html.
M>>Смотря, насколько полностью.... Qt позволяет менять вид сколько угодно, а он на C++ написан...
T>И насколько легко он позволит менять вид?
http://gzip.rsdn.ru/File/9088/qt.png (77,6 KB)
Причем можно написать свой собственный графический плугин, меняющий хоть графические примитивы, хоть виджеты целиком
T>'Сможет ли он повторить хотя-бы фильтр Lightmap и DHTML?
Фильтр Lightmap не является HTML-ем. Вчитываемся вдумчиво:
Далее, DHTML — это тоже Микрософтовский способ называть (сюрприз!) HTML + JavaScript. Ничего особенного в DHTML и нет.
То есть — да, Qt сможет повторить, благо графические ыозможности у него неплохие. В крайнем случае — прикрутить AntiGrain и — вперед. Да и OpenGL тоже есть встроенный...
T>Занимает ли он 10 килобайт? Действительно ли этот стандарт популярен как HTML?
Qt — это фреймворк, который помимо GUI (кроссплатформенного) отвечает и за многое другое. Насчет популярности — KDE на нем написан.
Кстати, почему мне кажется, что IE ActiveX не занимает 10к ну никак?
T>HTML даёт практически неограниченные возможности в разработке интерфейса.
HTML очень сильно ограничивает возможности в разработке интерфейса потому что в нем нет таких элементов, как, например:
TreeView
Editable ComboBox
TabControl
Эмуляция таких элементов все погловоно — наколенные поделки, так как ни одна из них не стандартизирована. И граблей там таких — поголовно. Я уж лучше пойду и возьмусь за HTMLLayout, который позволяет чуть больше, чем стандартный
T>Я же выложи бета-старый-исходник своего инсталлятора со скином InnoSetup.
Сейчас смотрю. Убого. А скины... Winamp, например, очень даже неплохо препарируется...
... << RSDN@Home 1.1.4 beta 3 rev. 281>> ... <<Winamp is playing "Что играет? Где играет? Где ВинАмп, я вас спрашиваю?">> ...
>Я уж не говорю о том, что написать _правильный_ ActiveX часто будет
сложнее, чем нарисовать такой же интерфейс в редакторе диалогов/MFC.
Не ActiveX в IE, а ActiveX IE
> НЕТ! MSIE 5.5 или даже MSIE 6.0
>Угу. Вот из-за таких как ты, до сих пор есть куча программ, которые >работают только под Виндой и только с конкретной версией Эксплодера.
Не вижу в этом ничего плохого, что программа работает с Win98 по winxp2, win2003,...
Например WebMoney Keeper работает только в WinNT. Хотя в нём тоже HTML-интерфейс.
>Qt позволит менять вид Как захочешь
В HTML я возьму notepad и изменю вид. HTML хорошо известен большинству программистов.
А достаточно ли для qt стандартных средств Windows?
>Как lightmap относится к DHTML????
Не знаешь HTML? См MSDN->Search("progid:DXImageTransform.Microsoft.LightMap")
Да, жалею я пользователей, которые этим инсталлером воспользуются...
Наверное лучше использовать InstallShield, WiseInstall. В них как рах реализован QT. В каждой программе используется QT
И Инсталлятор 100-килобайтовой программы будет занимать полтора метра.
Здравствуйте, Mamut, Вы писали:
M>Ну, создается-то он, может и не так легко, как хотелось бы. Это — раз. Во вторых, в HTML нет стандартного Tree. Я б посмотрел, как кто-нибудь попытался бы прикрутить RSDN Tree к программе.
Весь инет забит скриптами к DHTML. Менюшки, Treeviewы десятками везде предлагаются. У каждого человека программа будет выглядеть ОРИГИНАЛЬНО, а не так серо как сейчас.
T>>НЕТ! MSIE 5.5 или даже MSIE 6.0
M>Так, с каких пор это стало стандартом?
С Windows98
T>>>>Как иначе разрешить другим пользователям полностью изменять интерфейс в моей программе? Только html.
M>>>Смотря, насколько полностью.... Qt позволяет менять вид сколько угодно, а он на C++ написан...
T>>И насколько легко он позволит менять вид?
M>http://gzip.rsdn.ru/File/9088/qt.png (77,6 KB) M>Причем можно написать свой собственный графический плугин, меняющий хоть графические примитивы, хоть виджеты целиком
T>>'Сможет ли он повторить хотя-бы фильтр Lightmap и DHTML?
M>Фильтр Lightmap не является HTML-ем. Вчитываемся вдумчиво:
M>filter:progid:DXImageTransform.Microsoft.Gradient(startColorStr=#7DaFd7,endColorStr=#CEDFF6,gradientType=1)
M>Это так, Микрософтовская COM-приблуда.
M>Далее, DHTML — это тоже Микрософтовский способ называть (сюрприз!) HTML + JavaScript. Ничего особенного в DHTML и нет.
M>То есть — да, Qt сможет повторить, благо графические ыозможности у него неплохие. В крайнем случае — прикрутить AntiGrain и — вперед. Да и OpenGL тоже есть встроенный...
T>>Занимает ли он 10 килобайт? Действительно ли этот стандарт популярен как HTML?
M>Qt — это фреймворк, который помимо GUI (кроссплатформенного) отвечает и за многое другое. Насчет популярности — KDE на нем написан.
HTML практически ещё более кроссплатформенный. Но что-то мне не верится, что программа со всеми возможностями qt уместится в 20 кб.
M>Кстати, почему мне кажется, что IE ActiveX не занимает 10к ну никак?
Cwebpage — программа на Visual C — 28kb.
Hello World — программа на Visual C — 28kb.
Эта веб страница никак не сказывается на размере программы.
T>>HTML даёт практически неограниченные возможности в разработке интерфейса.
M>HTML очень сильно ограничивает возможности в разработке интерфейса потому что в нем нет таких элементов, как, например:
M>TreeView M>Editable ComboBox M>TabControl
Ну а как насчёт оригинального красивого многоуровнего меню? На HTML это делается элементарно.(CtrlC->CtrlV)
M>Эмуляция таких элементов все погловоно — наколенные поделки, так как ни одна из них не стандартизирована. И граблей там таких — поголовно. Я уж лучше пойду и возьмусь за HTMLLayout, который позволяет чуть больше, чем стандартный
T>>Я же выложи бета-старый-исходник своего инсталлятора со скином InnoSetup.
M>Сейчас смотрю. Убого. А скины... Winamp, например, очень даже неплохо препарируется...
Убого? Один в один с InnoSetup. Я просто не стал оригинальный скин выклажывать.
А те баги типа незакрывания окна в конце и всяких alert, так это debug старая версия
Можно сделать скин неотличимым от InnoSetup через добавив onselectstart, /**/, нулевую рамку, запретив tab в фрейме.
То-же самое элементарно делается на HTML.
см MSDN->Search("style=filter:alpha()")
>>Как lightmap относится к DHTML???? T>Не знаешь HTML? См MSDN->Search("progid:DXImageTransform.Microsoft.LightMap")
Еще раз повторяю. Эти фильтры не имеют отношения к HTML. Никак. Никаким образом. Вообще. Для того, чтобы этот фильтр работал, нужна энная версия эксплорера. Этот фильтр — COM-приблуда от MS.
T>Весь инет забит скриптами к DHTML. Менюшки, Treeviewы десятками везде предлагаются. У каждого человека программа будет выглядеть ОРИГИНАЛЬНО, а не так серо как сейчас.
Нужно, чтобы было не оригинально, а стандартно и расширяемо. Оригинальность дорисуем.
T>>>НЕТ! MSIE 5.5 или даже MSIE 6.0 M>>Так, с каких пор это стало стандартом? T>С Windows98
Единственный стандарт на HTML — HTML 4.01. Других нет.
T>HTML практически ещё более кроссплатформенный. Но что-то мне не верится, что программа со всеми возможностями qt уместится в 20 кб.
Как не уместится и программа с ИЕ, если быть честным. Для того, чтобы она работала, нужна соответствующая версия IE. Если писать на QT под KDE, где фреймворк уже есть, не думаю, что программа будет очень большой.
T>Ну а как насчёт оригинального красивого многоуровнего меню? На HTML это делается элементарно.(CtrlC->CtrlV)
Спешу вас разочаровать, но красивое многоуровневое меню невозможно реализовать в HTML при помощи CtrlC->CtrlV, как и в любом другом языке программирования
Мнею в ОС уже есть — это стандартный элемент управления. В том же Qt — это виджет, который можно перерисовать так, как твоей душе угодно.
А вот меню в HTML нет — его надо реализовывать на коленке.
Далее...
Требую показать мне на стандартный хтмл элемент, который позволит мне сделать похожее (объяснения после картинки):
1. Итак, что мы имеем? Элемент для выбора даты связанный с часами слева
2. Slider, up-down control, progress bar и custom control, связанные друг с другом
3. Rich text-box
4. Tab-control
5. Здесь я немного лукавлю, но все же — list view со встроенным tree view, с сортировкой по колонкам
6. List view
И в самом конце — таблица с множественным выделением и сортировкой по колонкам. Еще не показан пример с Drag&Drop.
Так вот. Эти элементы, не спорю, могут быть эмулированы с помощью HTML+Javascript. Но! Наличие огромного количества скриптов в Инете не говорит в пользу DHTML, а, скорее, против него.
Расширяемы ли те скрипты? Одинаковы ли они в использовании? Стандартизированы ли они? Выделены ли они в готовые к использованию библиотеки?
Ответ один — нет.
Единственный стандарт на HTML — HTML 4.01. А он предлагает очень ограниченное количество элементов. Все остальное — эмуляция, причем сделанная, извините, через одно место.
А добавьте ко всему этому связь с базой данных и уууууу... Например, здесь
Я хотел сделать подгрузку (из базы данных) при первом всплытии тултипа, но к сожалению борьба с секурностью джаваскрипта не позволяет это нормально сделать.
(идет речь о реализации тултипа, отражающего часть сообщения, в оффлайн-клиенте RSDN, тоже используется IE...)
... << RSDN@Home 1.1.4 beta 3 rev. 281>> ... <<Winamp is playing "Что играет? Где играет? Где ВинАмп, я вас спрашиваю?">> ...
Кому на кой черт надо менять интерфейс? Неужели ты думаешь, что скачав программу пользователь тут же бросится ее менять (т.е. фактически переписывать заново). Чушь! Ему важно, чтобы она работала. И, если изначально хорошо продумаешь интерфейс, то все будет окей.
Далее. Ты говоришь для неопытных программистов. Но, блин, сделает он дизайн а дальше что? Что он может написать, если даже прогресс бар запиндюрить на форму не может? Правильно, крутой калькулятор с крутым дизайном, который за счет ИЕ еще и тормозить будет. Фу, гадость какая!
Далее. Именно такие подходы заставляют тормозить все программы. Вы не заметили, что скорости компов растут, а программы как тупили, так и тупят. Это потому что люди сейчас наплевательски относятся к ресурсам. Раз их куча, то можно жрать сколько в пузо влезет... За что я люблю Зе Мышь и Оперу — шустрая, компактная, удобная и никаких приблуд вроде хтмлей всяких. В отличие от того же IE, Outlook, Thunderbird и Mozilla.
Короче, HTML — HyperText Markup Language. Ну нахрена козе баян? Зачем опять чистить уши через один очень известный проход?
Здравствуйте, Mamut, Вы писали:
>>>Как lightmap относится к DHTML???? T>>Не знаешь HTML? См MSDN->Search("progid:DXImageTransform.Microsoft.LightMap")
M>Еще раз повторяю. Эти фильтры не имеют отношения к HTML. Никак. Никаким образом. Вообще. Для того, чтобы этот фильтр работал, нужна энная версия эксплорера. Этот фильтр — COM-приблуда от MS.
Ну причём здесь в этом смысле HTML! Ладно, мой вариант интерфейса это не HTML. Это то, что отображается в рамке IE вставленной в программу! Это то, что работает только в Windows 92, NT.
T>>Весь инет забит скриптами к DHTML. Менюшки, Treeviewы десятками везде предлагаются. У каждого человека программа будет выглядеть ОРИГИНАЛЬНО, а не так серо как сейчас.
M>Нужно, чтобы было не оригинально, а стандартно и расширяемо. Оригинальность дорисуем.
Куда уж расширяемей, чем html?
T>>>>НЕТ! MSIE 5.5 или даже MSIE 6.0 M>>>Так, с каких пор это стало стандартом? T>>С Windows98 M>Единственный стандарт на HTML — HTML 4.01. Других нет.
http://www.w3.org/TR/1998/NOTE-VML-19980513 — Стандарт VML 1998 года.
Почему этот стандарт не поддерживается Mozilla, FireFox, FireBird, Netscape, Opera, HTMLLayout, ...?
T>>HTML практически ещё более кроссплатформенный. Но что-то мне не верится, что программа со всеми возможностями qt уместится в 20 кб.
M>Как не уместится и программа с ИЕ, если быть честным. Для того, чтобы она работала, нужна соответствующая версия IE. Если писать на QT под KDE, где фреймворк уже есть, не думаю, что программа будет очень большой.
Ладно, предположим я делаю инсталлятор и выкладываю готовый вариант в инет.
Предположим инсталлятор требуется для антивируса Касперского.
Рассмотрим 3 варианта: InstallShield, Этот с framework, Мой инсталлер.
InstallShield грузится 5сек, размер 740 кб, стиль слаборедактируемый и требует изучения 100 страниц документации.
Иой инсталлер с HTML грузится 1сек, размер 55 кб, стиль 100% перередактируемый и требует знаний HTML++ или специальной программы.
Иой инсталлер с 0 грузится xzсек, размер 20-40 кб + размер framework, стиль редактируемый и требует знаний qt.
Какой вариант лучше?
Устанавливать его будут обычные пользователи под win98,me,nt,xp,2000,2003,LH,...
Размер моего инсталлятора 50кбайт.
Размер framework?
Например в моей программе проверка последней версии продукта on-line
<a href=http://mysite.com/versioncheck.htm target=frame1>check</a>
...
<script>
if(!frame1.version=="1.44.555.66")alert("New version avalible")
T>>Ну а как насчёт оригинального красивого многоуровнего меню? На HTML это делается элементарно.(CtrlC->CtrlV)
M>Спешу вас разочаровать, но красивое многоуровневое меню невозможно реализовать в HTML при помощи CtrlC->CtrlV, как и в любом другом языке программирования M>А вот меню в HTML нет — его надо реализовывать на коленке.
Элементарно. Берём любой html MenuBuilder. А потом CtrlC->CtrlV.
Например мой старый ламский menubuilder — http://menubuilder.fasthtm.com/?download
M>Мнею в ОС уже есть — это стандартный элемент управления. В том же Qt — это виджет, который можно перерисовать так, как твоей душе угодно.
Ну ну.
Сделай НеРисунком! А стандартными средствами. Чтобы умещался этот рисунок в 1-2 килобайта и в зависимости от параметров программы менялся. Скажем, чтобы та розовая звезда шевелила лучами.
http://www.w3.org/TR/1998/VML-19980513-images/simple.gif
M>Далее...
M>Требую показать мне на стандартный хтмл элемент, который позволит мне сделать похожее (объяснения после картинки): M> M>
M>стандартный хтмл элемент,
Вот эта фраза меня больше всего убивает. А такой вариант чем плох.
<script src=script.js></script>
<script>func_from_script_js(param1,param2)</script>
Это я пишу: Требую показать мне на стандартный QT элемент, который позволит мне сделать похожее за пару минут не зная почти ничего о программировании. Это скрин части меню.
M>1. Итак, что мы имеем? Элемент для выбора даты связанный с часами слева
Я нарисовал просто часы методом VML. Хотя непонятно, зачем в инсталлере часы.
M>2. Slider, up-down control, progress bar и custom control, связанные друг с другом
Да, но я сделал полукруглый progressBar с переливающимися цветами.
Попробуй повтори на QT. На явескрипт он занимает 3кб.
M>3. Rich text-box
Не смеши!!!!!
<h3>Rich Text</h3>Qt supports rich test. This is <i>italics</i>, this is <b>bold</b> this is <u>underline</u>, this is <font color=red>red</font> , this is <font color=lightgreen>green</font> , this is <font color=blue>blue</font>.
M>4. Tab-control
Не намного сложнее, но приводить не буду. См Yandex.ru вверху страницы M>5. Здесь я немного лукавлю, но все же — list view со встроенным tree view, с сортировкой по колонкам M>6. List view M>И в самом конце — таблица с множественным выделением и сортировкой по колонкам. Еще не показан пример с Drag&Drop.
Ну насчёт 5, 6 варианта, то они мне в инсталляторе не нужны. Хотя можно взять ActiveX таблицы и встроить его в скрипт.
Например к C Builder5,6 прилагается ActiveX F1Book — та-же таблица с множественным выделением и сортировкой по колонкам.
M>Так вот. Эти элементы, не спорю, могут быть эмулированы с помощью HTML+Javascript. Но! Наличие огромного количества скриптов в Инете не говорит в пользу DHTML, а, скорее, против него.
Как раз за.
M>Расширяемы ли те скрипты?
Да! Благо всё open-source. M>Одинаковы ли они в использовании?
Нет! Все инсталляторы будут оригинальны. M>Стандартизированы ли они?
Нет. Но стандарт external. комманд в моём инсталляторе стандартизирован. M>Выделены ли они в готовые к использованию библиотеки?
Я к этоиу иду. M>Ответ один — нет.
Да, в целом нет, но это хорошо! В этом случае "нет" — это хорошо!
Так говорить глупо. Это то-же самое, что утверждать про компьютерные магазины:
Бесплатный кредит — хорошо
Бесплатная доставка — хорошо
Бесплатный подарок — хорошо
Бесплатный апгрейд — хорошо
Бесплатное тестирование в течении 2-х недель — хорошо
БОльшая тактовая частота процессора — хорошо
Новые разъёмы под комплектующие в моём компьютере — хорошо
Мощный и дорогой кулер — хорошо
Популярные марки коплектующих — хорошо
Большой известный магазин — хорошо
...
В итоге человек платит в 2 — 3 (в два — три) раза больше, чем компьютер реально стоит
Вот так и здесь не надо утверждать, что нестандартность, неодинаковость — плохо. Для дизайна это очень хорошо.
M>Единственный стандарт на HTML — HTML 4.01. А он предлагает очень ограниченное количество элементов. Все остальное — эмуляция, причем сделанная, извините, через одно место.
Меня не волнуют стандарты. Мне интересна лишь совместимость с IE5,6
M>А добавьте ко всему этому связь с базой данных и уууууу... Например, здесь
Странная связь между инсталлятором и базой данных .
M>
M>Я хотел сделать подгрузку (из базы данных) при первом всплытии тултипа, но к сожалению борьба с секурностью джаваскрипта не позволяет это нормально сделать.
КривыеРуки.sys? M>(идет речь о реализации тултипа, отражающего часть сообщения, в оффлайн-клиенте RSDN, тоже используется IE...)
...
Короче, помогите мне перенести эту тупую функцию из одного проекта в другой. Человеку, знающему mfc это раз плюнуть.
Могу потом этого человека включить в список разработчиков, если он пожелает
Ну или ещё чем помочь.
ЗЫ
Моя программа — редактор скинов написана в C Builder и занимает метр.
А сам sfx-installer 50 кб. И все почти функции в нём будут работать под CBuilder, mfc, winapi,...
Короче mfc, com, .. я не знаю, Но инсталлятор почти готов.
Здравствуйте, tiberius, Вы писали:
T>Здравствуйте, Mamut, Вы писали:
>>>>Как lightmap относится к DHTML???? T>>>Не знаешь HTML? См MSDN->Search("progid:DXImageTransform.Microsoft.LightMap")
M>>Еще раз повторяю. Эти фильтры не имеют отношения к HTML. Никак. Никаким образом. Вообще. Для того, чтобы этот фильтр работал, нужна энная версия эксплорера. Этот фильтр — COM-приблуда от MS. T>Ну причём здесь в этом смысле HTML!
Сам себе противоречишь
T>>>Весь инет забит скриптами к DHTML. Менюшки, Treeviewы десятками везде предлагаются. У каждого человека программа будет выглядеть ОРИГИНАЛЬНО, а не так серо как сейчас. M>>Нужно, чтобы было не оригинально, а стандартно и расширяемо. Оригинальность дорисуем. T>Куда уж расширяемей, чем html?
Еще раз. HTML — не расширяем. Например, сделай так, чтобы <SELECT> был плоским
M>>Единственный стандарт на HTML — HTML 4.01. Других нет.
T>http://www.w3.org/TR/1998/NOTE-VML-19980513 — Стандарт VML 1998 года. T>Почему этот стандарт не поддерживается Mozilla, FireFox, FireBird, Netscape, Opera, HTMLLayout, ...?
А он что, ИЕ поддерживается?
T>Ладно, предположим я делаю инсталлятор и выкладываю готовый вариант в инет.
T>Предположим инсталлятор требуется для антивируса Касперского. T>Рассмотрим 3 варианта: InstallShield, Этот с framework, Мой инсталлер.
T>InstallShield грузится 5сек, размер 740 кб, стиль слаборедактируемый и требует изучения 100 страниц документации. T>Иой инсталлер с HTML грузится 1сек, размер 55 кб, стиль 100% перередактируемый и требует знаний HTML++ или специальной программы. T>Иой инсталлер с 0 грузится xzсек, размер 20-40 кб + размер framework, стиль редактируемый и требует знаний qt.
T>Какой вариант лучше?
InstallShield, потому что он на полную катушку позволяет использовать все возможности MSI. Вдобавок, его интерфейс — довольно серьезно стандартизированная фишка, шаг в сторону от которой карается расстрелом.
T>>>Ну а как насчёт оригинального красивого многоуровнего меню? На HTML это делается элементарно.(CtrlC->CtrlV)
M>>Спешу вас разочаровать, но красивое многоуровневое меню невозможно реализовать в HTML при помощи CtrlC->CtrlV, как и в любом другом языке программирования M>>А вот меню в HTML нет — его надо реализовывать на коленке.
T>Элементарно. Берём любой html MenuBuilder. А потом CtrlC->CtrlV. T>Например мой старый ламский menubuilder — http://menubuilder.fasthtm.com/?download
Так. Стоп.
Для того, чтобы прикрутить код многоуровнего меню из "любого ламсокго" билдера к продукту так, чтобы меню взаимодействовало с программой, необходимо будет продраться сквозь тонну ламского кода на Яваскрипте. Лучше уж я в Delphi или в WinForms компонент готовый на форму кину.
M>>Мнею в ОС уже есть — это стандартный элемент управления. В том же Qt — это виджет, который можно перерисовать так, как твоей душе угодно.
T>Ну ну. T>Сделай НеРисунком!
А кто сказал, что рисунком? Перерисовка — это подмена стандартной функции отрисовки компонента. Компонент же должен отрисоваться, прежде, чем на экране появится.
T>А стандартными средствами.
Стандартными средствами. Грубо говоря, на уровне WinAPI — перехватывается событие WM_PAINT. Для фреймворков разного уровня — переопределяется событие onPaint для контролов. В Qt можно поменять вид вообще всего приложения, написав свой собственный стиль.
T>Чтобы умещался этот рисунок в 1-2 килобайта и в зависимости от параметров программы менялся. Скажем, чтобы та розовая звезда шевелила лучами.
HTML не позволит тебе шевелить лучами звезды. Любая другая трансформация достигается графическими библиотеками, как встроенными в рахличные фреймворки, так и внешние — от gd до AntiGrain. причем, большинство этих библиотек — высокого уровня, позволяют совершать определенные действия парой строчек кода.
M>>стандартный хтмл элемент, T>Вот эта фраза меня больше всего убивает. А такой вариант чем плох. T><script src=script.js></script> T><script>func_from_script_js(param1,param2)</script>
Не вижу здесь элемента стандартного, предоставляющего мне табконтрол или spinbox.
Почему я говорю стандартный. Потому что я хочу, взяв что-либо в руки, ожидать
а) набор стандартных компонентов, а не выдумывать их самому
б) что компоненты будут вести себя более-менее одинаково.
Функциональность стандартного компонента можно расширить всегда, если это позволяет фреймворк. Скриншот с Qt я уже приводил. Расширяется все, что угодно. То же самое доступно и в других фреймворках — VCL, WinForms и так далее.
HTML расширить практически нельзя. Нестандартные элементы получаются путем эмуляции через JavaScript, который даже отладить толком нельзя.
А такие контроли, как TreeView, TabControl, ListView являются стандартными для десктоп-приложения. То, что мне придется их придумыват с нуля, да еще и в другом языке программирования (JavaScript) со своей куцой объектной системой и кривой имплементацией DOM в браузерах... Ууууу.... Лучше я потрачу 5-10 минут на изучения документации к VCL и сяду за Дельфи.
Что приводит нас к следующему пункту:
T>Это я пишу: Требую показать мне на стандартный QT элемент, который позволит мне сделать похожее за пару минут не зная почти ничего о программировании. Это скрин части меню.
T>[покоцано: выпадающая менюшка]
Так вот, а в код той менюшки ты смотрел?
Если то меню написано не с бухты-барахты, то количество JavaScripta и/или CSS, требуемого для его отображения обычно приводит в смятение.
И ты уверен, что прикрутка той менюшки к проекту дастся малой кровью?
Так вот, насчет стандартного элемента в меню. В Qt — это QMenuBar + QMenuItem. В VCL — это TMainMenu + TMenuItem и так далее.
Не поверишь, но достижение красочных эффектов в меню в нормальном фреймворке — это несложная операция, надо только подумать прежде, чем писать Тем более, что разукрашивание меню — это задача этак пятидесятая по значимости.
А вот TabControl надо сейчас.
M>>1. Итак, что мы имеем? Элемент для выбора даты связанный с часами слева
T>Я нарисовал просто часы методом VML. Хотя непонятно, зачем в инсталлере часы.
А где привязка к DateTimePicker'у? А нету. Потому что нет стандартного DateTimePicker'а в HTML...
M>>2. Slider, up-down control, progress bar и custom control, связанные друг с другом T>Да, но я сделал полукруглый progressBar с переливающимися цветами. T>Попробуй повтори на QT. На явескрипт он занимает 3кб.
M>>3. Rich text-box T>Не смеши!!!!! T><h3>Rich Text</h3>Qt supports rich test. This is <i>italics</i>, this is <b>bold</b> this is <u>underline</u>, this is <font color=red>red</font> , this is <font color=lightgreen>green</font> , this is <font color=blue>blue</font>.
а с возможностью редактирования?
M>>4. Tab-control T>Не намного сложнее, но приводить не буду. См Yandex.ru вверху страницы
Я ж попросил стандартный, расширяемый контрол
M>>5. Здесь я немного лукавлю, но все же — list view со встроенным tree view, с сортировкой по колонкам M>>6. List view M>>И в самом конце — таблица с множественным выделением и сортировкой по колонкам. Еще не показан пример с Drag&Drop.
T>Ну насчёт 5, 6 варианта, то они мне в инсталляторе не нужны. Хотя можно взять ActiveX таблицы и встроить его в скрипт.
Вот, все-таки нельзя
T>Например к C Builder5,6 прилагается ActiveX F1Book — та-же таблица с множественным выделением и сортировкой по колонкам.
И все, программа твоя разрастается до размер прораммы + размер ActiveX'ов
M>>Так вот. Эти элементы, не спорю, могут быть эмулированы с помощью HTML+Javascript. Но! Наличие огромного количества скриптов в Инете не говорит в пользу DHTML, а, скорее, против него. T>Как раз за.
Как раз против, потому что нужна не эмуляция, а предсказуемое, стандартное, расширяемое решение. А его нет.
M>>Расширяемы ли те скрипты? T>Да! Благо всё open-source.
Под расширяемым я имел в виду не копание в чужом коде и вылавливание чужих багов
M>>Одинаковы ли они в использовании? T>Нет! Все инсталляторы будут оригинальны.
Нельзя. За такое руки отрывают
M>>Стандартизированы ли они? T>Нет.
Плохо
T>Но стандарт external. комманд в моём инсталляторе стандартизирован.
Уже хорошо
M>>Выделены ли они в готовые к использованию библиотеки? T>Я к этоиу иду.
Надо
M>>Ответ один — нет. T>Да, в целом нет, но это хорошо! В этом случае "нет" — это хорошо!
Это плохо. Представь, что GUI к каждой новой программе пришлось бы разрабатывать с нуля на WinAPI. Это примерно тоже самое, что и делать GUI на HTML.
Но. Для WinAPI сделаны фреймворки. MFC, VCL, Qt тот же, даже WinForms можно туда же отнести. А почему? Потому что каждый разработчик хотел не рисовать всякую фигню с нуля, а иметь стандартный набор компонентов, с которыми можно было бы работать.
Я даже грешу на WinAPI. Всякие ListView, menu и прочие уже есть — бери и пользуйся. Берут и пользуются.
А на данный момент нет, насколько я знаю, доведенных до ума библиотек, использующих DHTML (aka HTML+JavaScript), которые хоть сколько-нибудь близко приблизились бы к тому набору контролов, что необходимы в любом мало-малоьски человечемком интерфейсе.
А это нужны не сделанные на коленке, выдранные с корнем откуда-то менюшки. Это нужны стандартизированные (в рамках соответствующего фреймворка) наборы элементов.
T>Так говорить глупо. Это то-же самое, что утверждать про компьютерные магазины: T>В итоге человек платит в 2 — 3 (в два — три) раза больше, чем компьютер реально стоит
Не совсем верное сравнение, но все же. WinForms бесплатен. VCL, насколько я знаю, тоже. Qt — под GPL под Linux и, к сожалению, платная под Win. Но! Я согласен платить, если означенные библиотеки не ограничивают меня и не заставляют меня копаться в чем-то левом, не связанном с моим полем деятельности. А в случае с HTML копаться придется. JavaScript для меню, JavaScript для TabControl, JavaScript для еще чего-то, что вылазит за рамки HTML4.01.
T>Вот так и здесь не надо утверждать, что нестандартность, неодинаковость — плохо. Для дизайна это очень хорошо.
Согласен, но когда меня ограничивают даже в стандартности...
M>>Единственный стандарт на HTML — HTML 4.01. А он предлагает очень ограниченное количество элементов. Все остальное — эмуляция, причем сделанная, извините, через одно место.
T>Меня не волнуют стандарты.
Это плохо
M>>А добавьте ко всему этому связь с базой данных и уууууу... Например, здесь
T>Странная связь между инсталлятором и базой данных .
M>>
M>>Я хотел сделать подгрузку (из базы данных) при первом всплытии тултипа, но к сожалению борьба с секурностью джаваскрипта не позволяет это нормально сделать.
T>КривыеРуки.sys?
Кривые руки у тех, кто IE делал...
T>Короче, помогите мне перенести эту тупую функцию из одного проекта в другой.
О. Вернулись к тому, чем это все начиналось.
Новое направление программирования — Просто, красиво, удобно
Наверняка многие люди сталкивались с проблемой:
когда надо было написать маленькую, удобную, красивую программу,
а знаний для написания не хватало.
Всё это решается одним махом. Одним простым шаблоном программы.
Как-же всё это реализовать?
Ответ прост. Достаточно взять шаблон программы в которой реализован браузер на весь экран
и обмен данными между javascript и cpp
Оказалось, что не все так просто. И оказалось, что нужно просто "перенести эту тупую функцию из одного проекта в другой"
T>Человеку, знающему mfc это раз плюнуть.
Здравствуйте, Mamut, Вы писали:
M>Здравствуйте, tiberius, Вы писали:
T>>Здравствуйте, Mamut, Вы писали:
>>>>>Как lightmap относится к DHTML???? T>>>>Не знаешь HTML? См MSDN->Search("progid:DXImageTransform.Microsoft.LightMap")
M>>>Еще раз повторяю. Эти фильтры не имеют отношения к HTML. Никак. Никаким образом. Вообще. Для того, чтобы этот фильтр работал, нужна энная версия эксплорера. Этот фильтр — COM-приблуда от MS. T>>Ну причём здесь в этом смысле HTML!
M>Сам себе противоречишь
Я сказал html подразумевая рамку IE в программе. Меня не так поняли и я просто изменил формулировку.
T>>>>Весь инет забит скриптами к DHTML. Менюшки, Treeviewы десятками везде предлагаются. У каждого человека программа будет выглядеть ОРИГИНАЛЬНО, а не так серо как сейчас. M>>>Нужно, чтобы было не оригинально, а стандартно и расширяемо. Оригинальность дорисуем. T>>Куда уж расширяемей, чем html?
M>Еще раз. HTML — не расширяем. Например, сделай так, чтобы <SELECT> был плоским
M>>>Единственный стандарт на HTML — HTML 4.01. Других нет.
T>>http://www.w3.org/TR/1998/NOTE-VML-19980513 — Стандарт VML 1998 года. T>>Почему этот стандарт не поддерживается Mozilla, FireFox, FireBird, Netscape, Opera, HTMLLayout, ...?
M>А он что, ИЕ поддерживается?
ДА.
T>>Ладно, предположим я делаю инсталлятор и выкладываю готовый вариант в инет.
T>>Предположим инсталлятор требуется для антивируса Касперского. T>>Рассмотрим 3 варианта: InstallShield, Этот с framework, Мой инсталлер.
T>>InstallShield грузится 5сек, размер 740 кб, стиль слаборедактируемый и требует изучения 100 страниц документации. T>>Иой инсталлер с HTML грузится 1сек, размер 55 кб, стиль 100% перередактируемый и требует знаний HTML++ или специальной программы. T>>Иой инсталлер с 0 грузится xzсек, размер 20-40 кб + размер framework, стиль редактируемый и требует знаний qt.
T>>Какой вариант лучше?
M>InstallShield, потому что он на полную катушку позволяет использовать все возможности MSI. Вдобавок, его интерфейс — довольно серьезно стандартизированная фишка, шаг в сторону от которой карается расстрелом.
БЛИИИИН.
Пользователь. Скачивает программу.
Вариант1: InstallShield
1)Программа занимает 5 мб
2)Инсталлятор долго грузится
3)По-моему инсталлятор не поддерживает автоинсталл. Setup.exe -auto
4)Инсталлятор выглядит серо как и все программы windows.
5)Для установки программы надо 10 раз нажать далее.
6)При отсутствии доступа к папке temp инсталлер загадит директорию %windir%
7)При размере инсталлятора больше размера свободного места на диске возникнет ошибка.
Вариант2: Мой инсталлер
1)Программа занимает 2 мб
2)Инсталлятор мгновенно грузится
3)Инсталлятор поддерживает автоинсталл. Setup.exe -auto
4)Вид инсталлятора цветной и динамичный. Мальчику 15 лет, купившему игрушку, тётеньке бухгалтеру, гамеру со стажем,.. этот вид очень понравится.
5)Можно сразу нажать кнопку установить.
6)Инсталлер не будет гадить.
7)Инсталлер может работать при полностью закрытом доступе (на запись) диску с виндой.
Мой инсталлер 100% защищает программу серийным номером.
Он даёт возможность разработчику в том-же окне показывать баннер, как плату за программу.
т.е. программа бесплатна, но, если хочешь пользоваться посмотри баннер
Или просто в том-же окне показывать содержимое сайта.
Инсталлятор может быть элементарно декомпилированн специальной утилитой.
И ещё множество преимуществ.
T>>>>Ну а как насчёт оригинального красивого многоуровнего меню? На HTML это делается элементарно.(CtrlC->CtrlV)
M>>>Спешу вас разочаровать, но красивое многоуровневое меню невозможно реализовать в HTML при помощи CtrlC->CtrlV, как и в любом другом языке программирования M>>>А вот меню в HTML нет — его надо реализовывать на коленке.
T>>Элементарно. Берём любой html MenuBuilder. А потом CtrlC->CtrlV. T>>Например мой старый ламский menubuilder — http://menubuilder.fasthtm.com/?download
M>Так. Стоп.
M>Для того, чтобы прикрутить код многоуровнего меню из "любого ламсокго" билдера к продукту так, чтобы меню взаимодействовало с программой, необходимо будет продраться сквозь тонну ламского кода на Яваскрипте. Лучше уж я в Delphi или в WinForms компонент готовый на форму кину.
Команда инсталлировать.
parent.Install_Query("install")
Команда добавить ключ в реестр
parent.Install_Query("addRegistryKey=HKEY_LOCAL_MACHINE|SoftWare\\Blizzard Entertainment\\starcraft\\|"+Directory+"|InstallPath")
Команда добавления ярлыка
parent.Install_Query("createlink=:s:games\\starcraft\\BroodWar 1.12|"+Directory+"\\starcraft.exe| — qwe|"+Directory+"\\starcraft.exe|"+Directory
Это тонны ламского кода?
А скажи-ка: разработчик возьмёт InstallShield и кинет ему на форму готовый компонент?
К тому-же к моему инсталлеру будет прилагаться билдер. M>>>Мнею в ОС уже есть — это стандартный элемент управления. В том же Qt — это виджет, который можно перерисовать так, как твоей душе угодно.
T>>Ну ну. T>>Сделай НеРисунком!
M>А кто сказал, что рисунком? Перерисовка — это подмена стандартной функции отрисовки компонента. Компонент же должен отрисоваться, прежде, чем на экране появится.
T>>А стандартными средствами.
M>Стандартными средствами. Грубо говоря, на уровне WinAPI — перехватывается событие WM_PAINT. Для фреймворков разного уровня — переопределяется событие onPaint для контролов. В Qt можно поменять вид вообще всего приложения, написав свой собственный стиль.
Ну сделай. Возьми InstallShield и сделай ему такое-же (с примерно таким-же уровнем эффектов) меню. С помощью Qt или как хочешь.
T>>Чтобы умещался этот рисунок в 1-2 килобайта и в зависимости от параметров программы менялся. Скажем, чтобы та розовая звезда шевелила лучами.
M>HTML не позволит тебе шевелить лучами звезды. Любая другая трансформация достигается графическими библиотеками, как встроенными в рахличные фреймворки, так и внешние — от gd до AntiGrain. причем, большинство этих библиотек — высокого уровня, позволяют совершать определенные действия парой строчек кода.
Стандарт HTML по стандарту w3.com позволяет мне шевелить лучами звезды.
M>>>стандартный хтмл элемент, T>>Вот эта фраза меня больше всего убивает. А такой вариант чем плох. T>><script src=script.js></script> T>><script>func_from_script_js(param1,param2)</script>
M>Не вижу здесь элемента стандартного, предоставляющего мне табконтрол или spinbox.
M>Почему я говорю стандартный. Потому что я хочу, взяв что-либо в руки, ожидать M>а) набор стандартных компонентов, а не выдумывать их самому M>б) что компоненты будут вести себя более-менее одинаково.
M>Функциональность стандартного компонента можно расширить всегда, если это позволяет фреймворк. Скриншот с Qt я уже приводил. Расширяется все, что угодно. То же самое доступно и в других фреймворках — VCL, WinForms и так далее.
Возьми InstallShield и расширь один из его стандартных компонентов, таких как меню. С помощью VCL, WinForms, ...
M>HTML расширить практически нельзя. Нестандартные элементы получаются путем эмуляции через JavaScript, который даже отладить толком нельзя.
Не вижу никаких проблем. Достаточно включить чужой код явыскрипта в страницу и всё будет работать. А попробуй добавь нестандартный элемент в InstallShield такой как то меню или шевелящаяся звезда размером 2кб, даже, если там есть дебаг.
M>А такие контроли, как TreeView, TabControl, ListView являются стандартными для десктоп-приложения. То, что мне придется их придумыват с нуля, да еще и в другом языке программирования (JavaScript) со своей куцой объектной системой и кривой имплементацией DOM в браузерах... Ууууу.... Лучше я потрачу 5-10 минут на изучения документации к VCL и сяду за Дельфи.
Мой сетап-скинБилдер поможет тебе одним кликом мыши добавлять эти элементы
А также любой другой человек сможет написать свой скин-билдер к моему инсталлятору.
Тебе не придётся ничего самому придумывать! Можно использовать чужие скрипты. В интернете тысячи различных ява скриптов.
И десятки компонент для VCL, ...
M>Что приводит нас к следующему пункту:
T>>Это я пишу: Требую показать мне на стандартный QT элемент, который позволит мне сделать похожее за пару минут не зная почти ничего о программировании. Это скрин части меню.
T>>[покоцано: выпадающая менюшка]
M>Так вот, а в код той менюшки ты смотрел?
Я её сам написал, как и написал программу, которая её генерит. M>Если то меню написано не с бухты-барахты, то количество JavaScripta и/или CSS, требуемого для его отображения обычно приводит в смятение.
HTML+CSS+JAVASCRIPT = 1500 байт
Я написал самое маленькое многоуровневое DHTML меню во всём интернете.
Для сравнения HTML menu builder4.9 — 50килобайт M>И ты уверен, что прикрутка той менюшки к проекту дастся малой кровью?
1 минута. M>Так вот, насчет стандартного элемента в меню. В Qt — это QMenuBar + QMenuItem. В VCL — это TMainMenu + TMenuItem и так далее.
А в моём меню в билдере в memo1 надо ввести
link1.htm>link1
*link11.htm>sublink11
*link12.htm>sublink12
*link13.htm>sublink13
installer.htm>Installer
*welcome.htm>welcome
*directory.htm>Select Directory
*StartMenu.htm>Start Menu
*Install.htm onclick='parent.Query("install")'>Install
...
Что может быть проще??
M>Не поверишь, но достижение красочных эффектов в меню в нормальном фреймворке — это несложная операция, надо только подумать прежде, чем писать Тем более, что разукрашивание меню — это задача этак пятидесятая по значимости.
Сделай в InstallShield разукрашенное меню
M>А вот TabControl надо сейчас.
Блин, зайди на Яндекс.ру и посмотри вверх. Там реализован tab-control.
Yandex->Pictures|Yandex->Market|...
Зачем далеко ходить.
M>>>1. Итак, что мы имеем? Элемент для выбора даты связанный с часами слева
T>>Я нарисовал просто часы методом VML. Хотя непонятно, зачем в инсталлере часы.
M>А где привязка к DateTimePicker'у? А нету. Потому что нет стандартного DateTimePicker'а в HTML...
M>>>2. Slider, up-down control, progress bar и custom control, связанные друг с другом T>>Да, но я сделал полукруглый progressBar с переливающимися цветами. T>>Попробуй повтори на QT. На явескрипт он занимает 3кб.
M>Не больше на JavaScript. Кстати, о птичках [C++.WINAPI] Градиент.
M>>>3. Rich text-box T>>Не смеши!!!!! T>><h3>Rich Text</h3>Qt supports rich test. This is <i>italics</i>, this is <b>bold</b> this is <u>underline</u>, this is <font color=red>red</font> , this is <font color=lightgreen>green</font> , this is <font color=blue>blue</font>.
M>а с возможностью редактирования?
Не понял? Бери и редактируй! Это же в исходном виде html
M>>>4. Tab-control T>>Не намного сложнее, но приводить не буду. См Yandex.ru вверху страницы
M>Я ж попросил стандартный, расширяемый контрол
Зачем стандартный?
M>>>5. Здесь я немного лукавлю, но все же — list view со встроенным tree view, с сортировкой по колонкам M>>>6. List view M>>>И в самом конце — таблица с множественным выделением и сортировкой по колонкам. Еще не показан пример с Drag&Drop.
T>>Ну насчёт 5, 6 варианта, то они мне в инсталляторе не нужны. Хотя можно взять ActiveX таблицы и встроить его в скрипт.
M>Вот, все-таки нельзя
Нет, точно можно, но придётся потратить пару дней на их написание. Или пару минут в гугле. Зачем мне это нужно. Когда потребуется сделаю.
T>>Например к C Builder5,6 прилагается ActiveX F1Book — та-же таблица с множественным выделением и сортировкой по колонкам.
M>И все, программа твоя разрастается до размер прораммы + размер ActiveX'ов
Моя программа становится 50кб+размер хтмл+размер ActiveX, которые использоваться всё равно не будут.
M>>>Так вот. Эти элементы, не спорю, могут быть эмулированы с помощью HTML+Javascript. Но! Наличие огромного количества скриптов в Инете не говорит в пользу DHTML, а, скорее, против него. T>>Как раз за.
M>Как раз против, потому что нужна не эмуляция, а предсказуемое, стандартное, расширяемое решение. А его нет.
Зачем нужно решение стандартное, когда есть оригинальное нестандартное?
M>>>Расширяемы ли те скрипты? T>>Да! Благо всё open-source.
M>Под расширяемым я имел в виду не копание в чужом коде и вылавливание чужих багов
Ты нечестно рассуждаешь, что в компонентах багов нет, а в яве есть
Это неправильно. Например в C Builder5,6 есть баг в компонент, как раз в той, которая в твоих часах. Edit с 2-мя стрелками.
Чтобы этот баг исправить надо дописать в текст компонента 4 буквы. Но для этого придётся переворотить эти самые тонны докумментации, чтобы изменить контрол. А в яве всё легко правится, даже, если баг есть. Хотя их обычно нет.
M>>>Одинаковы ли они в использовании? T>>Нет! Все инсталляторы будут оригинальны.
M>Нельзя. За такое руки отрывают
Можно и нужно. Когдато людям не нравился виндоз и все цеплялись за нортон. Потребитель выбирает красивое и оригинальное.
А программист ностальгирует о тсаром.
M>>>Стандартизированы ли они? T>>Нет.
M>Плохо
Хорошо, так как есть большие возможности для творчество.
T>>Но стандарт external. комманд в моём инсталляторе стандартизирован.
M>Уже хорошо
Спасибо.
M>>>Выделены ли они в готовые к использованию библиотеки? T>>Я к этоиу иду.
M>Надо
Согласен.
Но ещё я надеюсь, что бругие люди будут делать копмонеты и скины к моему инсталлеру.
M>>>Ответ один — нет. T>>Да, в целом нет, но это хорошо! В этом случае "нет" — это хорошо!
M>Это плохо. Представь, что GUI к каждой новой программе пришлось бы разрабатывать с нуля на WinAPI. Это примерно тоже самое, что и делать GUI на HTML.
Нет. Та зайдёшь в скин-билдер и поменяешь цвета, фильтры, картинки и т.д. Всё элементарно.
M>Но. Для WinAPI сделаны фреймворки. MFC, VCL, Qt тот же, даже WinForms можно туда же отнести. А почему? Потому что каждый разработчик хотел не рисовать всякую фигню с нуля, а иметь стандартный набор компонентов, с которыми можно было бы работать.
В моём инсталляторо будет много шаблонов. Надеюсь потом появятся не мои шаблоны, а сделанные другими людьми.
M>Я даже грешу на WinAPI. Всякие ListView, menu и прочие уже есть — бери и пользуйся. Берут и пользуются.
M>А на данный момент нет, насколько я знаю, доведенных до ума библиотек, использующих DHTML (aka HTML+JavaScript), которые хоть сколько-нибудь близко приблизились бы к тому набору контролов, что необходимы в любом мало-малоьски человечемком интерфейсе.
M>А это нужны не сделанные на коленке, выдранные с корнем откуда-то менюшки. Это нужны стандартизированные (в рамках соответствующего фреймворка) наборы элементов.
T>>Так говорить глупо. Это то-же самое, что утверждать про компьютерные магазины: T>>В итоге человек платит в 2 — 3 (в два — три) раза больше, чем компьютер реально стоит
M>Не совсем верное сравнение, но все же. WinForms бесплатен. VCL, насколько я знаю, тоже. Qt — под GPL под Linux и, к сожалению, платная под Win. Но! Я согласен платить, если означенные библиотеки не ограничивают меня и не заставляют меня копаться в чем-то левом, не связанном с моим полем деятельности. А в случае с HTML копаться придется. JavaScript для меню, JavaScript для TabControl, JavaScript для еще чего-то, что вылазит за рамки HTML4.01.
Какие рамки, когда большинство ява-скриптов добавляются copy, paste.
T>>Вот так и здесь не надо утверждать, что нестандартность, неодинаковость — плохо. Для дизайна это очень хорошо.
M>Согласен, но когда меня ограничивают даже в стандартности...
M>>>Единственный стандарт на HTML — HTML 4.01. А он предлагает очень ограниченное количество элементов. Все остальное — эмуляция, причем сделанная, извините, через одно место.
T>>Меня не волнуют стандарты.
M>Это плохо
Это хорошо. Кому нужны стандарты, тот может оставаться в их рамках. Я не запрещаю. А просто предлагаю расширить свои возможности.
T>>КривыеРуки.sys?
M>Кривые руки у тех, кто IE делал...
Тогда почему другие производители браузеров не реализуют хотя бы 20% возмождностей ИЕ?
M>Оказалось, что не все так просто. И оказалось, что нужно просто "перенести эту тупую функцию из одного проекта в другой"
T>>Человеку, знающему mfc это раз плюнуть.
M>увы....
А ты попытайся, плз
Скажи хотя-бы почему не переносится?
T>>ЗЫ2 — пост на 8 килобайт
M>Ничего, тут побольше
А, прочитал, прикольный пост. Япония купила промышленность Америки. Саудовская Аравия купила правительство и военное дело Америки. Щвейцария купила банковскую систему Америки, ...
И Америка принадлежит Фабиану.
Получается, что Америка на всех пашет
Очень нитересно интерфейс на HTML. Но оно мне не надо. DHTML я практически незнаю, а вот C++ хорошо. И что меня убивает так это создание интерфейсов на нем. Конечно ничего сложного, но много писанины. HTML это хорошо. Но оно мне нужно? Сколько проблем огребается в этом случае. Нестандартные элементы только часть из них (деревья ладно, а вот ListView создать???). Очень красивое решение XUL от Mozilla, но, как уже отмечалось слишком громоздко.
Для себя решение вижу одно. Создать подобие XUL, но легонькую и со стандартными контролами. Собственно XUL используется только для того, чтоб расположить элементы на диалоге, а дальше вся логика пишется на C++. Никакого JS и т.д. Часть логики уже будет заключена в XUL (избавляется от кода типа CB_ADDSTRING отбработка табов и т.д.). Собственно остается только логика программы, что и нужно большинству. А не эти мифические преймущества HTML.
Наброски у меня уже есть и я собираюсь продолжить эту разработку. А вот что сообщество думает про это?
... << RSDN@Home 1.1.4 beta 4 rev. 302>>
Re[2]: Новое направление программирования - повернем в другу
Здравствуйте, YuriKobets, Вы писали:
YK>Очень нитересно интерфейс на HTML. Но оно мне не надо. DHTML я практически незнаю, а вот C++ хорошо. И что меня убивает так это создание интерфейсов на нем. Конечно ничего сложного, но много писанины. HTML это хорошо.
Помоги мне перенести функцию в mfc. Я помогу тебе реализовать то, что ты хочешь на DHTML, который я знаю отлично YK>Но оно мне нужно? Сколько проблем огребается в этом случае. Нестандартные элементы только часть из них (деревья ладно, а вот ListView создать???). Очень красивое решение XUL от Mozilla, но, как уже отмечалось слишком громоздко.
Всё создастся очень легко, не переживай. Зайди в rsdn->download и скачай там ListView на DHTML.
YK>Для себя решение вижу одно. Создать подобие XUL, но легонькую и со стандартными контролами. Собственно XUL используется только для того, чтоб расположить элементы на диалоге, а дальше вся логика пишется на C++. Никакого JS и т.д. Часть логики уже будет заключена в XUL (избавляется от кода типа CB_ADDSTRING отбработка табов и т.д.). Собственно остается только логика программы, что и нужно большинству. А не эти мифические преймущества HTML.
ДА! Здесь тоже вся логика пишется на C++
[html] часть html страницы
<button onclick='external.CreateIcon("application.exe")'>qwe</button>
[cpp]Обработка команды на C++
HRESULT CreateIcon(LPCSTR s)
{
IShellLink* psl;CoInitialize(NULL);if(!SUCCEEDED(CoCreateInstance(CLSID_ShellLink,NULL,CLSCTX_INPROC_SERVER,IID_IShellLink,(LPVOID *)&psl)))return false;........ И т.д.
В HTML сотни тегов и команд, но 90% вебдизайнеров и php программистов в России знают лишь несколько десятков.
YK>Наброски у меня уже есть и я собираюсь продолжить эту разработку. А вот что сообщество думает про это?
Помоги мне с моим проектом, я помогу тебе в твоём. Суть этого топика в том, чтобы кто-то создал шаблон и забрал его себе. Взял бы себе авторские права, а другие люди уже бы использовали этот шаблон в своих программах.
Помоги мне перенести функцию вызова ява скрипта из МФЦ из проекта JSCalls_demo в CustomBrowser.
Все исходники здесь http://test.org.ru/supertask.zip
3 последних топика в этом разделе: > Новое направление программирования
Этот топик > Проект: Автоматизация визуализации данных 1 2 3
У кого-то такие-же проблемы, решаемые здесь. > FreeIntarface — (GUI)
Опять кому-то не хватает возможностей CPP+DHTML
У меня у одного такое впечатление или это HTML-верстальщик решил написать инсталятор и доказать всему миру что старый HTML с новыми фишками способен на многое... заявление изначально было -- типа мы все программы переделаем в HTML --- потом уже только инсталяторы.
1. Почему сравнения идут с InstallShield, я давно его не смотрел, но вот NSIS котороый между прочим бесплатный, и opensource, делает кода на 60kb и грузится великолепно быстро, поддерживает несколько языков, кучу всяких удобных вещей... инсталяция пишется за несколько часов и никаких странных требований на IE или ещё какое окружение, установленность тех или иных ActiveX, COM и прочей мути... а то скачал дистрибутив, а там ещё докачивай IE новый или ещё чего. А ты определится не можеш, то у тебя он 50 кб, то 2 мб.
2. Кому в инсталяторе, который запускается единовременно интересует архи-симпотично-стильный интерфейс — главное _корректно_ и быстро сделать свою работу -- установку. Это разово запускаемое ПО, создавать красивый инсталятор -- дело 50-ое а то и 100-ое.
3. Ты так и не пояснил как там с исходниками, где ты их взял (украл?) и не противоречат ли твои изменения законодательству (не нарушают ли авторских прав)?
4. К чему вообще весь этот спор, возьми и докажи что ты лучше всех, если не хватает знаний, читай спрашивай... никто за тебя твои сомнительные проекты делать не станет, IMHO.
5. Что такое 100% защита серийным номером?
6. Твои усилия могут быть сведены на нет, если у тебя слабый алгоритм упаковки дистрибутива.
7. и так далее..
BTW IE не поддерживает VRML, для его просмотра требуется установка плагинов, которые также ставятся под что угодно — firefox, например.
Здравствуйте, tiberius, Вы писали:
M>>HTML не позволит тебе шевелить лучами звезды. Любая другая трансформация достигается графическими библиотеками, как встроенными в рахличные фреймворки, так и внешние — от gd до AntiGrain. причем, большинство этих библиотек — высокого уровня, позволяют совершать определенные действия парой строчек кода.
T>Стандарт HTML по стандарту w3.com позволяет мне шевелить лучами звезды.
Конечно, а зачем?
Все эти звезды, шевелящие лучами und ярко-зеленые меню — детский сад.
Мамут, в отличие от тебя, приводит пример логически других контролов, а ты — пример рюшек ненужных.
Извини.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
FAQ — це мiй ай-кью!
Re[2]: Новое направление программирования - повернем в другу
Здравствуйте, YuriKobets, Вы писали:
YK>Очень нитересно интерфейс на HTML. Но оно мне не надо. DHTML я практически незнаю, а вот C++ хорошо. И что меня убивает так это создание интерфейсов на нем. Конечно ничего сложного, но много писанины. HTML это хорошо. Но оно мне нужно? Сколько проблем огребается в этом случае. Нестандартные элементы только часть из них (деревья ладно, а вот ListView создать???). Очень красивое решение XUL от Mozilla, но, как уже отмечалось слишком громоздко.
YK>Для себя решение вижу одно. Создать подобие XUL, но легонькую и со стандартными контролами. Собственно XUL используется только для того, чтоб расположить элементы на диалоге, а дальше вся логика пишется на C++. Никакого JS и т.д. Часть логики уже будет заключена в XUL (избавляется от кода типа CB_ADDSTRING отбработка табов и т.д.). Собственно остается только логика программы, что и нужно большинству. А не эти мифические преймущества HTML.
YK>Наброски у меня уже есть и я собираюсь продолжить эту разработку. А вот что сообщество думает про это?
я, конечно, повторяюсь, но http://terrainformatica.com/htmlayout/ — легковесно, быстро, встраивамо, зверски удобно. правда, платно и доков практически нет — зато там все очень просто и понятно. кроме того, есть или планируются обертки под множество языков или библиотек (лично я сейчас делаю таковую под wxWidgets)
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
FAQ — це мiй ай-кью!
Re[2]: Новое направление программирования - повернем в другу
Здравствуйте, nixite, Вы писали:
N>Здравствуйте, tiberius, Вы писали:
N>У меня у одного такое впечатление или это HTML-верстальщик решил написать инсталятор и доказать всему миру что старый HTML с новыми фишками способен на многое... заявление изначально было -- типа мы все программы переделаем в HTML --- потом уже только инсталяторы.
Нуу, примерно так
N>1. Почему сравнения идут с InstallShield, я давно его не смотрел, но вот NSIS котороый между прочим бесплатный, и opensource, делает кода на 60kb и грузится великолепно быстро, поддерживает несколько языков, кучу всяких удобных вещей... инсталяция пишется за несколько часов и никаких странных требований на IE или ещё какое окружение, установленность тех или иных ActiveX, COM и прочей мути... а то скачал дистрибутив, а там ещё докачивай IE новый или ещё чего. А ты определится не можеш, то у тебя он 50 кб, то 2 мб.
2мб — это в смысле мой инсталлер запакует прогу в 2мб, а ИС в 5мб
А кто сказал, что мой инсталлер платный?
Инсталляцию можно замутить за пару десятков минут, если нормальный инсталл билдер
А ИЕ есть итак у всех и его не надо докачивать.
N>2. Кому в инсталяторе, который запускается единовременно интересует архи-симпотично-стильный интерфейс — главное _корректно_ и быстро сделать свою работу -- установку. Это разово запускаемое ПО, создавать красивый инсталятор -- дело 50-ое а то и 100-ое.
Это интересует пользователей. Это интересует работодателей. И архистильный интерфейс не мешает быстрой установке. Я всего лишь отделяю интерфейс от реализации, как когда-то было сделано в ООП.
N>3. Ты так и не пояснил как там с исходниками, где ты их взял (украл?) и не противоречат ли твои изменения законодательству (не нарушают ли авторских прав)?
Исходники с CodeProject и никаких запретов на их использование нет.
N>4. К чему вообще весь этот спор, возьми и докажи что ты лучше всех, если не хватает знаний, читай спрашивай... никто за тебя твои сомнительные проекты делать не станет, IMHO.
N>5. Что такое 100% защита серийным номером?
Алгоритм пакования с паролем.
N>6. Твои усилия могут быть сведены на нет, если у тебя слабый алгоритм упаковки дистрибутива.
Сильнее чем rar, 7-zip
N>7. и так далее..
Все консервативны как-то.
N>BTW IE не поддерживает VRML, для его просмотра требуется установка плагинов, которые также ставятся под что угодно — firefox, например.
Как так не поддерживает? Я винду только переставил и всё работает
Здравствуйте, Зверёк Харьковский, Вы писали:
ЗХ>я, конечно, повторяюсь, но http://terrainformatica.com/htmlayout/ — легковесно, быстро, встраивамо, зверски удобно. правда, платно и доков практически нет — зато там все очень просто и понятно.
Я говорю про то чтобы уйти от HTML к XML. Мне нужно написать:
<textbox id="101"/>
И получить нормальный TEXTBOX которому я могу послать сообщение, просабскласить в конце концов. Т.е. получить стандартный виндовый интерфейс, а не супер-мега-свистелки. Ключевое слово именно стандартный. Это сродни Авалону от MS но здесь и сейчас. А текущий аналог все-же XUL от Mozilla.
... << RSDN@Home 1.1.4 beta 4 rev. 302>>
Re[3]: Новое направление программирования - повернем в другу
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, YuriKobets, Вы писали:
YK>>Наброски у меня уже есть и я собираюсь продолжить эту разработку. А вот что сообщество думает про это?
Мне затея не понравилась, так как эта программа занимает столько-же места, но требует mscoree.dll и .Net Framework, которого у меня и, конечно, у возможных пользователей нет.
Мне достаточно обычного окна IE в программе, вот только бы сделать вызов функций
А NSIS не качается, т.к. sourceforge в дауне. Вот такие они, бесплатные программы.
Здравствуйте, tiberius, Вы писали:
YK>>>Наброски у меня уже есть и я собираюсь продолжить эту разработку. А вот что сообщество думает про это?
T>Сообщество пытается остаться в прошлом веке с++ интерфейса. T>И напостило по этому поводу 40 месаг.
Ты удивишься когда узнаешь что и IE может быть не у всех, а может быть не тот IE а может быть не так настроен, а может.... А вторая ссылка это наше недалекое будущее. Скоро почти у всех будет и .Net Framework и все остальное. Ну почти у всех... почти.
T>Мне достаточно обычного окна IE в программе, вот только бы сделать вызов функций T>А NSIS не качается, т.к. sourceforge в дауне. Вот такие они, бесплатные программы.
Не трогай святое
... << RSDN@Home 1.1.4 beta 4 rev. 302>>
Re[3]: Новое направление программирования - повернем в другу
Здравствуйте, tiberius, Вы писали:
T>Помоги мне с моим проектом, я помогу тебе в твоём. Суть этого топика в том, чтобы кто-то создал шаблон и забрал его себе. Взял бы себе авторские права, а другие люди уже бы использовали этот шаблон в своих программах.
T>>Сообщество пытается остаться в прошлом веке с++ интерфейса. T>>И напостило по этому поводу 40 месаг.
YK>Так я того-же мнения
AVK>>>http://www.jcp.org/en/jsr/detail?id=57 AVK>>>http://msdn.microsoft.com/msdnmag/issues/04/01/Avalon/default.aspx
T>>Мне затея не понравилась, так как эта программа занимает столько-же места, но требует mscoree.dll и .Net Framework, которого у меня и, конечно, у возможных пользователей нет.
YK>Ты удивишься когда узнаешь что и IE может быть не у всех, а может быть не тот IE а может быть не так настроен, а может.... А вторая ссылка это наше недалекое будущее. Скоро почти у всех будет и .Net Framework и все остальное. Ну почти у всех... почти.
IE есть во всех виндах, начиная с 98. Такжи их можно поставить в 95-х. Потому пользователей ИЕ — 99.99%
А фреймворка у меня нет и врядли когда будет, т.к. я сижу под win98
T>>А NSIS не качается, т.к. sourceforge в дауне. Вот такие они, бесплатные программы.
YK>Не трогай святое
Да я уже скачал. Не очень инсталлер. Хотя, конечно, намного лучше InstallShield, но неудобней WiseInstall Master.
Но по разнообразию скинов он никогда мой инсталлер не перегонит, пока не перейдёт на хтмл.
Мой инсталлер, мой инсталлер, где же он мой инсталлер?
Его ещё дописать надо
Если что — ася 331261027
Здравствуйте, YuriKobets, Вы писали:
ЗХ>>я, конечно, повторяюсь, но http://terrainformatica.com/htmlayout/ — легковесно, быстро, встраивамо, зверски удобно. правда, платно и доков практически нет — зато там все очень просто и понятно.
YK>Я говорю про то чтобы уйти от HTML к XML. Мне нужно написать: YK>
YK><textbox id="101"/>
YK>
YK>И получить нормальный TEXTBOX которому я могу послать сообщение, просабскласить в конце концов. Т.е. получить стандартный виндовый интерфейс, а не супер-мега-свистелки. Ключевое слово именно стандартный. Это сродни Авалону от MS но здесь и сейчас. А текущий аналог все-же XUL от Mozilla.
Я тебя понял. Да, HTMLayout — несколько не то, но ближе к тому, что ты хотел (верстка — в html, логика — в c++), чем предлагаемое в этой ветке (что вообще, на самом деле, ).
Там — html страничка, в которую встраивается то, что ты скажешь. Пример (для моего WxWidgets):
вот это самый "input" при отрисовке передает управление моему с++ному коду, я отображаю wxTextCtrl (к которому дальше могу нормально обращаться), а "красотишшу" вокруг — наводит htmlayout.
например, вот:
человеческие wxTreeView и wxListView, а вокруг — красотишша.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
FAQ — це мiй ай-кью!
Re[5]: Новое направление программирования - повернем в другу
Ну прикольно. А вот эти кнопки картинками сделаны или векторной графикой?
И сколько эта программа (на рисунке) занимает места при инсталляции её в "голую" 98 винду?
Уж извиняюсь за оффтоп, но у на в Новосибе землетрясеньеце на пол-балла по Рихтеру проходит. Наверное опять на Камчатке вулкан проснулся.
Вариант 2: пора спать, потому что уже мерещится, что люстра качается и стул подпрыгивает.
заполняет градиентом.
а что, это существенно?
T>И сколько эта программа (на рисунке) занимает места при инсталляции её в "голую" 98 винду?
150к программа + 500к htmlayout.dll
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
FAQ — це мiй ай-кью!
Re[7]: Новое направление программирования - повернем в другу
Здравствуйте, Зверёк Харьковский, Вы писали:
ЗХ>Здравствуйте, tiberius, Вы писали:
T>>Ну прикольно. А вот эти кнопки картинками сделаны или векторной графикой? ЗХ>расширение css (HTMLayout-specific): ЗХ>
ЗХ>заполняет градиентом.
Жалко в ИЕ так нельзя, хотя и можно по другому "через ж"
ЗХ>а что, это существенно?
Да. Размер + динамичность.
T>>И сколько эта программа (на рисунке) занимает места при инсталляции её в "голую" 98 винду? ЗХ>150к программа + 500к htmlayout.dll
Вот этот вариант никак не подходит к инсталлятору и к концепции маленькой программы.
Хотя преимуществ перед ИЕ, кроме простоты установке я не увидел.
Здравствуйте, tiberius, Вы писали:
T>>>И сколько эта программа (на рисунке) занимает места при инсталляции её в "голую" 98 винду? ЗХ>>150к программа + 500к htmlayout.dll
T>Вот этот вариант никак не подходит к инсталлятору и к концепции маленькой программы.
Слушай, ты уж определись — ты инсталлятор пишешь или новые идеи предлагаешь?
Если первое — разговор беспредметен, т.к. интерфейс инсталлятора стандартизирован 100 лет назад и "звездам, шевелящим лучами" там не место.
Если второе — то не смеши мои тапочки: 850 кб это очень маленькая программ.
T>Хотя преимуществ перед ИЕ, кроме простоты установке я не увидел.
Вообще говоря, преимуществ дофигища. Она очень маленькая, очень быстрая, позволяет кастомизировать внешний вид любого контрола.
В конце концов, (в отличие от ИЕ!) она создана именно для веб-стайл интерфейсов, а не текстовых страниц.
У нее удивительно простой, понятный и логичный интерфейс + возможность простой интеграции с любым языком и средством разработки.
Она кросплатформенна.
Недостаточно?
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
FAQ — це мiй ай-кью!
Re[9]: Новое направление программирования - повернем в другу
Здравствуйте, Зверёк Харьковский, Вы писали:
ЗХ>Здравствуйте, tiberius, Вы писали:
T>>>>И сколько эта программа (на рисунке) занимает места при инсталляции её в "голую" 98 винду? ЗХ>>>150к программа + 500к htmlayout.dll
T>>Вот этот вариант никак не подходит к инсталлятору и к концепции маленькой программы. ЗХ>Слушай, ты уж определись — ты инсталлятор пишешь или новые идеи предлагаешь?
Новая идея заключалась в использовании окна ИЕ для создания МАЛЕНЬКИХ стильных приложений. Я согласен, что ИЕ менее удобен, чем htmlaoyout. Также WinAPI менее удочен, чем framework, net, mfc, CBuilder6.
ЗХ>Если первое — разговор беспредметен, т.к. интерфейс инсталлятора стандартизирован 100 лет назад и "звездам, шевелящим лучами" там не место.
См все инсталляторы Blizzard Entertainment: StarCraft, Diablo1-2, Warcraft3. Все инсталляторы нестандартны и говорят лишь о достатке и продуманности программы в них заключённой.
ЗХ>Если второе — то не смеши мои тапочки: 850 кб это очень маленькая программ.
Вот из-за таких "МАЛЕНЬКИХ" программ люди пытаются после CBuilder изучать WinAPI.
Для человека огромная разница: качать с инета 300кб или 3000!
Для примера:
small http server: http, ftp, mail, -php, -perl, -mysql, SSI, ... 90kb
А в твоём варианте Hello World займёт 850
T>>Хотя преимуществ перед ИЕ, кроме простоты установке я не увидел. ЗХ>Вообще говоря, преимуществ дофигища. ЗХ>Она очень маленькая,
Но в 50 раз больше ИЕ. ЗХ>очень быстрая
Какая разница: 1мс или 10мс ЗХ>позволяет кастомизировать внешний вид любого контрола.
ИЕ также всё позволяет ЗХ>В конце концов, (в отличие от ИЕ!) она создана именно для веб-стайл интерфейсов, а не текстовых страниц.
Я не ищю лёгких путей. ЗХ>У нее удивительно простой, понятный и логичный интерфейс + возможность простой интеграции с любым языком и средством разработки. ЗХ>Она кросплатформенна.
Меня интересует только винда и WinAPI ЗХ>Недостаточно?
Нет.
Ты наверное тоже из тех, кто считает, что программы делаются не для потребителя, а для других программистов, потому как работа программиста самая высокооплачиваемая.
Нам эту глупую идею на кафедре ФПМИ->Ит вдалбливали.
Здравствуйте, Зверёк Харьковский, Вы писали:
>создание, переделка, оценка пользовательского интерфейса -- <a href="http://imho.com.ua">Лаборатория ИМХО</a>
Специалист по интерфейсу считает, что программа должна весить от 850 кб. Должна выглядеть стандартно. Должна тратить на интерфейс не более 10% ресурсов. Должна легко делаться.
Если со стороны прочитать, то даже смешным кажется.
Например в Антивирусе Касперского нет popup menu, зато очень удобный нестандартный интерфейс.
ЗХ>Извини, но я больше не могу. ЗХ>У меня чай разлился на клавиатуру. ЗХ>Кроме того, мне лень спорить.
Ну ладно. Как скажешь. Моя цель не спорить, а доказать необходимость переноса одной функции из одного проекта в другой.
Здравствуйте, tiberius, Вы писали:
ЗХ>>Если первое — разговор беспредметен, т.к. интерфейс инсталлятора стандартизирован 100 лет назад и "звездам, шевелящим лучами" там не место.
T>См все инсталляторы Blizzard Entertainment: StarCraft, Diablo1-2, Warcraft3. Все инсталляторы нестандартны и говорят лишь о достатке и продуманности программы в них заключённой.
Им нестандартный инсталлер простят. А вот тебе и мне этого не простят. И это из жизненого опыта.
T>Для примера: T>small http server: http, ftp, mail, -php, -perl, -mysql, SSI, ... 90kb T>А в твоём варианте Hello World займёт 850
для small http server и консоль пойдет. Никто не будет против. Это другой класс программ.
ЗХ>>В конце концов, (в отличие от ИЕ!) она создана именно для веб-стайл интерфейсов, а не текстовых страниц. T>Я не ищю лёгких путей.
А я, то думал, что ищешь Тогда вот тебе путь: VB в руки и HTML на шею. Они очень приятно состыкуются. А msvbvm60 есть сейчас на *всех* машинах, оно с каким-то IE поставляется.
T>Ты наверное тоже из тех, кто считает, что программы делаются не для потребителя, а для других программистов, потому как работа программиста самая высокооплачиваемая. T>Нам эту глупую идею на кафедре ФПМИ->Ит вдалбливали.
Мне кажется все же не втолковали Иначе ты бы представлял почему пишутся стандарты на интерфейсы, почему все этих стандартов пытаются придерживаться
... << RSDN@Home 1.1.4 beta 4 rev. 302>>
Re[12]: Новое направление программирования - повернем в друг
Здравствуйте, tiberius, Вы писали:
T>Ну ладно. Как скажешь. Моя цель не спорить, а доказать необходимость переноса одной функции из одного проекта в другой. http://rsdn.ru/forum/?group=mfc
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
FAQ — це мiй ай-кью!
Re[12]: Новое направление программирования - повернем в друг
Здравствуйте, tiberius, Вы писали:
>>создание, переделка, оценка пользовательского интерфейса -- <a href="http://imho.com.ua">Лаборатория ИМХО</a> T>Специалист по интерфейсу считает, что программа должна весить от 850 кб. Должна выглядеть стандартно. Должна тратить на интерфейс не более 10% ресурсов. Должна легко делаться.
T>Если со стороны прочитать, то даже смешным кажется.
А что смешного? Поверь, таких как ты меньшенство. Человеку нужно выполнять за компьютером свои задачи, и для большинства эти задачи не включают в себя изучение нестандартного интерфейса.
T>Например в Антивирусе Касперского нет popup menu, зато очень удобный нестандартный интерфейс.
Из-за которого я его снес через несколько дней.
... << RSDN@Home 1.1.4 beta 4 rev. 302>>
Re[4]: Новое направление программирования - повернем в другу
YK>Я говорю про то чтобы уйти от HTML к XML. Мне нужно написать:
YK><textbox id="101"/>
YK>И получить нормальный TEXTBOX которому я могу послать сообщение, просабскласить в конце концов. Т.е. получить стандартный виндовый интерфейс, а не супер-мега-свистелки. Ключевое слово именно стандартный. Это сродни Авалону от MS но здесь и сейчас. А текущий аналог все-же XUL от Mozilla.
Именно ради этого Андрей (автор htmengine/htmlayout) уже долго работает над behaviors. Будет не XML, но так:
Здравствуйте, Зверёк Харьковский, Вы писали:
ЗХ>Здравствуйте, tiberius, Вы писали:
M>>>HTML не позволит тебе шевелить лучами звезды. Любая другая трансформация достигается графическими библиотеками, как встроенными в рахличные фреймворки, так и внешние — от gd до AntiGrain. причем, большинство этих библиотек — высокого уровня, позволяют совершать определенные действия парой строчек кода.
T>>Стандарт HTML по стандарту w3.com позволяет мне шевелить лучами звезды. ЗХ>Конечно, а зачем? ЗХ>Все эти звезды, шевелящие лучами und ярко-зеленые меню — детский сад. ЗХ>Мамут, в отличие от тебя, приводит пример логически других контролов, а ты — пример рюшек ненужных. ЗХ>Извини.
Кстати, насчет рюшек. Не понимаю, почему такая неприязнь к стандартным контролам? Где они реально нужны?
В играх. Может быть, во всяких плеерах. Все. Больше нигде. Тем более в инсталяторе.
4)Вид инсталлятора цветной и динамичный. Мальчику 15 лет, купившему игрушку, тётеньке бухгалтеру, гамеру со стажем,.. этот вид очень понравится.
Мальчику в 15 лет и тем более тетеньке-бухгалтеру абсолютно не нужен цветастый интерфейс. Им нужно что-то, что не выходило бы за рамки "вперед-назад-стоп", желательно, с минимумом действий. Ты видел инсталляторы игрушек от МС? Всяких там Dungeon Siege'ей и Rise of Nations'ов? Весьма цветастые. Юзабельность — нулевая.
Думаешь, почему это монстры типа EA, Blizzard и иже с ними пользуют Install Shield с его стандартными кнопочками? Во-первых, потому что это стандартно и не отпугивает пользователя. Во-вторых, потому что Install Shield реализует все возможности MSI (почитай на досуге в MSDN) — автоматическую установку, регистрацию, установку по инету и еще вагон и маленькую тележку.
Далее...
Мой инсталлер 100% защищает программу серийным номером.
Инсталлятор может быть элементарно декомпилированн специальной утилитой
Значит не защищает, но это уже придирки. Возвращаемся к GUI
Ну сделай. Возьми InstallShield и сделай ему такое-же (с примерно таким-же уровнем эффектов) меню. С помощью Qt или как хочешь
Сам инсталятор Qt весит 21 метр, разворачивается в красивую папочку под 100 мегабайтов — с регистрациями, серийными кодами, запусками внешних утилит (во время установки происходит сборка библиотеки) и так далее. Мне хватает.
Далее повторю. При наличии грамотно спроектированных стандартных, доступных сразу, а не в результате поиска по гуглю, элементов позволяет делать с ними все, что хочешь. То же самое и в Qt. Смысла нет. А достигается все переопределением onPaint.
Достаточно включить чужой код явыскрипта в страницу и всё будет работать.
Не будет. Этим кодом еще надо управлять.
Мой сетап-скинБилдер поможет тебе одним кликом мыши добавлять эти элементы
Какие элементы? Если их тысячи и один кривее другого?
Блин, зайди на Яндекс.ру и посмотри вверх. Там реализован tab-control.
Программист ожидает иметь на руках набор стандартных элементов управления с предсказуемым и стандартным поведением, а не искать их по всему интернету. Именно поэтому во всех мало-мальски серьезных програмных пакетах aka фреймворках реализованы кнопки, выпадающие списки, деревья, чекбоксы, радиокнопки, таб контролы, списки, spiin boxes, строки состояния, индикаторы прогресса, бегунки, области прокрутки, меню, тулбары и еще много чего.
HTML 4.01 предлагает сильно обрезаный набор всего этого.
Часть элементов эмулируется в DHTML... НО! Есть одно немаловажное но. Таких элементов миллионы и все ведут себя по разному.
<link rel="stylesheet" type="text/css" href="css/fsmenu.css" />
<!--стили меню тоже надо долго пилить рубанком и точить напильником-->
<script type="text/javascript">
var listMenu = new FSMenu('listMenu', true, 'display', 'block', 'none');
//что, как, почему? благо комментарии в коде есть
</script>
<!--само меню-->
<ul class="horizlist" id="listMenuRoot">
<li>
<a href="#" style="text-decoration: none">Top element</a>
<ul>
<li><a href="#">Sub element</a></li>
</ul>
</li>
</ul>
И кто мне гарантирует, что меню с X Library будет выглядеть также? А никто. И они абсолютно разные. И каждое надо дотачивать напильником и продираться сквозь тонны кода, комментариев (если они есть) и CSS.
Именно это я имею в виду, когда требую стандартные компоненты. А нестандартными их всегда можно сделать. В HTML — это CSS, в других местах — переопределение кода отображения (обычно onPaint event).
Кстати, о JavaScript. Побеги IE имеют неприятную особенность пользоваться глобальными настройками. То есть, если у тебя отрублен JavaScript, то, скорее всего, в ActiveX IE никто супер-пупер меню и не увидит. К этому, кстати, относится и проблема, с которой столкнулись здесь
T>Ну ладно. Как скажешь. Моя цель не спорить, а доказать необходимость переноса одной функции из одного проекта в другой.
В профильных форумах — COM и MFC — тебе скажут что делать или даже сделают за тебя. Если не будешь агитировать и соблазнять перспективой стать родоначальником нового направления в программировании. Совсем оно не новое, и MSHTML для указанных тобой целей — не лучший вариант. Оно очень заманчивое, а если совместно работают дизайнеры, художники и программисты, да все это переводится на разные языки, то я бы сказал — предпочтительное.
1. Не смог скачать семпл твоего инсталлятора (редиректит на основную страницу). Но если что, у меня стоят большие шрифты в IE, и изначальный стиль изменен (фон не белый, шрифт не Times, всякие <h1> будут выглядеть не так, как у тебя). Интересно все-таки скачать и посмотреть, что и куда у тебя в интерфейсе поползет.
Как я уже сказал, 2 кб кода на HTML+JavaScript — это что-то очень простое, вроде положить кнопку на форму и скомпилировать. После многочисленных репортах о тестеров и пользователей о неработающей клавиатурной навигации и горячих клавишах, отзывов о странном и непривычном поведении контролов и т.д. твой код на 90% превратится в фиксы ненужного поведения IE.
2. Использование компонентов черех Ctrl+C / Ctrl+V кода уже давно в прошлом. Уже сколько книг написано, статей не перечесть, разработок разных на эту тему. А ты говоришь, вот мол как просто новую менюшку заюзать.
А вот типичная ситуация, в которой твое решение <script src=component1.js> не прокатит:
— в первой версии юзер сгенерировал менюшку да прикупил у кого-то компонент TreeList для своего DHTML.
— интегрировал в свой проект (обработал исходники напильником).
— обнаружил баги там и там. Попросил или подождал новые версии.
— и как же теперь в старый, слегка модифицированный код чужой код ему вставить новые версии?
— особенно если учесть, что JS-код будет большой с кучей фиксов/хаков, что в IE нормальное явление.
Для этих целей MS создавала HTML Components, что-то типа XBL в Мозилле, да забросила это, как и развитие MSHTML в сторону именно layout-движка, а не компонента для отображения текста.
3. Сколько раз уже замечено было, что подражание какому-нибудь интерфейсу через CSS (например, серый фон вместо системного, двойной белый угол + черный угол для эмуляции утопления или выдавленности вместо того, что на самом деле в виндах) требует очень скурпулезной работы, а сделанное в лоб выглядит плохо. Впрочем, со страстью к цветастым менюшкам ты этого наверняка не замечаешь .
Интерфейс такой серый и квадратный не потому, что в MS сплошь и рядом одни скучные люди. Цветастые менюшки быстро приедаются, но со стандартным интерфейсом людям работать годами. Посмотри на все самые лучшие визуальные темы для XP или в Mac OS X — к стандартным контролам очень осторожно, я бы сказал, прикручивают сглаживание, прозрачность, уменьшают утопленность и добавляют градиента — и все это делаю очень опытные дизайнеры и тратят туеву хучу времени, прежде чем стиль можно будет показывать. А возьми и скачай пару стилей с themexp.org, которые покажутся самыми крутыми — долго ты с ними протянешь? Дольше всего держатся простые и скромные стили, самое главное там — не клевая форма кнопок, а проработанность. Чтобы в узкой кнопке текст не выполз, прямоугльник фокуса не вылез за кнопку и не портил вид, spin в edit не кукожился в непонятно что, и т.п.
4. А что касается серо выглядящего инсталлятора и т.п. — знакомая речь. У тебя же Win98, как ты сказал? Еще и по идеологическим соображениям наверное . У меня WinXP и все, что у тебя серо, у меня очень даже красиво. Я не имею ввиду стандартный стиль Luna. Каждый раз, когда вижу что-нибудь "оригинальное" с синим большим жирным шрифтом или ярко-зеленым или красном фоном (это явно на CRT-мониторе сделано), хочется скривиться.
5.
Потребитель выбирает красивое и оригинальное
А еще он выбирает серое и скучное, примеров тому куда больше Может, это не главное в софте?
6.
Почему производителя брузеров не реализуют хотя бы 20% возможностей IE
Они реализуют БОЛЬШЕ! Та же мозилла — это куда больше, чем IE, особенно в плане пригодности для интерфейсов.
7. Маленький инсталлятор — это хорошо, для маленьких программ У тебя же нет rollback, возможности изменить состав установленных компонентов, "починить" установку? InstallShild и Wise не ламерские продукты, просто ты не использовал все их возможности. Если программа распространяется на CD или нескольких, то почти все, что ты записал в достоинства своего инсталлятора, теряет смысл. Даже для 50 Мб — то же самое.
YK>Им нестандартный инсталлер простят. А вот тебе и мне этого не простят. И это из жизненого опыта.
Я сам терпеть не могу инсталлеры "не совместимые с выключенным сознанием"
Next->Next->...->Next->Install Finish — я не отменяю. Это обязательно.
Кнопка next будет левее Cancel, которая будет справа снизу. Всё будет так-же, но можеть быть стильнее.
YK>для small http server и консоль пойдет. Никто не будет против. Это другой класс программ.
У shttp собственнонаписанный инсталлер размером +5кб.
YK>А я, то думал, что ищешь Тогда вот тебе путь: VB в руки и HTML на шею. Они очень приятно состыкуются. А msvbvm60 есть сейчас на *всех* машинах, оно с каким-то IE поставляется.
Я уже почти всё написал на С++. Зачем нужен этот vb?
YK>Мне кажется все же не втолковали Иначе ты бы представлял почему пишутся стандарты на интерфейсы, почему все этих стандартов пытаются придерживаться
Почему все считают, что процесс написания программы важнее конечного результата!!!
Программы пишутся для пользователей, а не для стандартов.
Зв>http://rsdn.ru/forum/?group=mfc
А я попытался перенести, но почему-то топик остался в research
YK>А что смешного? Поверь, таких как ты меньшенство. Человеку нужно выполнять за компьютером свои задачи, и для большинства эти задачи не включают в себя изучение нестандартного интерфейса.
Изучать нестандартный интерфейс это выбрать мышкой скин и изменить то-же мышкой цвета и картинки под себя?
T>>Например в Антивирусе Касперского нет popup menu, зато очень удобный нестандартный интерфейс.
YK>Из-за которого я его снес через несколько дней.
RightClick по трею + антивирус вкл/выкл
RightClick по трею + обновить
RightClick по трею + выход
RightClick по папке/файлу + проверить на вирусы
Tab-вкладка "Настройки"
НастройкиАвтоОбновления
НастройкиПостояннойЗащиты
НастройкиПроверкиПоТребованию
...
Это очень удобно, просто, стильно, оригинально и кроссплатформенно! И всего 2-3 стандартных элемента винды. Наверняка из чужой библиотеки.
А взять дебильные mfc проекты например NSIS (я только про интерфейс)
ToolBar ->Load/save/clear/find/set compression level/homepage/help File->save/load, Edit->clear/find, Script->SetCompression, Help->Help
RightClick->Find, clear...
Tools->Settings->SetCompression
Зачем 3 раза на одном месте расположены одинаковые кнопки?
Эти ненужные излишества.
Чтобы написать инсталлятор Обязательно придётся перемолотить тонны документации.
Благо там пара сотен страниц хелпа.
Mam>Мальчику в 15 лет и тем более тетеньке-бухгалтеру абсолютно не нужен цветастый интерфейс.
Конечно К кому не прийду —
у каждого разный скин в winxp,
Винда тормозит и жутко глючит из-за двойного десктопа.
Рабочий стол заполнен несколькомегабайтными картинками.
Звуковые схемы дебильные.
И самое главное это всем ПОТРЕБИТЕЛЯМ нравиться.
(У меня win98 + чёрный фон на десктоп + схема нет звуков)
Mam>Им нужно что-то, что не выходило бы за рамки "вперед-назад-стоп", желательно, с минимумом действий. Ты видел инсталляторы игрушек от МС? Всяких там Dungeon Siege'ей и Rise of Nations'ов? Весьма цветастые. Юзабельность — нулевая.
Я сам не переношу НеЮзабельные, долгие, неэффективныеи очень яркие интерфейсы инсталляторов и т.д.
Но, если в инсталляторе заместо картинки слева дополнительно появится весь список команд и можно будет нажать сразу Install, разве это плохо? Это гораздо юзабельней стандартно интерфейса.
Mam>Думаешь, почему это монстры типа EA, Blizzard и иже с ними пользуют Install Shield с его стандартными кнопочками? Во-первых, потому что это стандартно и не отпугивает пользователя. Во-вторых, потому что Install Shield реализует все возможности MSI (почитай на досуге в MSDN) — автоматическую установку, регистрацию, установку по инету и еще вагон и маленькую тележку.
ВСЕ игры Blizzard сделаны нестандартными средствами.
Согласны ли вы, введите сериал, выберите директорию, ...
Никаких "Далее" и т.д.
T>>Мой инсталлер 100% защищает программу серийным номером. T>>Инсталлятор может быть элементарно декомпилированн специальной утилитой
Mam>Значит не защищает, но это уже придирки. Возвращаемся к GUI
а то, что при декомпиляции придётся ввести этот серийник — это ерунда?
Mam>Далее повторю. При наличии грамотно спроектированных стандартных, доступных сразу, а не в результате поиска по гуглю, элементов позволяет делать с ними все, что хочешь. То же самое и в Qt. Смысла нет. А достигается все переопределением onPaint.
Переопредели какой-нибудь элемент в InstallShield
T>>Мой сетап-скинБилдер поможет тебе одним кликом мыши добавлять эти элементы
Mam>Какие элементы? Если их тысячи и один кривее другого?
Это можно расценивать как оскорбление? Я понимаю, что каждый кулик своё болото хвалит, но не на столько же!
Стандартный элемент в BorlandC++5,6 SpinEdit зависает при вводе слова. Это стандартный профессиональный предсказуемый элемент.
Моё нестандартное непрофессиональное 500-байтное меню, которое работает в обеих версиях ИЕ.
И то и другое добавляется одним кликом мыши.
Mam>Например, CSS Menu с TwinHelix:
Мои стандартные компоненты в инсталл-проект будут добавляться кликом мыши. Никакого копания в сорсе. Копаться будут профессионалы веб-дизайнеры, которые не считают язык HTML глупым. И которым важен РЕЗУЛЬТАТ.
Mam>А программисту надо (гипотетически): Mam>myMenu = new CascadingMenu(); Mam>menuTopItem = myMenu.addItem('Top Item'); Mam>menuSubItem = menuTopItem.addItem('SubItem');
В моём меню
1.htm>Top Item
1_1.htm>SubItem
Что проще?
Mam>Кстати, о JavaScript. Побеги IE имеют неприятную особенность пользоваться глобальными настройками. То есть, если у тебя отрублен JavaScript, то, скорее всего, в ActiveX IE никто супер-пупер меню и не увидит. К этому, кстати, относится и проблема, с которой столкнулись здесь.
Даже, если в ИЕ яваскрипт отрублен, он будет работать в программе.
Mam>И поэтому любовно названный тобою калом HTML Layout, который от IE не зависит.
Который добавляет к размеру программы 550 кб минимум.
Я бы не имел ничего против HTML Layout, если бы он занимал в 50 раз меньше места.
Код>1. Не смог скачать семпл твоего инсталлятора (редиректит на основную страницу). Но если что, у меня стоят большие шрифты в IE, и изначальный стиль изменен (фон не белый, шрифт не Times, всякие <h1> будут выглядеть не так, как у тебя). Интересно все-таки скачать и посмотреть, что и куда у тебя в интерфейсе поползет.
Пополз...
Я все стили переделал в ИЕ. И подправил style.css в инсталлере. Теперь не ползёт.
Только, если в ИЕ указано — не учитывать стили на веб-страницах, то инсталлятор заглючивает.
Хотя вряд-ли стили отключает даже хотя-бы каждый десятитысячный потребитель
Код>2
Я планировал интерфейс для простых программ маленького размера. И о покупке и муторном обрабатывании компонент речь не идёт.
Для большой и очень серьёзной программы этот интерфейс бесполезен, а для маленькой — очень даже.
Например для Кряка/Кейгена, Инсталлера, Интернет клиента, SlowCD, GameHack, Program Loader, любой другой программы с малым количеством функций этот интерфейс предпочтителен.
И напротив для карты города, 1с бухгалтерии, компилятора VisualC++, Фотошопа, ... этот интерфейс на 99% бесполезен.
И такая "типичная ситуация", с очень малой долей вероятности сможет приключиться с малой программой.
Код>3. Сколько раз уже замечено было, что подражание какому-нибудь интерфейсу через CSS (например, серый фон вместо системного, двойной белый угол + черный угол для эмуляции утопления или выдавленности вместо того, что на самом деле в виндах) требует очень скурпулезной работы, а сделанное в лоб выглядит плохо. Впрочем, со страстью к цветастым менюшкам ты этого наверняка не замечаешь .
Код>Интерфейс такой серый и квадратный не потому, что в MS сплошь и рядом одни скучные люди. Цветастые менюшки быстро приедаются, но со стандартным интерфейсом людям работать годами. Посмотри на все самые лучшие визуальные темы для XP или в Mac OS X... долго ты с ними протянешь? Дольше всего держатся простые и скромные стили, самое главное там — не клевая форма кнопок, а проработанность. Чтобы в узкой кнопке текст не выполз, прямоугльник фокуса не вылез за кнопку и не портил вид, spin в edit не кукожился в непонятно что, и т.п.
Да я сам не терплю нестандартный скин, как и все мои знакомые умные+разбирающиеся в компьютерах. Но остальные 90% выбирают цвет. И к тому-же вероятность порчи вида мала.
Код>4. А что касается серо выглядящего инсталлятора и т.п. — знакомая речь. У тебя же Win98, как ты сказал? Еще и по идеологическим соображениям наверное . У меня WinXP и все, что у тебя серо, у меня очень даже красиво. Я не имею ввиду стандартный стиль Luna. Каждый раз, когда вижу что-нибудь "оригинальное" с синим большим жирным шрифтом или ярко-зеленым или красном фоном (это явно на CRT-мониторе сделано), хочется скривиться.
Опять сначала.
Если это ваша программа, то она серая-стандартная-красивая.
Если моя, то обязательно с большим ярко-зелёным шрифтом на красном фоне.
Этой НеЛогичной фразой вы потверждаете стильность варианта ХТМЛ, который будет плохо выглядеть только при глупом сочетании цветов.
Код>5. T>>Потребитель выбирает красивое и оригинальное Код>А еще он выбирает серое и скучное, примеров тому куда больше Может, это не главное в софте?
Не согласен. Красивое и оригинальное не значит дебильного дизайнера с красно-зелёными замашками.
Например в игре Dark Region оригинальный иинтерфейс: кнопки главного меню раскиданы по всему экрану, неподписаны, ... Это глупо.
А в WarCraft3 — меню удобно и достаточно оригинально, причём легко эмулируется на HTML
(Если не считать 3d-рендеринга на фоне
Код>6. t>>Почему производители брузеров не реализуют хотя бы 20% возможностей IE Код>Они реализуют БОЛЬШЕ! Та же мозилла — это куда больше, чем IE, особенно в плане пригодности для интерфейсов.
Я не знаю ни одного преимужества Мозиллы, хотя это и не значит, что их нет. (Я все-таки уважаю чужое мнение)
Но самой Мозиллы нет на каждом компе и потому она не подходит.
(Справка: <a style=color:green style=font-family:verdana> сработает только в ИЕ. Это не разрешается стандартами, но часто бывает причиной многих глюков в других браузерах)
Код>7. Маленький инсталлятор — это хорошо, для маленьких программ У тебя же нет Код>rollback,
Пока нет, но это не противоречит ХТМЛ — интерфейсу. Код>возможности изменить состав установленных компонентов,
Я вырубил эту возможность потому как она бесполезна для моего типа инсталлера. Код>"починить" установку?
Я не знаю, что это, хотя и смахивает на реинсталл. Код>InstallShild и Wise не ламерские продукты, просто ты не использовал все их возможности. Если программа распространяется на CD или нескольких, то почти все, что ты записал в достоинства своего инсталлятора, теряет смысл. Даже для 50 Мб — то же самое.
Я сделал более 100 Wise проектов-инсталляций, причём бОльшую часть писал скриптом. Например объеденял Directory+StartMenu+Components на одной форме, хотя это и не разрешено стандартом инсталлятора.
Сразу скажу, чтобы не было дальнейшего взаимонепонимания. Надо было это сразу сделать.
Моя программа — "Small Installer для программ, распространяемых через интернет."
Компоненты не имеют смысла, так как человек всё равно скачал весь дистрибутив.
Этот исталлятор пакует некоторые файлы в несколько раз лучше, чем WiseInstall, rar+solid, 7-zip.
DomAPI>
Вот это как раз доказательство расширяемости движка на HTML
ЗЫ.
Ладно, спасибо за совет, пойду в Com-раздел в понедельник
Здравствуйте, tiberius, Вы писали:
Mam>>И поэтому любовно названный тобою калом HTML Layout, который от IE не зависит.
T>Который добавляет к размеру программы 550 кб минимум. T>Я бы не имел ничего против HTML Layout, если бы он занимал в 50 раз меньше места.
Господа, здесь опечатка!!! следует читать "в 50000000 раз меньше места" и далее по тексту.
T>Для большой и очень серьёзной программы этот интерфейс бесполезен, а для маленькой — очень даже. T>Например для Кряка/Кейгена...
Уууууу, господа, а ведь это в морг....
Здравствуйте, Зверёк Харьковский, Вы писали:
ЗХ>Здравствуйте, tiberius, Вы писали:
Mam>>>И поэтому любовно названный тобою калом HTML Layout, который от IE не зависит.
T>>Который добавляет к размеру программы 550 кб минимум. T>>Я бы не имел ничего против HTML Layout, если бы он занимал в 50 раз меньше места. ЗХ>Господа, здесь опечатка!!! следует читать "в 50000000 раз меньше места" и далее по тексту.
Перевожу:Короче земля плоская и долой еретиков!
Size HTMLLayout = 500+150=650kb
Size IE=10+10=20kb
SizeHTMLLayout/SizeIE=500/10=50
T>>Для большой и очень серьёзной программы этот интерфейс бесполезен, а для маленькой — очень даже. T>>Например для Кряка/Кейгена... ЗХ>Уууууу, господа, а ведь это в морг....
Перевожу: Т.е. долой кейгены, будем покупать всё в полную стоимость.
Здравствуйте, tiberius, Вы писали:
T>Программистам — дочитайте до конца. T>Особенно это касается самых умных программистов с большими претензиями на мировое господство
T>Наверняка многие люди сталкивались с проблемой:
поскипано T>Желательно написать прогу поверх шаблона LittleTask(WinAPI, 2.5kb exe)
T>Моё мыло, если что tiberius@fasthtm.com
Я не читал все ответы, может быть кто-то уже предложил, то что я хочу предложить.
Mozilla
Там как раз то, что вы хотите. Только не HTML а XUL, и не просто C++, а XPCOM.
XUL — специальный язык для рисования интерфейсов программ (для GUI он будет гораздо удобнее чем HTML).
XPCOM — Crossplatform COM. (то же что и старый добрый COM, но только InProc. Никаких удаленных вызовов или маршалинга).
Здравствуйте, ansi, Вы писали:
A>... За что я люблю Зе Мышь и Оперу — шустрая, компактная, удобная и никаких приблуд вроде хтмлей всяких. В отличие от того же IE, Outlook, Thunderbird и Mozilla.
В IE есть приблубы?
И сдается мне, что Thunderbird и Mozilla у тебя элементарно не настроены, вот и тормозят. Например, ты знаешь, что при сворачивании окна Thunderbird, он освобождает занимаемую память (свопит), а при разворачивании обратно считывает? И это настраивается.
T>А взять дебильные mfc проекты например NSIS (я только про интерфейс)
Там нет MFC . Дебильность интерфейса от используемых технологий никак не зависит. Правда расширенные возможности, вроде влегкую поменять цвет фона на красный, как в Delphi, в разы повышает количество уродливых программ.
T>Чтобы написать инсталлятор Обязательно придётся перемолотить тонны документации. T>Благо там пара сотен страниц хелпа.
Чтобы написать ХОРОШИЙ инсталлятор, обязательно придется перемолотить тонны документации. Не по инсталлятору, так по операционной системе, её API и Knowledge Base. Такой, что в случае ошибки не оставляет мусора, не забывает удалять ВСЕ файлы и спрашивать об удалении неизвестных (например, конфигов). "Простая" инсталляция, которую ты предлагаешь (и которая также используется в NSIS), в стиле "function install(): copy file1; copy file2;" и "function uninstall(): delete file1; delete file2;" приводит к инсталляторам, которые такими багами изобилируют. В результате приходится отлаживать инсталлятор также.
T>Но, если в инсталляторе заместо картинки слева дополнительно появится весь список команд и можно будет нажать сразу Install, разве это плохо? Это гораздо юзабельней стандартно интерфейса.
Пожалуйста, но при чем тут HTML+JS . Express Install можно сделать в любом инсталляторе, добавив кнопку на первую страницу.
T>а то, что при декомпиляции придётся ввести этот серийник — это ерунда?
А ты не в курсе, что хакеры покупают один серийник, распаковывают, затем запаковывают опять сломанные файлы в инсталлятор БЕЗ СЕРИЙНИКА . Твоя 100%-ная защита может сойти только за рекламный ход, на самом деле защищают программы по-другому (не в инсталляторе).
Mam>>Какие элементы? Если их тысячи и один кривее другого? T>Это можно расценивать как оскорбление? Я понимаю, что каждый кулик своё болото хвалит, но не на столько же!
Да ты покажи уже свои менюшки! Все CSS/HTML-эмуляции контролов, которые я видел, были кривыми.
T>Пополз...
Выложи, посмотрим... А фильтры, кстати, работают в XP SP2?
T>Хотя вряд-ли стили отключает даже хотя-бы каждый десятитысячный потребитель
В Firefox есть пункт меню "Use default style", который я очень часто использую при просмотре какой-нибудь страницы с черным фоном и ярким текстом. Если я пользовался IE и это было близко и только для текущего окна... (начались несбыточные мечты) — тоже бы пользовался.
T>Например для Кряка/Кейгена, Инсталлера, Интернет клиента, SlowCD, GameHack, Program Loader, любой другой программы с малым количеством функций этот интерфейс предпочтителен. T>И напротив для карты города, 1с бухгалтерии, компилятора VisualC++, Фотошопа, ... этот интерфейс на 99% бесполезен.
Вот и тебе и ответ на все сразу. Тут 99% пишут не кряки и кейгены, а зарабатывают выпуском коммерческого софта, а многие и сами продают. А ты — кряки, кейгены.
T>И такая "типичная ситуация", с очень малой долей вероятности сможет приключиться с малой программой.
T>Если моя, то обязательно с большим ярко-зелёным шрифтом на красном фоне.
Твоя — может быть и нет. Но ты ведь предлагаешь "новое направление в программировании". Видел, чем грешат программы даже опытных Delphi/VB-программеров? А в твоем направлении вообще мрак будет.
T>Но самой Мозиллы нет на каждом компе и потому она не подходит.
Ну да, кейген на мозилле не очень хорошая идея
T>(Справка: <a style=color:green style=font-family:verdana> сработает только в ИЕ. Это не разрешается стандартами, но часто бывает причиной многих глюков в других браузерах)
< ХТМЛ. >
< Мне босс сказал написать страничку чтобы был логотип \
и типа новости да карты проезда >
</ ??.#@13243>
< Х** знает как, но хочу чтоп работало >
< /Конец ХТМЛ/ >
Вывод: MSHTML, конечно, работает. Разве кто-то говорил, что он не работает? И его можно использовать. И его используют. Но по-хорошему он не катит. Потому что квадратный. Поэтому альтернативные проекты не просто имеют право на жизнь, а местами даже блещут на фоне IE. Точно такой же шаблон можно сделать на htmlayout, прикрутить скрипт, если нужен (даже компилируемый), и получить нечто гораздо более контролируемое. Но если лень почитать немного, чтобы перенести пару функций (COM все равно тебе нужен, если собираешься работать с IE), то это недостижимая вершина, конечно.
YK>>Мне кажется все же не втолковали Иначе ты бы представлял почему пишутся стандарты на интерфейсы, почему все этих стандартов пытаются придерживаться
T>Почему все считают, что процесс написания программы важнее конечного результата!!! T>Программы пишутся для пользователей, а не для стандартов.
А стандарты для этого и пишутся. С выходом Win2000 был прочно установлен стандарт на визарды , соответственно, инсталляторы. 99.9% инсталляторов пишутся с учетом этого стандарта. Даже самая ровная из наколеночных поделок NSIS, начиная с версии 2 поддерживает этот интерфейс.
T>>>Например в Антивирусе Касперского нет popup menu, зато очень удобный нестандартный интерфейс.
YK>>Из-за которого я его снес через несколько дней.
T>RightClick по трею + антивирус вкл/выкл
[skip: описание функциональностей программы]
T>Это очень удобно, просто, стильно, оригинально и кроссплатформенно! И всего 2-3 стандартных элемента винды. Наверняка из чужой библиотеки.
Это все пишется ручками в C++. Неоригинально и очеь неудобно.
T>А взять дебильные mfc проекты например NSIS (я только про интерфейс) T>Зачем 3 раза на одном месте расположены одинаковые кнопки? T>Эти ненужные излишества.
Это — проблема разработчиков и никакой фреймворк или библиотека кривым рукам не поможет.
Mam>>Думаешь, почему это монстры типа EA, Blizzard и иже с ними пользуют Install Shield с его стандартными кнопочками? Во-первых, потому что это стандартно и не отпугивает пользователя. Во-вторых, потому что Install Shield реализует все возможности MSI (почитай на досуге в MSDN) — автоматическую установку, регистрацию, установку по инету и еще вагон и маленькую тележку.
T>ВСЕ игры Blizzard сделаны нестандартными средствами. T>Согласны ли вы, введите сериал, выберите директорию, ... T>Никаких "Далее" и т.д.
Во-первых не надо путать палец с.... То есть, игры с инсталляторами. Инсталляторы от всех крупных производителей последние года четыре делаются только с использованием InstallShield или, может быть, WiseInstaller.
Mam>>Далее повторю. При наличии грамотно спроектированных стандартных, доступных сразу, а не в результате поиска по гуглю, элементов позволяет делать с ними все, что хочешь. То же самое и в Qt. Смысла нет. А достигается все переопределением onPaint.
T>Переопредели какой-нибудь элемент в InstallShield
Зачем? Кстати, мы все еще говорим о "Новом направлении программирования" или ограничили его только одним продуктом — инсталлятором? Инсталятор долден выглядеть стандартно. В остальных программах — сначала юзабилити, а потом прибамбасы.
T>>>Мой сетап-скинБилдер поможет тебе одним кликом мыши добавлять эти элементы Mam>>Какие элементы? Если их тысячи и один кривее другого? T>Это можно расценивать как оскорбление? Я понимаю, что каждый кулик своё болото хвалит, но не на столько же!
Почему оскорбление? Ты сам сказал, что в инете тысячи элементов, писаных на JavaScrript.
T>Стандартный элемент в BorlandC++5,6 SpinEdit зависает при вводе слова. Это стандартный профессиональный предсказуемый элемент.
увы. Кстати, в SpinEdit надо вводить только цифры, насколько я помню...
T>Моё нестандартное непрофессиональное 500-байтное меню, которое работает в обеих версиях ИЕ. T>И то и другое добавляется одним кликом мыши.
Mam>>Например, CSS Menu с TwinHelix:
T>Мои стандартные компоненты в инсталл-проект будут добавляться кликом мыши. Никакого копания в сорсе. Копаться будут профессионалы веб-дизайнеры, которые не считают язык HTML глупым. И которым важен РЕЗУЛЬТАТ.
А много ли у тебя таких компонентов? Покрывают ли они все потребности программиста? Можно ли их комбинировать или расширять без ущерба здоровью?
Итак (маэстро, туш). Два примера.
Пример первый
Если в твоем инсталляторе нет табкотрола, то его надо будет сфетишиздить в интернете. И вот, я в раздумье. У меня есть мой Простейший Wizard на клиенте
Потому что для того, чтобы их использовать в проекте, программисту сначала надо продраться сквозь нехилый код, разбираться в JavaScript и DOM, а времени на это у него вряд ли есть. Причем в коде International Herald Tribune я вижу не один и не два, а 8 (восемь!) .js файлов.
Одним кликом их ни в какой продукт не добавишь.
А табконтрол — вещь несоизмеримо более нужная для инсталлятора, чем меню, согласись.
Пример второй
Скрин первый, инсталятор Qt.
Инсталятор: Написаный специально под задачу ("на коленке").
На рисунке: TabControl, расширенный TreeView.
Дополнительно: При выборе элемента проверяется наличие в системе заголовочных файлов, необходимых для работы выбранного компонента, отображается описание элемента.
Язык: С++.
Библиотека: Qt.
Сложность исполнения по 10-бальной шкале:
— с использованием Qt: порядка 5
— с использованием HTML: порядка 10 (необходимость эмуляции двух элементов, сложность связки "выбор элемента-проверка наличия-подтверждение-снятие выбора программно")
Скрин второй, инсталятор Semagic.
Инсталятор: Nullsoft Super Installation System (NSIS) Version > 2.
На рисунке: Cheklistbox, ComboBox
Дополнительно: При смене выбранных элементов состояние комбобокса меняется для того, чтобы отобразить "Full Installation, Custom Installation, Minimal Installation" и т.д.
Язык: С++, инсталлятор управляется скриптом
Библиотека: -.
Сложность исполнения по 10-бальной шкале:
— с использованием NSIS Script: порядка 2
— с использованием HTML: порядка 5-7 (необходимость связки двух элементов — или через JavaScript, что влечет дополнительные сложности для человека, незнающего оного, или через связку "JavaScript-C++ backend-JavaScript")
Скрин третий, инсталятор Skype.
Инсталятор: скорее всего, написанный специально для этой цели ("наколенный").
На рисунке: Окно подтверждения скачивания новой версии
Дополнительно: Несмотря на то, что инсталлятор "маленький", он обладает двумя важными фишками. Первая — проверка обновленной версии в интернете. Вторая (скриншот взять не смог) rollback action при отмене установки. Из наколенных инсталяторов — это единственный такой. Обычно такие фишки предлагают только коммерческие инсталляторы (InstallShield, Wise, MagicInstall)
Язык: Delphi/C++
Библиотека: VCL.
Сложность исполнения по 10-бальной шкале: — (сложность элементов интерфейса не рассматривается)
Скрин четвертый, инсталятор HTML-Kit.
Инсталятор: ?, скорее всего, написанный специально для этой цели ("наколенный").
Язык: Delphi/C++
Библиотека: VCL.
Смотри инсталятор Semagic.
ВЫВОДЫ
Итак, что мы имеем? Мы имеем четыре различных инсталлятора. Один коммерческий платный (Qt), один коммерческий бесплатный (Skype) и два бесплатных.
Из них только Qt все еще следует (более-менее) стандарту визардов Win95-98, остальные просно перешли на наиболее близкий к стандарту Win2k вид.
Зато инсталятор Qt показал, что шаг влево-вправо от стандартных элементов и HTML уже вешается, а программист стреляется.
Ни один из инсталляторов не захотел меню. Ну ни один.
Qt захотел TabControl. Все четыре захотели человеческого взаимодействия элементов.
Zend Optimizer (коммерческий бесплатный) — InstallShield. 1C предприятие (программа для тетеньки-бухгалтера , коммерческая платная) — InstallShield.
Продолжать можно до бесконечности. 99,9% инсталяторов требуют и/или используют стандартный интерфес или пытаются его наиболее близко эмулировать.
Код>>2 T>Я планировал интерфейс для простых программ маленького размера. И о покупке и муторном обрабатывании компонент речь не идёт.
T>Для большой и очень серьёзной программы этот интерфейс бесполезен, а для маленькой — очень даже. T>Например для Кряка/Кейгена, Инсталлера, Интернет клиента, SlowCD, GameHack, Program Loader, любой другой программы с малым количеством функций этот интерфейс предпочтителен.
Кряки и кейгены инсталяторов не требуют. Маленькие программы нынче начинаются от двух мегабайт.
T>Да я сам не терплю нестандартный скин, как и все мои знакомые умные+разбирающиеся в компьютерах. Но остальные 90% выбирают цвет. И к тому-же вероятность порчи вида мала.
Остальные 90% выбирают стандарт. Если кнопка не будет квадратной, то 90% людей не поймут, что это — кнопка. К цвету это часто тоже относится.
T>Опять сначала. T>Если это ваша программа, то она серая-стандартная-красивая. T>Если моя, то обязательно с большим ярко-зелёным шрифтом на красном фоне. T>Этой НеЛогичной фразой вы потверждаете стильность варианта ХТМЛ, который будет плохо выглядеть только при глупом сочетании цветов.
Конечно, необязательно.
T>Например в игре Dark Region оригинальный иинтерфейс: кнопки главного меню раскиданы по всему экрану, неподписаны, ... Это глупо.
T>А в WarCraft3 — меню удобно и достаточно оригинально, причём легко эмулируется на HTML T>(Если не считать 3d-рендеринга на фоне
Опять же. Не надо путать палец с ... непальцем. Интерфес в игре — это отдельная песня, практически нерегулируемая законами о создании интерфейсов. И то рекомендуется наиболее полно эмулировать стандартные элементы — кнопки, списки, области прокрутки и так далее. И эмулируют. Всякие переходы по элементам при нажатии на таб эмулируют, списки эмулируют, табконтролы эмулируют, спинедиты эмулируют.
А что поделать — приходится. Разработка интерфеса в игре — это вообще отдельная статья расходов, потому что все надо писать с нуля. В HTML'e если не все, то очень много надо писать с нуля.
Вопрос. Как в HTML'е сделать плоский ComboBox?
Код>>6. t>>>Почему производители брузеров не реализуют хотя бы 20% возможностей IE Код>>Они реализуют БОЛЬШЕ! Та же мозилла — это куда больше, чем IE, особенно в плане пригодности для интерфейсов. T>Я не знаю ни одного преимужества Мозиллы, хотя это и не значит, что их нет. (Я все-таки уважаю чужое мнение)
Поэтому не надо говорить выделенное.
T>Но самой Мозиллы нет на каждом компе и потому она не подходит. T>(Справка: <a style=color:green style=font-family:verdana> сработает только в ИЕ. Это не разрешается стандартами, но часто бывает причиной многих глюков в других браузерах)
Справка: Надо писать style="color:green; font-family:verdana" — себе дешевле (печатать меньше, как минимум). То, что IE поддерживает кривой синтаксис, это конечно хорошо, но я предпочитаю ровный CSS, не раскиданный по всему коду.
Код>>возможности изменить состав установленных компонентов, T>Я вырубил эту возможность потому как она бесполезна для моего типа инсталлера.
Как показал пример с инсталятором Qt, мало ли что кому взбредет в голову...
Код>>"починить" установку? T>Я не знаю, что это, хотя и смахивает на реинсталл.
Repair а не Reinstall
T>Сразу скажу, чтобы не было дальнейшего взаимонепонимания. Надо было это сразу сделать. T>Моя программа — "Small Installer для программ, распространяемых через интернет."
Ну... Здесь пока NSIS, по-моему, рвет всех на запчасти
T>DomAPI> T>Вот это как раз доказательство расширяемости движка на HTML
Это просто показывает, что кто-то решил создать стандартизированную библиотеку элементов на JavaScript. HTML почти не имеет к этому отношения.
... << RSDN@Home 1.1.4 beta 3 rev. 281>> ... <<Winamp is playing "Что играет? Где играет? Где ВинАмп, я вас спрашиваю?">> ...
Здравствуйте, Кодёнок, Вы писали:
Кё>Чтобы написать ХОРОШИЙ инсталлятор, обязательно придется перемолотить тонны документации. Не по инсталлятору, так по операционной системе, её API и Knowledge Base. Такой, что в случае ошибки не оставляет мусора, не забывает удалять ВСЕ файлы и спрашивать об удалении неизвестных (например, конфигов). "Простая" инсталляция, которую ты предлагаешь (и которая также используется в NSIS), в стиле "function install(): copy file1; copy file2;" и "function uninstall(): delete file1; delete file2;" приводит к инсталляторам, которые такими багами изобилируют. В результате приходится отлаживать инсталлятор также.
Да, мне я этим занимаюсь, но не надо мне говорить: у тебя не получится, всё равно будет хуже, ... Корявость программной части моего инсталлятора не вписывается в этот то.
T>>а то, что при декомпиляции придётся ввести этот серийник — это ерунда?
Кё>А ты не в курсе, что хакеры покупают один серийник, распаковывают, затем запаковывают опять сломанные файлы в инсталлятор БЕЗ СЕРИЙНИКА . Твоя 100%-ная защита может сойти только за рекламный ход, на самом деле защищают программы по-другому (не в инсталляторе).
Итак. Моя программа — "Small Installer для программ, распространяемых через интернет."
Например тебе нужна прога типа PDFtoHTMLconverter. Вот приспичило. Куда ты пойдёшь за прогой
на PDFtoHTMLconverter.com
или на warez.com, где прога с выдранным серийником и загаженная SpyWarezom.
А насчёт защиты "по-другому", так согласен. Никто не обязывает защищать прогу серийником в инсталляторе.
Mam>>>Какие элементы? Если их тысячи и один кривее другого? T>>Это можно расценивать как оскорбление? Я понимаю, что каждый кулик своё болото хвалит, но не на столько же!
Кё>Да ты покажи уже свои менюшки! Все CSS/HTML-эмуляции контролов, которые я видел, были кривыми.
T>>Пополз...
Кё>Выложи, посмотрим... А фильтры, кстати, работают в XP SP2?
"в XP SP2"
Там работают, только если прописан правильный w3.org и только в листах стилей. http://menubuilder.fasthtm.com/?download — программа корявая, но некоторые шаблонные менбшки очень даже ничего.
T>>Хотя вряд-ли стили отключает даже хотя-бы каждый десятитысячный потребитель Кё>В Firefox есть пункт меню "Use default style", который я очень часто использую при просмотре какой-нибудь страницы с черным фоном и ярким текстом. Если я пользовался IE и это было близко и только для текущего окна... (начались несбыточные мечты) — тоже бы пользовался.
Вот именно. Большинство тех, кто умеет отключать стили ставит настройки ИЕ по-умолчанию и пользуется другим нормальным браузером.
Кё>Вот и тебе и ответ на все сразу. Тут 99% пишут не кряки и кейгены, а зарабатывают выпуском коммерческого софта, а многие и сами продают. А ты — кряки, кейгены.
Ладно, про кряки я загнул. Это про интерфейс, а не про инсталлер.
Вот 10 последних программ в download.ru
Paragon CD-ROM Emulator
Paragon Partition Manager
7-Zip
Reg Organizer
Supervisor Контроль и администрирование ОС
CPU Grave
Work With Registry
fitW (fine tuning of Windows)
Каждая из них занимает окола мегабайта места.
Install Shield запакует их в ~1.5mb — Уже есть вероятность, что программу просто не станут качать из-за размера.
Мой инсталлер запакует в 0.3-0.9mb, что уже лучше.
Кё>Вывод: MSHTML, конечно, работает. Разве кто-то говорил, что он не работает? И его можно использовать. И его используют. Но по-хорошему он не катит. Потому что квадратный. Поэтому альтернативные проекты не просто имеют право на жизнь, а местами даже блещут на фоне IE. Точно такой же шаблон можно сделать на htmlayout, прикрутить скрипт, если нужен (даже компилируемый), и получить нечто гораздо более контролируемое. Но если лень почитать немного, чтобы перенести пару функций (COM все равно тебе нужен, если собираешься работать с IE), то это недостижимая вершина, конечно.
Да не подходит HTMLlayout для инсталлятора, потому как он ЖИРНЫЙ. Зачем ради какой-то мнимой выгоды HTMLlayout перед IE убивать главное преимущество моего инсталлера?
T>>DomAPI> M>Это просто показывает, что кто-то решил создать стандартизированную библиотеку элементов на JavaScript. HTML почти не имеет к этому отношения.
Хех... Вот, пожалуйста. Только загрузил первый контрол — кнопку, как обнаружил, что двойной щелчок на ней выделяет текст в Мозилле и вообще не вызывает повторного нажатия в IE. Симуляция 3D-приподнятости, как и везде, корявая.
Все следующее относится к IE со стандартными настройками:
— ComboBox просто уродский. Причем если навести курсор на границу его кнопки, он превращается в руку. Щелчок вне контрола при выпавшем списке не закрывает список.
— DateTimePicker — похоже просто недоделан, я видел и лучше, так что молчу.
— Grid, HeaderBar — тоже позволяет выделение текста.
— ListBox — нажать на элементе и увести за контрол оставляет артефакты.
— Menu — покажите его, затем средней кнопкой вне его. Оно останется. А если еще и попап был показан, так тот останется даже при скрытии и повторном показе основного меню.
— MenuBar — щелчок вне меню не закрывает попап.
— PageControl — про Ctrl+Tab забыли (если это возможно?).
— Slider — выделите текст "onchange = Basin number 6", затем ухватите выделенный thumb на слайдере и перетащите его на текст "Positioning Test". Увидите глюк с mousecapture.
— SpinEdit — про изменение значения колесиком забыли. Как и зачем-то отключили двойной щелчок на стрелках. Нажмите в нем буквенную клавишу, и увидите, что проверка производится по таймеру или еще как-то так
— Tree — клава не работает...
Я проверял только стандартные Common Controls. Причем просто пощелкал там-сям, не копался скурпулезно в каждой комбинации щелчков и клавиш, как наш тестер . Симуляция 3D-приподнятости неправильная, еще раз повторю. Про поддержку скинов (не цветовых тем) тут и речи быть не может.
На вебсайтах такие контролы уже не удивляют. В программах этот интерфейс только для какой-нибудь поделки годится, вроде кейгенов Им еще фон вставить, музыку добавить, цветовую гамму оранжевую и отличный оригинальный интерфейс получится
T>А насчёт защиты "по-другому", так согласен. Никто не обязывает защищать прогу серийником в инсталляторе.
А зачем тогда сказал? Все в кучу собрал — и новое направление, и инсталлятор свой, и еще какие-то пункты достоинств неизвестно чего приписал...
T>http://menubuilder.fasthtm.com/?download — программа корявая, но некоторые шаблонные менбшки очень даже ничего.
— да уж, под Win98 у меня упорно вызывает креш И какое-то ДОС-окно проскакивает перед запуском.
— менюшка пропадает при уведении из нее мышки. Сильно бесит, если случайно курсор дернулся, а я уже зашел глубоко в дебри вложенных меню.
— если интерфейс этой программы ты считаешь нормальным, то неудивительно твоё воодушевление по поводу возможностей HTML+CSS+JS
— шаблон ms эмулирует неправильно, дергается при наведении на javascript2 и у него ничего не выпадает.
— ни один шаблон не нравится, даже если бы я стал использовать фешси-шменси в своей программе Для сайта — сколько угодно. Хотя куча сайтов живет без меню и им это только большой плюс.
— некоторые шаблоны игнорируют настройку "большие шрифты", некоторые нет, у некоторых игнорирует только попап, а само меню нет. Вот это все мелочи, мелочи, которые будут один за другой обнаруживаться каждый месяц, и каждый месяц их будешь фиксить, фиксить...
— оказалось, что сама программа на Delphi, а жаль Отключить бы JS & ActiveX — это нормальная мера, которую сисадмины принимают ради спокойствия юзеров — и посмотреть на интерфейс...
— на будущее — она пишет ярлык в прямо в start menu — бить ногами . Даже M$ перестала себе это позволять.
Ну вот опять не нашлось нормального контрола на HTML . Удастся ли когда-нибудь увидеть нормальные контролы на html?
T>Install Shield запакует их в ~1.5mb — Уже есть вероятность, что программу просто не станут качать из-за размера. T>Мой инсталлер запакует в 0.3-0.9mb, что уже лучше.
NSIS? Даже Inno Setup, писанный на Дельфи, прибавляет всего 300к — это всем известная цифра, размер VCL . А качать из-за размера не станут русские, но русские почти и не покупают . Да и у нас у многих уже давно не 33.6-модемы.
T>Да не подходит HTMLlayout для инсталлятора, потому как он ЖИРНЫЙ. Зачем ради какой-то мнимой выгоды HTMLlayout перед IE убивать главное преимущество моего инсталлера?
Да для инсталлятора вообще никакой layout не подходит, потому что нафиг не нужен . Выгода будет при использования его для интерфейса! Диалогов, главного окна и т.д.
Я прочитал все ваши посты и вижу, что все преимущества ваших вариантов мифичны.
Итак, давайте начнём сначала.
Предположим есть html-IE шаблон проги на 20кб.
Предположим есть необходимость написать МАЛЕНЬКУЮ программу например инсталлер.
Например этот инсталлер только для программ, распространяемых через интернет и попадающих на компьютер пользователя путём скачивания.
Ладно не буду, спорить. В ваших инсталляторах есть многие возможности, но большая часть из них бесполезна для такого типа программ.
1)Welcome
Будет реализован на html лучше или так-же.
2)Licensed Agreement
Он будет не в memo1, а на всю ширину инсталлятора и кнопка next будет не выключена, а просто внизу страницы. Пользователю всё равно придётся промотать всю страницу, чтобы продолжить установки. Также возможен стандартный вариант.
3)Серийный номер.
Как было сказано не мной, таким способом программы не защищаются. Программы ShareWare и имеют собственный механизм регистрации.
Итог: Не нужен.
4)Выбор компонент.
Как будто человек скачает программу с инета и будет ещё чего-то выбирать экономя пару килобайт на винте.
Итог: Не нужен.
5)Выбор StartMenu
Будет реализован не через ListBox, высотой в 10 пунктов, а через одиночные checkbox, или же более гибко, благодаря редактируемости html
6)Installing
ProgressBar может бвть переделан как человеку вздумается. Хоть превращением одних картинок в другие, сборкой мозаики или же обычной полоской.
Все преимущества Install Shield не нужны для десятков тысяч программ, распространяемых через инет. Не нужен Repair, Serial, Выбор компонент и все другие возможностями, которыми всё-равно никто не пользуется.
Итак, если кто будет отвечать на этот месаг, то напишите по строчкам преимущества InstallShield,.. для маленьких программ, распространяемых через инет. И к каждому преимуществу пример, где и как это может быть использовано.
tiberius пишет:
> Итак, давайте начнём сначала. > Предположим есть html-IE шаблон проги на 20кб.
Минимальный MSI-файл занимает около 10 килобайт.
> Предположим есть необходимость написать МАЛЕНЬКУЮ программу например > инсталлер. > Например этот инсталлер только для программ, распространяемых через > интернет и попадающих на компьютер пользователя путём скачивания.
Инсталляторы писать под Винду давно не нужно, так как есть нормальный MSI.
> 1)Welcome > Будет реализован на html лучше или так-же.
Стандартный диалог в MSI (причем локализованный примерно для 50 языков).
> 2)Licensed Agreement > Он будет не в memo1, а на всю ширину инсталлятора и кнопка next будет > не выключена, а просто внизу страницы. Пользователю всё равно придётся > промотать всю страницу, чтобы продолжить установки. Также возможен > стандартный вариант.
Стандартный диалог в MSI, локализованный. Требуется только указать
RTF-файл с лицензией.
> 3)Серийный номер. > Как было сказано не мной, таким способом программы не защищаются. > Программы ShareWare и имеют собственный механизм регистрации. > Итог: Не нужен.
Есть в MSI, локализовано.
> 4)Выбор компонент. > Как будто человек скачает программу с инета и будет ещё чего-то > выбирать экономя пару килобайт на винте. > Итог: Не нужен.
Есть в MSI, локализовано.
> 5)Выбор StartMenu > Будет реализован не через ListBox, высотой в 10 пунктов, а через > одиночные checkbox, или же более гибко, благодаря редактируемости html
Есть в MSI, локализовано, в диалоге выбора компонент.
> 6)Installing > ProgressBar может бвть переделан как человеку вздумается. Хоть > превращением одних картинок в другие, сборкой мозаики или же обычной > полоской.
Можно сделать в MSI.
> Итог > InstallShield — Большая серая инсталляция.
И при этом _работающая_.
> Мой инсталлер — Маленькая стильная инсталляция.
Но неработающая. Она добавляет программу в список установленных
программ? Позволяет автоматически устанавливать недостающие DLL'и
(msvcrt71.dll, например)? Обрабатывает счетчики ссылок на DLL? А ведь
это все нужные, даже необходимые для любого инсталлера вещи.
А как насчет автоматического отката при ошибке установки, оценки
требуемого места, автоматической инсталляции/деинсталляции?
Ась?
> Все преимущества Install Shield не нужны для десятков тысяч программ, > распространяемых через инет. Не нужен Repair, Serial, Выбор компонент > и все другие возможностями, которыми всё-равно никто не пользуется.
Да? Я бы сказал, что пора ДАВИТЬ производителей таких мелких
инсталлеров, и использовать нормальный MSI. Для NSIS/InnoSetup можно
сделать исключение — они тщательно тестируются на совместимость с Виндой.
T>Предположим есть html-IE шаблон проги на 20кб. T>Предположим есть необходимость написать МАЛЕНЬКУЮ программу например инсталлер. T>Например этот инсталлер только для программ, распространяемых через интернет и попадающих на компьютер пользователя путём скачивания.
Ну маленькие проги кое-кто и на асме пишет. И как вообще только не извращаются. Маленькие программы оставим кейгенам. Тут ведь люди прямо или косвенно зарабатывают на жизнь выпуском коммерческого софта, про него тут все и думают...
А взять хотя бы типичную шареварную программку с дистрибутивом 2-5 метров, с достаточно богатым интерфейсом — так ни шаблон с IE-движком, ни наколенный инсталлер им не нужен. Про большие программы и речи нет.
P.S. MS сначала попыталась внедрить html-диалоги, так мгновенно же от них и отказалась. Угадай почему И например там где в Win2000, Outlook, MSN Messenger был IE, теперь в новых версиях стоит что-то другое, например, .Net-контролы или DirectUI (какая-то приватная их технология, duser.dll которая отображает xml-файлы диалогов, записанные в ресурсы).
> Все преимущества Install Shield не нужны для десятков тысяч программ, > распространяемых через инет. Не нужен Repair, Serial, Выбор компонент > и все другие возможностями, которыми всё-равно никто не пользуется.
Выбор компонент можно просто скрыть за опцией Advanced, как это часто делается. А самописные маленькие инсталляторы несут с собой тучу багов. Такие как NSIS или Inno _годами_ тестируются. Посмотри им в ChangeLog, чтобы узнать, сколько тебе мелочей придется протестить и отработать. В самые неожиданные моменты у тебя будут вылезать несовместимости с антивирусами, с защитными фишками Win2000/XP/далее, с перемещенными Program/Common files и профилями, сетевыми дисками и т.д. и т.п.
Повторюсь, для "маленьких программ", коих куча на download.ru, которые в большинстве своем бесплатные, что отражает серьезность, с которой они разрабатывались, и которые активно используют немногие ибо в большинстве своем они не очень нужные, недоработанные, глючные, и т.д., можно использовать все что угодно, вплоть до ZIP/RAR sfx или распространения без инсталлятора вообще.
T>3)Серийный номер. T>Как было сказано не мной, таким способом программы не защищаются. Программы ShareWare и имеют собственный механизм регистрации. T>Итог: Не нужен.
А вот реализация ввода серийного номера нужна. С курсором, автоматом переходящим на следующее поле, например.
T>4)Выбор компонент. T>Как будто человек скачает программу с инета и будет ещё чего-то выбирать экономя пару килобайт на винте. T>Итог: Не нужен.
Ты инсталятор Winamp'а видел? Там помимо прочего еще дополнительная функциональность сразу настраивается — ставить ли шорткаты, регистрировать ли расширения, ставить ли AOL, подсоединяться ли к интернету и еще вагон чего.
А Winamp — реально маленькая программа и распространяется по инету. И весит больше 4-х мегабайтов. На их фоне 300кб VCL от InnoSteup или 850кб от HTML-Layout вообще незаметны будут.
T>5)Выбор StartMenu T>Будет реализован не через ListBox, высотой в 10 пунктов, а через одиночные checkbox, или же более гибко, благодаря редактируемости html
Какой-такой редактируемости HTML?
T>6)Installing T>ProgressBar может бвть переделан как человеку вздумается. Хоть превращением одних картинок в другие, сборкой мозаики или же обычной полоской.
То есть, реализация самого важного в инсталяторе — индикатора состояния — будет реализовываться через одно место? Нет уж, увольте. Где там нежно любимый мною NSIS?...
T>Итог T>InstallShield — Большая серая инсталляция. T>Мой инсталлер — Маленькая стильная инсталляция.
Zend Optimizer 2.5.7 Windows — 2.89 мегабайта, скачивается с www.zend.com. Упакован InstallShield визардом. 3 мегабайта — это весьма маленькая программа. Причем инсталятор умеет определять уже установленные версии программы, сносить их по мере надобности, совершать rollback и uninstall.
Далее. Такая инсталяция не серая, а стандартная. Мне, да и 99.9% юзверей тоже, не нужна стильная инсталяция. Им нужна привычная функциональная инсталяция, что InstallShield, например, да и NSIS тоже, предоставляют.
T>Все преимущества Install Shield не нужны для десятков тысяч программ, распространяемых через инет. Не нужен Repair, Serial, Выбор компонент и все другие возможностями, которыми всё-равно никто не пользуется.
Repair, может, никем и не используется.
Serial — нужен для TrialWare и ShareWare.
Выбор компонент — см. Winamp. Выбор компонент не всегда обозначает выбор устанавоиваемых програмных компонент.
А вот rollback (очистка при прерванной инсталляции), грамотная регистрация в системе и корректный uninstall нужен в любом случае.
T>Итак, если кто будет отвечать на этот месаг, то напишите по строчкам преимущества InstallShield,.. для маленьких программ, распространяемых через инет. И к каждому преимуществу пример, где и как это может быть использовано.
см. выше.
Ну и в догонку. Пользователю нужна во-первых, функциональность, во-вторых, узнаваемость, в третьих, стандартное поведение, в-четвертых прибамбасы.
T>Все преимущества Install Shield не нужны для десятков тысяч программ, распространяемых через инет. Не нужен Repair, Serial, Выбор компонент и все другие возможностями, которыми всё-равно никто не пользуется.
T>Итак, если кто будет отвечать на этот месаг, то напишите по строчкам преимущества InstallShield,.. для маленьких программ, распространяемых через инет. И к каждому преимуществу пример, где и как это может быть использовано.
Основное преимущество настоящих инсталляторов — это возможность потом корректно снести твою программу. Все эти супергениальные изобретатели инсталлеров всегда делают одни и те же ошибки. Навскидку:
1. Некорректное поведение при запуске из-под ограниченного пользователя
2. Неумение откатиться назад при сбое инсталляции
3. Неумение корректно удалиться, когда пользователь убедится, что опять скачал полный суксь
4. Неумение взаимодействовать с апплетом контрольной панели Add/Remove programs
5. Неумение корректно удаляться при использовании shared DLL.
5. Неумение работать в тихом режиме (без взаимодействия с десктопом)
6. Прописывание ярлыков куда попало (Start menu/Desktop/Quick launch) без спросу
7. Неумение работать с нестандартными расположениями стандартных фолдеров (%windir%, %programfiles%, %userprofile%)
8. Неумение корректно детектировать наличие пре-реквизитов (сторонних программ, от которых зависит работа устанавливаемой).
Про умение поддерживать административную инсталляцию, умение регистрировать так называемые advertisements, т.е. функции, инсталлируемые при первом обращении, и прочую муть типа автоапдейтов через интернет, я даже не говорю. Потому, что мы говорим о маленькой программе. Тем не менее, инсталляция современного софта — это целая наука.
Интерфейс инсталлятора маленькой программы должен быть прост как угол дома. Иначе он в любом случае будет весить лишнего, а мы тут считаем каждый IP-пакет даунлоада.
Для маленьких программ, распространяемых через инет, существует ровно один вариант (для Windows). Это msi. Потому, что все вышеупомянутые умения встроены в специальную программу, которая таки есть на каждой win-машине. Но ты не угадал — это не IE, а Microsoft Installer. Я тебя уверяю — наколеночный инсталлятор маленькой программы ты ни в жизни не сделаешь меньше, чем .msi. При этом функционал, который я написал выше, ты запаришься реализовывать. Даже простейшее удаление залоченного файла требует определенных навыков и умений.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Кё>Повторюсь, для "маленьких программ", коих куча на download.ru, которые в большинстве своем бесплатные, что отражает серьезность, с которой они разрабатывались, и которые активно используют немногие ибо в большинстве своем они не очень нужные, недоработанные, глючные, и т.д., можно использовать все что угодно, вплоть до ZIP/RAR sfx или распространения без инсталлятора вообще.
В истории того же NSIS написано, что они распространяли Winamp, как sfx zip, по-моему. Потом возникли вопросы с лицензией и им пришлось писать свой собственный инсталятор. Кстати, для маленьких программ весьма неплохой
... << RSDN@Home 1.1.4 beta 4 rev. 0>> ... <<Winamp is playing "Что играет? Где играет? Где ВинАмп, я вас спрашиваю?">> ...
A>>... За что я люблю Зе Мышь и Оперу — шустрая, компактная, удобная и никаких приблуд вроде хтмлей всяких. В отличие от того же IE, Outlook, Thunderbird и Mozilla.
R3>В IE есть приблубы?
У Microsoft везде есть приблуды
R3>И сдается мне, что Thunderbird и Mozilla у тебя элементарно не настроены, вот и тормозят. Например, ты знаешь, что при сворачивании окна Thunderbird, он освобождает занимаемую память (свопит), а при разворачивании обратно считывает? И это настраивается.
Своп — это конечно здорово, но это — лишь лечение "симптома", но не самой "болезни". А вообще, я описался, извиняюсь, — Netscape 7.1, что в общем то же самое, что и Mozilla 1.4. И я так подозреваю, картина в Mozilla та же (XUL — все-таки штука серьезная). А компьютер у меня по нынешним меркам не особо мощный — P4-1600, 256 ОП.
Так уж устроен человек, что к хорошему он быстро привыкает и так же быстро перестает это замечать (ценить). А вот плохое (даже не очень сильно плохое) всегда на виду и от него человек стремится как можно быстрей избавиться. Вот Netscape сделал красивый интерфейс и я это оценил. Но слижком уж много этот интерфейс кушает. И кушает не один раз, а постоянно. И это я тоже "оценил". С другой стороны, у Opera тоже скины, но они не столь требовательны к ресурсам. И даже 100-150 открытых окон (да, именно так, но так надо!) не засатавляют серьезно задуматься процессор, в отличие от Netscape. Да, XUL — мощное и довольно универсальное средство. А универсальность всегда требует жертв. Только вот кому это надо? Мне лично — нет.
Вообще, вам, как программистам, должа казаться странной идея этого "html-движка". Потому что любой нормальный программист стремится максимально возможно все оптимизировать. Сами подумайте — вы один(!!!) раз пишите этот html-интерфейс, а потом, если повезет (т.е. если программа получит распространение), тысячи, сотни тысяч раз этот интерфейс будет воссоздаваться из html в окна, элементы и т.п. Сотни тысяч раз эта двига будет разбирать текст, вычислять позиции элементов и делать кучу другой, в общем-то ненужной, работы. Миллиарды процессорных тактов будут потрачены просто зря! И ежу понятно, что эффективней будет все это дело просчитать один раз, во время разработки. Да и само программирование от этого усложнится, если брать за основу IE. Да и вообще, html — это язык разметки гипертекстов. Не стоит его пихать везде, где только можно. Microsoft это уже делала (всякие глупости вроде Active Desktop), а толку... Если уж так хочется красоту навести, то даже самый дубовый способ — нарисовать весь дизайн, вывести его в окно и обрабатывать mousedown/mouseup в различных областях (кнопки, например), будет довольно эффективен и прост в реализации. В любом случае, не уже ли нельзя сделать напрямую то, что можно сделать в html? Ну напишешь ты дизайн не за 15 минут, а за день-два, ну три, да хоть неделю! По сравнению с тем временем, что ушло на разработку самой функциональности, это — ничто. Конечно, если таковая имеется, а иначе, даже со всякими рюшечками, этот "продукт народного творчества" и даром никому не будет нужен. Верно и обратное — если программа полезна, то она будет пользоваться спросом вне зависимости, переливается ли у нее в окошке радуга, падают ли снежинки и пр. дрянь (что, кстати, наоборот раздражает), или нет. Достаточно сделать просто нормальный (а главное — функционально простой) дизайн, да хоть как в Word.
Что касается "революционного инсталлятора" от tiberius, то у него есть два пути: либо он как очередная поделка затеряется в просторах Сети, либо, если получит какое-то признание, разовьется до той же функциональности, что и промышленные, но только в бОльших размерах (из-за того самого mshtml), из-за чего все равно рухнет. Мне так кажется, что первый вариант куда более реален. Просто парень пока наивен и полагает, что он изобрел то, до чего другие почему-то никак не додумались. И у меня такое было. Но это пройдет
A>Вот Netscape сделал красивый интерфейс и я это оценил. Но слижком уж много этот интерфейс кушает. И кушает не один раз, а постоянно. И это я тоже "оценил". С другой стороны, у Opera тоже скины, но они не столь требовательны к ресурсам. И даже 100-150 открытых окон (да, именно так, но так надо!) не засатавляют серьезно задуматься процессор, в отличие от Netscape.
Да, это факт Так что новые layout-движки не за горами.
A>Сами подумайте — вы один(!!!) раз пишите этот html-интерфейс, а потом, если повезет (т.е. если программа получит распространение), тысячи, сотни тысяч раз этот интерфейс будет воссоздаваться из html в окна, элементы и т.п. Сотни тысяч раз эта двига будет разбирать текст, вычислять позиции элементов и делать кучу другой, в общем-то ненужной, работы. Миллиарды процессорных тактов будут потрачены просто зря!
Да... Почти везде все эти XML+CSS и JavaScript можно преобразовать в простой C++ код. Кстати, что касается транслируемости JS, то .Net со своим рефлекшеном эту проблему на 90% решает
A>Если уж так хочется красоту навести, то даже самый дубовый способ — нарисовать весь дизайн, вывести его в окно и обрабатывать mousedown/mouseup в различных областях (кнопки, например), будет довольно эффективен и прост в реализации.
Увы, это только в простейшем случае.
1) Если программа локализуется, то в одном языке кнопка будет "Вперед!" в другом — "Агтыдымканашмытукатыгыдымбаран!" и как тым быть? Ты думал, radiobutton будет всегда однострочной, а окажется — нет...
2) Поддержка текста, в котором смешаны RTL и LTR, уже требует кое-каких усилий. Благо есть Uniscribe в последних версиях IE (и винды), но и с ним работы куда больше, чем простой DrawText раньше.
3) В случае, когда контролы/панели каким-нибудь сложным образом выравниваются по правому краю, укладываются в стопки и т.п. добавление нового контрола потребует опять браться за голову двумя руками и все это пересчитывать (все свои руками сделанные алгоритмы layout-а). Так что от XML никуда, просто надо сделать его компилируемым.
A>В любом случае, не уже ли нельзя сделать напрямую то, что можно сделать в html? Ну напишешь ты дизайн не за 15 минут, а за день-два, ну три, да хоть неделю!
Проблема в том, что дизайн можешь делать не ты, а дизайнеры, а они будут согласовывать, переделывать... Им хочется — просто добавить промежуток в 3 пикселя, а тебе это выльется в переписывание своего алгоритма layout-a. Зато многие из них знакомы с HTML+CSS, так что им можно было бы и XUL доверить (наверное).
Re: Новое направление программирования - Просто, красиво, уд
От:
Аноним
Дата:
16.03.05 01:20
Оценка:
Здравствуйте, tiberius, Вы писали:
T>Всё это решается одним махом. Одним простым шаблоном программы.
Подобная штука уже давным-давно написана.
И написана она скандально известным Bill SerGio,
и называется она VSkins.
Он как раз и учудил сделать из IE универсальное приложение =)
Получилось из этого довольно странная и бесполезная штука.
Re: Новое направление программирования - Просто, красиво, уд
От:
Аноним
Дата:
23.01.07 13:54
Оценка:
Здравствуйте, tiberius, Вы писали:
T>Программистам — дочитайте до конца. T>Особенно это касается самых умных программистов с большими претензиями на мировое господство
T>Наверняка многие люди сталкивались с проблемой: T>когда надо было написать маленькую, удобную, красивую программу, T>а знаний для написания не хватало. Приходилось "перелопачивать" T>большое количество литературы для написания какого-либо простого действия.
T>/* T>Каждое десятое сообщение на форуме рсдн T>Как изменить стиль progressbar? Как добавить на форму эту фигню? T>Как разместить в программе браузер? Как проверить обновления через инет?... T>*/
T>Всё это решается одним махом. Одним простым шаблоном программы.
T>Вот требования к нему. T>1)При написании программы не должны использоваться T> сложные конструкции и интерфейсы типа COM, ATL, MFC, ... T>2)Программа должна занимать примерно от 10 килобайт места T>3)Программа должна отображать все основные реСтилизованные конструкции T> типа listbox, button, radiobutton без каких-либо знаний у программиста в WinAPI и т.д. T>4)Ну и наконец программа должна работать с интернетом: авторегистрация, обновления и т.д. T>опять-таки не требуя особых познаний программиста в протоколах.
T>Как-же всё это реализовать?
T>Ответ прост. Достаточно взять шаблон программы в которой реализован браузер на весь экран T>и обмен данными между javascript и cpp
T>Сразу вся нагрузка с пользовательского интерфейса и работы с интернетом уйдёт в HTML, T>а cpp будет выполнять локальные функции типа доступа к файлам и т.д. T>Например смотрю в свои дистрибутивы, беру проги все подряд: T>3dMark — Получится стильный интерфейс на html, а тастирующая часть на CPP T>PowerStrip — Интерфейс на HTML был бы значительно красивее и удобнее, T> а при этом все системные функции остались бы в теле проги. T>HTML2CHM — занимает 900 кб. А, если бы программа была написана с этого шаблона, T> то объём составил бы 20-30кб
T>А, если подумать сколько программ в России не было написано из-за сложности T>программирования форм, интерфейсов и т.д, большого объёма программ в среде C Builder.
T>Не надо только писать сюда советы типа "зайди на firststeps.ru, там mfc подробно расписано на 3769 страниц"
T>Я пока вижу у этого шаблона один очень большой недостаток: он ещё не создан T>У меня есть исходники программ, реализующих все необходимые функции. T>в zip 200кб или в rar 80кб T>Осталось объединить всё это воедино.
T>Получается СуперЗадачка
T>Условие T>Сделать программу отображающую html страницу на всю форму. T>Не должно быть бордера, конт меню и т.д.
T>Должны быть функции взаимодействия JavaScript и CPP
T>Получится отличный шаблон маленькой программы T>с возможностями CPP, но с интерфейсом HTML.
T>Программы, основанные на этом шаблоне будут занимать мало места T> и будут поддерживать элементарную систему смены скинов.
T>Человек, написавший этот шаблон станет просто T>родоначальником нового направления в программировании. T> — Методов создания очень удобных, стильных и простых в написании программ.
T>Желательно написать прогу поверх шаблона LittleTask(WinAPI, 2.5kb exe)
T>Моё мыло, если что tiberius@fasthtm.com
Народ а вы не интересуетесь новыми технологиями? например в новой версии Windows Vista есть такая штука называется sidebar для него можно делать gadget. Так вот, это то, что вам надо.
Re: Новое направление программирования - Просто, красиво, уд
Пока не перешёл на дотнет, у меня была мысль сделать "продвинутый" базовый класс для HTML-диалогов, ибо писать нормальный юзер-интерфейс на MFC — это жаль своего времени, потраченного на всякую фигню.
Прыгай на дотнет, там всё проще, и лэйауты всякие есть, и контрол любой написать как 2 пальца об асфальт и т.д. Например, контрол типа закладок в Outlook 2003 на HTML красиво не сделаешь — динамика не та, а на дотнет 2-3 дня максимум на подобный контрол, да еще вместе с дизайн-тайм поддержкой, и всё получаешь в лучшем виде. Или например, есть такая штука, как редактируемые гриды — не особо разбежишься в HTML. Или, например, всякие pop-up, типа тайм-пиккеров, выпадающих калькуляторов или обычных менюшек?
В принципе, у меня такие мысли возникали именно из-за удобного лэйаута в HTML, и лёгкости украшательства заднего фона как всей формы, так и любого отдельного элемента. В дотнет все эти возможности есть уже готовые, так что HTML отпал сам по себе.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Новое направление программирования - Просто, красиво,
Здравствуйте, tiberius, Вы писали:
T>Кстати как из hta вызывать функции dll? Это было бы одним из простых решений задачи
Никак, раньше можно было, но это было во-первых, очень давно, а во вторых — эту дыру закрыли еще в 98-х виндах. Захости на странице COM-объект, безопасный для скриптинга, и через него всё делай.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: Новое направление программирования - Просто, красиво, уд
Нда... прочитал весь тред, впечатление тягостное...
вкратце впечатление такое — tiberius, который не знает практически ничего, похоже никогда не учавствовал в каком либо серъезном проекте, не имеет мало мальски приличного опыта программирования — ничего не хочет слушать от людей гораздо более опытных и серъезный.... а устраивает какой то детский сад с неверными выводами и демонстрацией никому не нужных мнимых плюсов...
далее конкретика почему я сделал такие выводы:
1. tiberius утверждает что знает досконально DHTML и javascript, больше ничего знаеть не хочет, беглого взгляда на приведенные им исходники достаточно чтобы понять что уровень javascript и вообще концепций программирования — на уровне: прочитал книгу "Как изучить яваскрипт за 21 день" + скачивание большого количества кода с сайтов куда его такие же специалисты положили
2. утверждение что ЕГО архиватор жмет лучше чем rar — это вообще смешно.
3. полная уверенность что IE занимает 50кб, довожу до сведения что IE занимает МНОГИЕ МЕГАБАЙТЫ.
все ему говорят что HTMLLayout занимает 500кб движок — это значит что ОДИН раз надо скачать 500кб dll, после этого можно качать многие тысячи программ по 10-50 кб на этом движке и они будут работать, он этого просто не понимает вследствие полного незнания что такое DLL
и т.д. и т.п
и теперь рассказываю для tiberius — такое решение ДАВНО существуют на всех машинах уже давно есть IIS, или его можно туда поставить, если тебе нужен такой красивый интерфейс и эти мнимые плюсы реализовывай программы как веб-приложения, при этом ты получишь многие плюсы в придачу —
1. можешь использовать ЛЮБЫЕ back-end (ASP.NET, Perl, PHP, CGI и т.д )
2. можешь ставить программы локально и это будет полный аналог твоего предложения, НО теперь проникайся куда ушел твой самый главный плюс, а именно маленький размер программ — ТЫ МОЖЕШЬ ВООБЩЕ НИЧЕГО НЕ УСТАНАВЛИВАТЬ а ходить на свои программы прямо в нете, твои документы и приложения будут хранится на хостинге и ты с любой машины, с наладоника, со смартфона, с простого сотового наконец. в любой точке мира можешь с ними работать, они будут работать на любой системе хоть unix, хоть symbian, если правильно сделаны.
+ еще много чего
короче не надо придумывать корявых велосипедов, возьми хороший.