Prawdziwe oblicze Informatyki. Tysiące linijek kodu i kompilatory które nigdy nie wybaczają.
Awatar użytkownika

urban92

Administrator
Posty: 5300
Rejestracja: 06 lut 2008, 22:25
Lokalizacja: Michalin, gdzieś w Polsce
Kontakt:
    Windows 7 Opera

Post24 lut 2012, 9:59

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
Obrazek
Moje maszyny:
Pokaż
Komputery używane na co dzień:

Stacja robocza (główny pecet):
Xeon E3-1240 v3 @ 3,4-3,8Ghz + Thermaltake Frio Silent 14
ASRock Z97 Extreme4
16GB Ram HyperX Fury 1866MHz CL10
Geforce GTX 960 2GB MSI + 2x Dell P2416D
SSD ADATA XPG SX8200 240GB NVMe
HDD 2TB WD Green (Dane) + 1TB WD Blue (VM)
Thermaltake Smart SE Modular 530W + Thermaltake Urban T31
Windows 10

Testowy-1:
Core i5 4570 @ 3,2-3,6Ghz + Thermaltake Contac 30
MSI B85-G43
8GB RAM HyperX Fury 1600MHz
Intel HD Graphics
SSD OCZ Vertex 4 128GB + Samsung 840 120GB (przełączane między sobą)
HDD 1TB WD Blue
OCZ GameXStream 600W (fanswap na zephyra 120mm) + SPC Gladius M40 + panel boczny z oknem
Windows 10 Insider Fast + OS do testów

Testowy-2 (warsztatowy):
Core i5-3450 3,1Ghz
Gigabyte GA-H61M-S1
6GB RAM DDR3 1333Mhz
Intel HD Graphics 4000
SSD Samsung 840 EVO 250GB
HDD 500GB Samsung F2G
Windows 7

Testowy-3 (stacja do testowania dysków ATA, obsługi LPT oraz zgrywania obrazu z karty TV):
Core 2 Duo E4700 @ 2,6Ghz
Gigabyte GA-945GCMX-S2
3GB Ram Kingston DDR2 533Mhz
GMA 950
HDD 500GB WD Black
Windows XP

Serwer rev.10:
HP ProLiant ML150 G6
2x Xeon X5570 2,93Ghz (2 CPU, 8 rdzeni, 16 wątków)
48GB Ram DDR3 ECC FB 1333MHz (6x8GB)
SSD 240GB Kingston A1000 M.2 NVMe
HDD 4x 3TB WD Red (RAID 10 6TB)
VMware ESXi 6.5

Terminal do monitoringu UPS i kamer:
HP T5740
Intel Atom N280 1,66Ghz
2GB RAM
2GB SSD
Debian 9

Laptop:
Dell Latitude E6440
Core i7-4700MQ @ 2,4-3,4Ghz
12GB Ram DDR3L 1600Mhz
Intel HD Graphics 4000 + AMD Radeon HD 8690M
SSD Samsung 860 EVO 250GB mSATA
HDD WD Blue 1TB
Windows 10


Komputery referencyjne do pokazów i testów systemów:

Sigma OS:
Athlon 64 3800+ @ 2400Mhz Venice + chłodzenie Cooler Master
Abit AX8
2 GB Ram DDR Kingmax 400Mhz
Geforce 7600GT Palit
HDD 80 GB Seagate 7200.10 ATA
Sigma OS 3.0

Windows 98 i stare gry:
Pentium III Katmai @ 500Mhz Slot 1
Asus P2B-F
256MB Ram SDRAM 100Mhz
Nvidia Riva TNT2 Pro
Sound Blaster Live! 5.1
HDD 40GB Samsung
Windows 98 SE

DOS, Windows 3.11 i oprogramowanie 16 bitowe:
Pentium 166 Mhz (P54C)
Micronics M55HI-PLUS
64MB RAM EDO
S3 Trio64V2/DX 1MB
Sound Blaster Vibra 16C
HDD 3GB WD
DOS 6.22 + Windows 3.11


Komputery używane rzadziej lub zabytkowe:

LGA775 dopakowane na maksa:
Xeon X5460 @ 3,8Ghz + Pentagram Karakorum
Gigabyte GA-P35-DS3R
8GB Ram OCZ + Goodram 800 Mhz CL5
Nvidia Quadro 2000 1GB
HDD 500GB Samsung F2G
Sharkoon Rebel 9 (Okno ze szkła + LED)
Windows 7

Athlon XP (mój pierwszy pecet):
Athlon XP 2000+ (Thoroughbred-B) 1667 @ 2100Mhz + Thermaltake TR-2
Soltek SL-75DRV5-C (Wymienione kondensatory, thx SzymekRak)
1GB Ram DDR 333Mhz
Radeon 9600 Pro
Sound Blaster Live! 5.1
HDD 80GB Samsung
Windows XP

Tualatin:
Pentium III-S Tualatin 1400 @ 1606Mhz + Arctic Cooling Copper Silent 3
Asus TUSL2-C
512MB Ram SDRAM 133 @ 153Mhz
Geforce FX5200
Sound Blaster Live! 5.1
HDD 40GB WD
Windows XP

K6 + Voodoo:
AMD K6-2 @ 550Mhz
Acorp 5ALI61
256 MB Ram SDRAM 100 Mhz CL2
3dfx Voodoo Banshee 16MB
HDD 40 GB Seagate 7200.4 ATA
Windows 98

Optimus:
Celeron Coppermine 1000 @ 1120Mhz
Procomp BVD1M
256MB Ram SDRAM @ 145Mhz
GeForce 2 MX 32MB
HDD 20GB Samsung
Windows Me (oryginalna naklejka na obudowie i pudełko z płytą)

Compaq P3:
Compaq Deskpro EP
Pentium III 600Mhz Coppermine Slot 1
320 MB SDRAM 100Mhz
Matrox G200 8MB
HDD 20 GB Samsung
Windows 2000

Compaq P2:
Compaq Deskpro PD
Pentium II 400Mhz Slot 1
320 MB SDRAM 100Mhz
ATI Rage Pro 3D 6MB (4MB + SIMM 2MB)
HDD 6 GB Quantum
Windows NT4

Compaq P1:
Compaq Deskpro 5133
Pentium 166 Mhz (P54CS)
128 MB Ram EDO (w 6 slotach)
Cirrus Logic 5434 1MB
HDD 6GB Quantum
Windows NT 3.51

Gulipin Am5x86 DX4:
AMD Am5x86 133Mhz
Dataexpert EXP8449
32 MB Ram SIMM (72 pin)
S3 Trio 2MB
HDD 2 GB Seagate ATA
Windows 95a

486 DX4:
AMD 486 DX4 100 Mhz
Chicony CH-471A
16 MB Ram SIMM (72 pin)
Trident TGUI9400CXI 2MB VLB
HDD 2 GB Seagate ATA
Windows 95a

486 DX2:
Intel 486 DX2 66 Mhz
Biostar MB-1433FA
8 MB Ram SIMM (30 pin)
Tritent TVGA9000 512KB
HDD 504 MB Quantum ATA
DOS 6.22 + Win 3.11

386:
AMD 386 DX 40 Mhz
Morse 386 M3
8 MB Ram SIMM (30 pin)
ATI VGA Wonder VGA 256KB
HDD 124MB ST3144AT
DOS 6.22 + Win 3.11

Zabytkowy laptop:
Compaq LTE Elite 4/50E
Intel SL486DX2 50Mhz
8 MB Ram
Karta graficzna WD (wiem, dziwne)
Matryca 640x480, 4 odcienie szarości
HDD Quantum 255MB
Windows 95a

Do tego masa innych gratów.

Awatar użytkownika

Conrado967

Zasłużony użytkownik
Posty: 1093
Rejestracja: 24 sie 2010, 20:45
Lokalizacja: Skorzów
Kontakt:
    Windows 7 Opera

Post24 lut 2012, 11:38

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.

Awatar użytkownika

Codemajster

Posty: 50
Rejestracja: 05 sty 2012, 18:45
Kontakt:
    Windows XP Chrome

Post24 lut 2012, 14:41

Bardzo dobry wygaszacz.Polecam!

Awatar użytkownika

Ult1me

Administrator
Posty: 2425
Rejestracja: 05 sie 2008, 14:48
Lokalizacja: Wrocław
Kontakt:
    Windows 7 Opera

Post24 lut 2012, 15:11

Wygaszacz fajny, ale ja już od kilku lat w ogóle z nich nie korzystam. Ale Ult1me approves :D
Komputery:
Spoiler
Pokaż
Laptop (mój główny komputer): Acer Aspire 5750G | Intel Core i3 2330M (Sandy Bridge) 0.8-2.2GHz | Intel HM65 | 6GB RAM DDR3 | Intel HD Graphics 3000 + nVidia GeForce GT540M (nVidia Optimus) | Crucial MX100 256GB SSD | Broadcom 802.11n Network Adapter | Broadcom NetLink Gigabit Ethernet | Realtek ALC269 (+Dolby Advanced Audio)

Laptop służbowy: HP ProBook

Komputer brata (mój stary): Intel Pentium DualCore E6300 (2x 2.8@1.6-3.25 GHz EIST, 64bit, Intel-VT) | Gigabyte EP43T-UD3L (P43, ICH10) | 2x2 GB RAM DDR3 1066MHz GoodRAM | Palit GeForce GT220 | 2x500 GB (Seagate + SpinPoint F3)

Stacja do napraw: Intel Pentium 4 630 (3.00@2.43 GHz, 64bit, HT, Prescott) | ASUS P5GPL (Intel i915, ICH6) | 2x512 MB RAM DDR1 Kingston (PC-3200) | Gainward GeForce 7300 GT 256 MB DDR2 | jakiś dysk :)

Komputer na części: Intel Pentium III 600 MHz Slot 1 | ASUS P3B-F | 128 MB SDR SDRAM | GeForce 2 MX400 (?) | Seagate 8.4GB PATA

Lumia 625
Dowódca Grupy Odwetowej Mafii C-QUAM, łączącej fanów fal długich, średnich i krótkich, nak***iania kabli j**anych, France Bleu Alsace, The Mighty KBC, Voice of Korea, Warszawskiej Radiostacji Centralnej z najwyższym masztem świata Konstantynowie koło Gąbina, oraz Radiowego Centrum Nadawczego z prawie najwyższymi masztami w Solcu Kujawskim

Rublik

Moderator
Posty: 2857
Rejestracja: 25 lut 2009, 16:11
Kontakt:
    Linux Opera

Post24 lut 2012, 15:47

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
Honorowy Członek Mafii C-QUAM
HP EliteBook 820

Awatar użytkownika

bsystem

Zasłużony użytkownik
Posty: 655
Rejestracja: 03 lis 2010, 16:44
    Macintosh Opera

Post24 lut 2012, 15:48

/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

Awatar użytkownika

pc.qwerty

Zasłużony użytkownik
Posty: 3277
Rejestracja: 01 lip 2010, 11:28
    Macintosh Opera

Post24 lut 2012, 15:59

Przeportuj jeszcze na OS X'a :trollface:

Ja natomiast jako wygaszacza używam Fliqlo ale rzadko ma on okazję się włączyć :trollface:
There is no cloud. It's just someone else's computer.

Awatar użytkownika

jedrekk

Administrator
Posty: 1152
Rejestracja: 01 sie 2008, 13:50
Lokalizacja: Gdańsk/Gorzów Wielkopolski
Kontakt:
    Windows 7 Opera

Post24 lut 2012, 16:59

W sumie to wygaszacze mają sens tylko na CRTkach bo w LCD to wszystko jedno czy ekran wyświetla pulpit czy jakiś czarny obraz.
Komputer do pracy: Intel Core i7 4770S | ASUS H87-PRO | 16 GB RAM DDR3 | nVidia GeForce GTX1060 6GB | Samsung 830 PRO 256 GB | 4x Seagate 7200.14 1000 GB RAID10 | Dell U2515H | Dell U2212HM
MacBook Pro Retina Early 2013: Intel Core i5 3210M | 8 GB RAM DDR3 | Intel HD4000 | SSD 256GB
+ iPhone Xr 64GB

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 2 gości