Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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
1-1220945342
Iris
2008-09-09 11:29
2009.10.25
настройки печати StringGrid-а


2-1251683194
Johnnnn
2009-08-31 05:46
2009.10.25
Цветной текст ДЛЯ richedit?


15-1251140688
Kerk
2009-08-24 23:04
2009.10.25
Предлагаю эти слова эпиграфом в потрепаловке повесить


1-1221645579
Int23
2008-09-17 13:59
2009.10.25
Можно ли перенести компонент из Д7 в Д2006


15-1251232204
Юрий
2009-08-26 00:30
2009.10.25
С днем рождения ! 26 августа 2009 среда





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский