Форум: "Прочее";
Текущий архив: 2009.10.25;
Скачать: [xml.tar.bz2];
ВнизСупер-пупер-мега-сплэш Найти похожие ветки
← →
Юрий Зотов © (2009-08-17 21:38) [0]http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1411
Прошу понять меня правильно - это не реклама и не пиар, а информация для использования в своих проектах всеми желающими.
← →
Юрий Зотов © (2009-08-17 21:49) [1]Забыл добавить - мысль написать эту статью была навеяна веткой
http://delphimaster.net/view/1-1249326627/
и одним из старых проектов, в котором заставка именно так и была сделана - без VCL и в отдельном потоке.
← →
@!!ex © (2009-08-17 21:52) [2]Так эта, есть же сплэш от Andy... правда ссылку запамятовал, хорошо работает...
← →
Юрий Зотов © (2009-08-17 21:58) [3]> @!!ex © (17.08.09 21:52) [2]
Я думаю, что разных сплэшей - море. Но в том проекте, откуда был выдернут этот пример, сплэш по ряду причин был нужен слишком специфический, поэтому пришлось писать свой. Прочитав ветку Стаса я о нем вспомнил - ну и решил выложить. Упростив, конечно.
← →
KilkennyCat © (2009-08-17 22:07) [4]
> Юрий Зотов ©
Главное - вовремя! На днях понадобится. Спасибо, с меня пиво.
← →
Суслик_ (2009-08-17 22:54) [5]
> KilkennyCat © (17.08.09 22:07) [4]
>
>
> > Юрий Зотов ©
>
> Главное - вовремя! На днях понадобится. Спасибо, с меня
> пиво.
Ты еще до Москвы доедь.
Дядя Юра. Я еще потерзаю твой сплеш. Мой, собака, дергается (мне на сплеше еще нужно было информацию обновлять) - не до конца, я видимо, филосовию invalidaterect просек. Поэтому буду учиться у тебя. Пиво самой собой.
← →
Суслик_ (2009-08-17 22:57) [6]Забыл смайлики добавить для обоих.
:)
и
:)
← →
KilkennyCat © (2009-08-17 23:02) [7]
> Суслик_ (17.08.09 22:54) [5]
ну, эт не проблема... через месяц снова буду проезжать...
← →
oldman © (2009-08-17 23:29) [8]Прилагаемый архив содержит 3 каталога:
Source (исходники DLL и демо-проекта) ;
Bin (откомпилированные в Delphi 7 DCU — реально не нужны, но так принято);
Release (DLL и демо-проект — можно сразу запустить и посмотреть).
Архив-то где?
:)))))))))))))
← →
oldman © (2009-08-17 23:30) [9]Пардон, я тормоз!
:)
← →
TIF © (2009-08-17 23:51) [10]Вчера увидел заголовок статьи на королевстве... Подумал что старая, на дату внимания не обратил. Сегодня увидел здесь тему, понял что она новая, пошёл читать )))
> Готовим картинку в формате BMP и обзываем ее файл SplashBmp.
> bmp
Ну для примера нормально, но на практике BMP - это зверско. Лучший вариант - PNG: и без искажения, и размер маленький, особенно если через PngCrush пропустить, "пробрутив" все варианты сжатия:pngcrush-1.6.15.exe -rem alla -reduce -brute image_input.png image_output.png
И альфа-канал есть (хотя BMP с прозрачностью тоже в D2010 поддерживается).
Вариант похуже - JPG. Минусы: качество не оригинальное + размер может быть больше чем у PNG-шки. Плюс: размер может быть меньше PNG-шки :)
← →
Andy BitOff © (2009-08-18 00:18) [11]Ну а всё-таки прорекламируюсь =)
Моя реализация сплэша - http://bitoff.ru/asf-main
← →
Юрий Зотов © (2009-08-18 08:37) [12]Надо же - пример неожиданно превратился в коммерческий проект. Уже целых 2 пива заработал.
:o)
← →
ZeroDivide © (2009-08-18 08:39) [13]1. Не нужна отдельная dll для этого
2. написан без VCL (ради объема и скорости). Использовать WinApi, на мой взгляд, смысла нет... При компиляции к exe-шнику объем не сильно увеличится, а скорость... ну какая нафиг скорость? Борьба за сотые миллисекунды?
3. Такая сплеш - не модно. Модно чтобы че-нить выпирало, сверкало, отбрасывало полупрозрачные тени и т.п.
← →
Дмитрий С © (2009-08-18 08:55) [14]
> ZeroDivide © (18.08.09 08:39) [13]
+1
имхо пафосное фуфло
← →
Дмитрий С © (2009-08-18 09:01) [15]http://www.sakhgu.ru/vid/shlash.jpg
Ито лучше
← →
Хитрий Лис (2009-08-18 09:49) [16]Спасиба дядь Юра :)
У самого руки не доходили скомпилить все идеи вместе...
А есть ли желание собрать свои мелкие утилитки на одну страничку - как это сделано у Игоря или у Розыча ?
← →
Юрий Зотов © (2009-08-18 09:51) [17]> Дмитрий С © (18.08.09 08:55) [14]
Дмитрий, а Вам никогда не приходила в голову простая мысль о том, что при высказывании своего мнения выражения все же следут выбирать?
Жаль. Я был о Вас лучшего мнения.
← →
test © (2009-08-18 10:02) [18]Юрий Зотов ©
А эффект какие есть?
← →
Хитрий Лис (2009-08-18 10:04) [19]
> Юрий Зотов © (18.08.09 09:51) [17]
> Дмитрий, а Вам никогда не приходила в голову простая мысль ...
Не судите так строго - мальчики в нежном возрасте всегда хотят казаться старше... в данном случае имееи подражание тёме леблядеву...
Еще заметил странную особенность - чем лучше сплеш - тем более пустая и малофункциональная сама програмка :)
← →
Павел Калугин © (2009-08-18 10:09) [20]Юрий Сергеич, спасибо, бум изучать:)
← →
test © (2009-08-18 10:10) [21]Хитрий Лис (18.08.09 10:04) [19]
The Bat? ))
← →
MsGuns © (2009-08-18 10:12) [22]ИМХО, картинка в качестве заставки - все равно что телесетка. При достаточно долгом процессе загрузки и инициализации приложения предпочтительнее на заставке отображить информацию о текущем процессе хоть простым текстом, который меняется при переходе од одной стадии загрузки к другой (как в 1С например). В этом случае пользователь видит, что прога не "висит", а работает и даже более того - как скоро она "раздуплится". Было бы классно, если б была возможность поверх картинки (если уж без нее никуда) можно было бы писать нужный текст.
← →
test © (2009-08-18 10:17) [23]MsGuns © (18.08.09 10:12) [22]
Тогда надо создать окно на основном, которое изображает из себя бегунок, текст рисовать dc основного окна, и функцию написать чтобы текст в DC писала и бегунок двигала. Сохранение после общей перерисовки туда же. VCL то нет, кстати никак не могу понять чем VCL не устраивает?
← →
Andy BitOff © (2009-08-18 10:18) [24]
> MsGuns © (18.08.09 10:12) [22]
Всё уже укарадено до нас ;)
← →
Skyle © (2009-08-18 10:21) [25]Не надо показывать никаких окон вообще. При запуске программы надо сворачивать все окна и рисовать прогресс загрузки прямо на десктопе на любимой картинке пользователя.
← →
Хитрий Лис (2009-08-18 10:32) [26]
> test © (18.08.09 10:10) [21]
> Хитрий Лис (18.08.09 10:04) [19]
> The Bat? ))
Может вы будете смеятся - но да.
Считаю что лучшей версией TheBat была 1.4 или 1.7 точно не помню уже... Начиная с версии 2.0 TheBat стал более тормознутым, а начиная с версии 3.0 ко всеобщей торомзнутости добавились периодические проблемы с IMAP. Более старших уже и не видел - вся контора перешла на Thunderbird.
> MsGuns © (18.08.09 10:12) [22]
> При достаточно долгом процессе загрузки и инициализации приложения предпочтительнее на заставке отображить информацию о текущем процессе хоть простым текстом...
Вам наверняка нравиться процесс загрузки Линукса :) Еще в ранних версиях игрушек от id-Software было такое окно загрузки... мне нравилось.
> Skyle © (18.08.09 10:21) [25]
> Не надо показывать никаких окон вообще. При запуске программы надо сворачивать все окна и рисовать прогресс загрузки прямо на десктопе на любимой картинке пользователя.
Хорошая идея кстати - только вот сворачивать нужно не все окна - а свою программу - и сигнализировать о полной загрузке миганием значка в трее :)
← →
MsGuns © (2009-08-18 10:35) [27]И еще один минус картинки. Как я понял, Юрий предложил свое решение как УНИВЕРСАЛЬНЫЙ метод для разных приложений. В этом случае не кажется ли не совсем удачным рисование одной и той же картинки при запуске совершенно разных приложений. Допустим, я запускаю сразу три проги: бухгалтерскую, какую-нибудь "Планирование ресурсами" и "Анализ сетевого трафика" и вижу на мониторе три одинаковые картинки.
Я не критикую, ни Боже мой. Просто таким неуклюжим методом пытаюсь сподвигнуть Мастера на очередное оригинальное решение, коим тут же и воспользуются. И я в том числе :)
← →
test © (2009-08-18 10:36) [28]Хитрий Лис (18.08.09 10:32) [26]
В doom I, II красиво было консоль и процент загрузки wad файлов, в консоле.
← →
@!!ex © (2009-08-18 10:39) [29]Ребят, все что вы обсуждаете уже реализовано. ССылка в [11].
Сорсы открытые.
← →
Медвежонок Пятачок © (2009-08-18 10:39) [30]все это полумеры.
надо при запуске вообще ничего не запускать.
прописываться в авторан, делать ребут, подменив обои и сам сплэш винды:
"Внимание, сечас комп перегрузится и будет запущена моя мегапрограмма"
← →
Юрий Зотов © (2009-08-18 10:40) [31]> MsGuns © (18.08.09 10:12) [22]
Сергей, видимо, Вы не прочитали обсуждение и поэтому приняли пример за реальную программу.
:o)
Разве что-то мешает доработать этот пример? Ввести прогрессбар, эффекты и вообще что угодно?
Вот этот сплэш в реальном проекте:
http://webfile.ru/3848164
Как видите, с прогрессбаром.
==================
> All
Поясняю:
1. Ставилась цель сделать сплэш с нормальной прорисовкой. Всего лишь.
2. DLL была использована в качестве кода, разделяемого несколькими проектами. То есть - код один, а сплэши он может показывать разные и сколько угодно.
3. По ряду объективных причин (не только ради объема и скорости) было принято решение не использовать VCL.
4. Не стоит принимать пример за реальную программу.
5. Кто считает такое решение нормальным - может его использовать (или доработать по своему вкусу). Кто считает такое решение НЕ нормальным - может его НЕ использовать. Чес-слово, я не возражаю.
6. В любом случае хамство я считаю недопустимым. Для выражения своего мнения существуют нормальные слова и нормальный тон.
7. Все.
← →
Юрий Зотов © (2009-08-18 10:47) [32]> MsGuns © (18.08.09 10:35) [27]
> Допустим, я запускаю сразу три проги:... и вижу на мониторе
> три одинаковые картинки.
Люди, ну включите же голову, наконец! Ну кто вам мешает закомпилить картинку в экзешник, в нем же ее загрузить и передать хэндл картинки в DLL через параметры функции ShowSplash?
Неужели сложно? Там же доработок - на пять минут.
← →
Дмитрий С © (2009-08-18 10:47) [33]
> 5. Кто считает такое решение нормальным - может его использовать
> (или доработать по своему вкусу). Кто считает такое решение
> НЕ нормальным - может его НЕ использовать. Чес-слово, я
> не возражаю.
очень объективный аргумент
> 6. В любом случае хамство я считаю недопустимым. Для выражения
> своего мнения существуют нормальные слова и нормальный тон.
>
>
вот именно
← →
MsGuns © (2009-08-18 11:00) [34]>Юрий Зотов © (18.08.09 10:47) [32]
>Люди, ну включите же голову, наконец! Ну кто вам мешает закомпилить картинку в экзешник, в >нем же ее загрузить и передать хэндл картинки в DLL через параметры функции ShowSplash?
>Неужели сложно? Там же доработок - на пять минут.
Вы предложили идею или пример реализации идеи ? Если первое, то я могу предложить построить дом, выставив в качестве идеи кирпич и цемент. А дальше - "включайте голову". Если второе, то как бы подразумевается и сам процесс "строительства". Без обоев и люстр, но строительство ГОТОВОГО дома, пусть и не дворца.
← →
Юрий Зотов © (2009-08-18 11:01) [35]> Дмитрий С © (18.08.09 10:47) [33]
Это вместо "извините"?
Что ж, тем более жаль.
← →
Юрий Зотов © (2009-08-18 11:04) [36]> MsGuns © (18.08.09 11:00) [34]
Я предложил пример реализации сплэша с нормальной перерисовкой. Всего лишь. На новизну решения не претендую, поскольку ее и нет.
← →
Andy BitOff © (2009-08-18 11:07) [37]
> Юрий Зотов © (18.08.09 11:01) [35]
Да, Юрий. Вот я тоже, когда начинают ворчать мол, это не то и это не так, говорю: "Я же отдаю сырцы, делайте что хотите, а не нравится не пользуйтесь вообще", так ведь нет, еще и обижаются. Доходит до того, что я, типа обязан делать как они хотят.
← →
MsGuns © (2009-08-18 11:09) [38]Хорошо, тогда конкретизитрую вопрос:
Чем предложенный Вами способ лучше (оптимальнее, быстрее, эффективнее и т.д.) "классического", приведленного почти во всех учебниках Дельфи ?
← →
MsGuns © (2009-08-18 11:13) [39]>Andy BitOff © (18.08.09 11:07) [37]
Не надо выдумывать. Где тут было ворчание, не говоря уже об обиде ?
Была попытка предложить привести более гибкую реализацию, действительно полезную в реальных проектах.
← →
Andy BitOff © (2009-08-18 11:15) [40]
> MsGuns © (18.08.09 11:09) [38]
> Хорошо, тогда конкретизитрую вопрос:Чем предложенный Вами
> способ лучше (оптимальнее, быстрее, эффективнее и т.д.)
> "классического", приведленного почти во всех учебниках Дельфи?
А можно глянуть на пример классической реализации? Или имеется ввиду пример из демок?
Страницы: 1 2 3 4 вся ветка
Форум: "Прочее";
Текущий архив: 2009.10.25;
Скачать: [xml.tar.bz2];
Память: 0.56 MB
Время: 0.04 c