Strona 1 z 1

[Delphi] Wygaszacz ekranu

: 24 lut 2012, 9:59
autor: urban92
Wygaszacz ekranu w postaci zegarka

Patrząc sobie dzisiaj wieczorem na ekran swojego serwera na którym przewijał się jak zwykle niewielki zegarek co chwila zmieniający pozycję postanowiłem podzielić się z wami pewną historią. Historia ta zaczęła się dawno temu od błahostki. Nie mogłem znaleźć fajnego i funkcjonalnego wygaszacza ekranu w postaci zegarka. Wszystkie wygaszacze jakie znalazłem były albo brzydkie albo przeładowane bajerami albo za bardzo obciążały komputer który przecież podczas nic nie robienia powinien mieć zasoby np. na prace jakiś programów w tle. Postanowiłem więc że sam sobie napiszę wygaszacz.

Zadanie banalnie proste. Windowsowy wygaszacz ekranu to w uproszczeniu po prostu plik exe ze zmienionym rozszerzeniem. A bez uproszczenia trzeba dodać procedury odpowiadające np. ustawieniom i podglądowi w oknie ustawień i nazwie na liście wygaszaczy, ale i bez tego wygaszacz działa poprawnie. Kierowałem się gotowym poradnikiem http://daa.pl/hm4 i szkieletem http://daa.pl/hm5

Wygaszacz jest oparty na banalnie prostym pomyśle. Wyświetla godzinę i datę na czarnym tle. Bez żadnych animacji, dodatków i pierdółek w 3D, po prostu zegar. Pozycja tekstu (a raczej panelu z labelami) zmienia się co 10 sekund na losową, a wraz z nią kolor tekstu zmienia się na losowy. Dzięki temu ten pozornie nudny program nigdy nie wygląda tak samo. Program praktycznie nie pobiera ramu ani użycia CPU.

Obrazek Obrazek Obrazek

Obrazek

I tu można by zakończyć opowieść gdyby nie to że pewnego razu miałem kaprys zrobienia wersji 64 bitowej. Przeniesienie projektu do Lazarusa który niby jest kompatybilny z Delphi wcale nie jest takie proste, ale z wersji na wersje to open source'owe środowisko jest coraz bardziej przyjazne. Chyba nie muszę mówić że tworzenie 64 bitowej wersji tak prostego programu to sztuka dla sztuki, ale ja lubię mieć x64 gdzie tylko się da. Wersja 64 bitowa posiada kilka usprawnień m.in wywaliłem niepotrzebne już w wersji x86 procedury odpowiadające za zabezpieczenie wygaszacza hasłem (było dla zachowania kompatybilności z Windows 9x).

Obrazek

Napisałem też wersje dla ARM Windows CE (testowałem na swoim GPS Lark 35.7). Także w lazarusie.

Kilka dni temu naszła mnie ochota na odpalenie tego samego wygaszacza na 486 pod Windows 3.1. Po wielu próbach wpadłem na pomysł że przepisze kod do jakieś starej jak świat wersji Delphi. Programy 16 bitowe pozwala tworzyć Delphi 1.0, w sumie fajna sprawa, można je zainstalować na XP nawet obok innej wersji Delphi, wszystko zrobione w 16 bitach. Teoretycznie można każdy program napisany w delphi przepisać pod windows 3.1. Z powodu ograniczeń win16 i starego delphi wygaszacz został uproszczony, nie ma np. okna konfiguracyjnego. Swoje zadanie czyli wyświetlanie zegara z datą i zmiana pozycji i kolorów wykonuje tak samo jak wersje dla nowszych architektur.

Używam tego wygaszacza na wszystkich komputerach jakie mam, a także instaluje go np. jak komuś naprawiam komputer. Wiele osób chwali go sobie. Jak ktoś chce to wyśle wersje na wiele monitorów.

Download

Wersja 16 bit:

http://www.4shared.com/file/aI78-aG-/ZEGAR16.html

Wersja 32 bit:

http://www.4shared.com/file/Mm0qjdvH/zegar32.html

Wersja AMD64:

http://www.4shared.com/file/O1g_KHai/zegar64.html

Wersja ARM:

http://www.4shared.com/file/L7KYrFDJ/zegar_arm.html

Kody źródłowe:

http://www.4shared.com/zip/HdhfXhsR/zegar_kod.html

Re: [Delphi] Wygaszacz ekranu

: 24 lut 2012, 11:38
autor: Conrado967
No kto by pomyślał że taki prosty wygaszacz ma taką historię. Był chyba w Sigmie i stamtąd sobie go zapożyczyłem, ale po drodze farmatów gdzieś się zawsze zawieruszał. Dzięki za udostępnienie.

UP/Chociaż nie, ten z Sigmy był inny, ale także był dobry.

Re: [Delphi] Wygaszacz ekranu

: 24 lut 2012, 14:41
autor: Codemajster
Bardzo dobry wygaszacz.Polecam!

Re: [Delphi] Wygaszacz ekranu

: 24 lut 2012, 15:11
autor: Ult1me
Wygaszacz fajny, ale ja już od kilku lat w ogóle z nich nie korzystam. Ale Ult1me approves :D

Re: [Delphi] Wygaszacz ekranu

: 24 lut 2012, 15:47
autor: Rublik
Ult1me pisze:Wygaszacz fajny, ale ja już od kilku lat w ogóle z nich nie korzystam. Ale Ult1me approves :D
Ja również daję +225 C-QUAM mimo, że już nie pamiętam kiedy ustawiałem jakiś wygaszacz :P

Re: [Delphi] Wygaszacz ekranu

: 24 lut 2012, 15:48
autor: bsystem
/me od jakiś 2-3 lat nie widział wygaszacza na domowym komputerze na oczy. Wolę żeby po tych 10 minutach się od razu wyłączał monitor ;s

Re: [Delphi] Wygaszacz ekranu

: 24 lut 2012, 15:59
autor: pc.qwerty
Przeportuj jeszcze na OS X'a :trollface:

Ja natomiast jako wygaszacza używam Fliqlo ale rzadko ma on okazję się włączyć :trollface:

Re: [Delphi] Wygaszacz ekranu

: 24 lut 2012, 16:59
autor: jedrekk
W sumie to wygaszacze mają sens tylko na CRTkach bo w LCD to wszystko jedno czy ekran wyświetla pulpit czy jakiś czarny obraz.