hallo,
Ik heb me de laatste paar weken geamuseerd mee het programmeren van een 32 bit windows screensaver.Het is nu klaar en werkt
het moeilijkste van allemaal is die "screensaver preview" functie (dit heeft me bloed zweet en tranen en ook veel gevloek) gekost maar hij werkt !
De screensaver tekent zo "dansende" pixels op uw beeldscherm (gebruikt wiskundige functies) sinus en pi en cosinus enzo
en de zogenaamde "settings dialog"
De screensaver is gemaak Borland Delphi 6 maar maakt ook veel gebruik van de windows api (microsoft)
download hier
vragen ? commentaar ? roep eens
Screensaver
- bke
- Elite Poster
- Berichten: 1008
- Lid geworden op: 22 apr 2004, 20:41
- Uitgedeelde bedankjes: 5 keer
- Bedankt: 6 keer
Netjes gedaan, deze staat nu ingesteld als mijn screensaver in plaats van de standaard XP screensaver
Ares: (CPU) AMD Ryzen 1800x (RAM) 16GB DDR4 (HDD) Samsung Spinpoint F1 1TB (SSD) Samsung 970 EVO 250 GB (VGA) NVidia GeForce 1050 Ti 4GB (OS) Windows 10 Pro
Apollo: (CPU) AMD FX 8300 (RAM) 8GB DDR3 (HDD) Samsung Spinpoint F1 1TB (SSD) Samsung 850 EVO 256GB (VGA) AMD Radeon HD 5850 (OS) Windows 10 Pro
Apollo: (CPU) AMD FX 8300 (RAM) 8GB DDR3 (HDD) Samsung Spinpoint F1 1TB (SSD) Samsung 850 EVO 256GB (VGA) AMD Radeon HD 5850 (OS) Windows 10 Pro
Ziet er inderdaad proper uit maar ik kan mijn instellingen niet aanpassen.
- Bijlagen
-
- screensaver.JPG
- Screensaver settings
- (7.67 KiB) 3502 keer gedownload
- Erik
- Elite Poster
- Berichten: 1321
- Lid geworden op: 15 sep 2002, 02:46
- Uitgedeelde bedankjes: 2 keer
- Bedankt: 18 keer
hallo,
tjien dat is raar krijg je ook een foutmelding zoals bijvoorbeeld
ook is het handig te weten welk operating system u hebt.Windows uiteraard anders zou het helemaal niet werken maar welke ? ik zit op windows xp professional zal em er hier eens afgooien en die downloaden en kijken wat er gebeurt normaal moet je die kleur kunnen kiezen (de achtergrond en de kleur van de pixels die getekend worden) maar bij u is dat dus duidelijk niet het geval
tjien dat is raar krijg je ook een foutmelding zoals bijvoorbeeld
Code: Selecteer alles
Class TSpeedbutton not found
Class TPanel not found
ook is het handig te weten welk operating system u hebt.Windows uiteraard anders zou het helemaal niet werken maar welke ? ik zit op windows xp professional zal em er hier eens afgooien en die downloaden en kijken wat er gebeurt normaal moet je die kleur kunnen kiezen (de achtergrond en de kleur van de pixels die getekend worden) maar bij u is dat dus duidelijk niet het geval
Registered Linux user #286313
Hey, neen ik krijg geen foutmelding, alleen dat leeg kadertje als ik de instellingen wil aanpassen. Ik gebruik Windows XP Pro als os, zonder service packs. Verder werkt de screensaver wel , alleen de instellingen kan ik niet wijzigen.
- Erik
- Elite Poster
- Berichten: 1321
- Lid geworden op: 15 sep 2002, 02:46
- Uitgedeelde bedankjes: 2 keer
- Bedankt: 18 keer
hallo,
yup u hebt gelijk dat venstertje verschijnt zonder de controls om de kleuren te kiezen.Ik heb dat bestand(Screensaver.zip) even erafgegooid want mee ne screensaver dat maar voor de helft werkt ben je niks he dit is een zogenaamde "basis functionality failure" eens zien wat we daaraan kunnen doen se
yup u hebt gelijk dat venstertje verschijnt zonder de controls om de kleuren te kiezen.Ik heb dat bestand(Screensaver.zip) even erafgegooid want mee ne screensaver dat maar voor de helft werkt ben je niks he dit is een zogenaamde "basis functionality failure" eens zien wat we daaraan kunnen doen se
Registered Linux user #286313
Erik schreef:hallo,
yup u hebt gelijk dat venstertje verschijnt zonder de controls om de kleuren te kiezen.Ik heb dat bestand(Screensaver.zip) even erafgegooid want mee ne screensaver dat maar voor de helft werkt ben je niks he dit is een zogenaamde "basis functionality failure" eens zien wat we daaraan kunnen doen se
Ok, veel succes
- Erik
- Elite Poster
- Berichten: 1321
- Lid geworden op: 15 sep 2002, 02:46
- Uitgedeelde bedankjes: 2 keer
- Bedankt: 18 keer
hallo,
Wel puur "programmeerbaar" gezien is dat te doen.In de realiteit echter is het gebruik van timers vaak de oorzaak van fouten.De windows api bevat twee functies SetTimer() en KillTimer() deze calls hoef je niet zelf te doen Delphi bevat een component TTimer die deze functies aanroept "achter de schermen" ik heb al eens geprobeer die tekensnelheid te manupuleren maar ik krijg een foutmelding
ik geef het zeker niet op omdat het 1 keer fout loopt maar dat kan nog wat duren voor ik dit aan het werk krijg
Wel puur "programmeerbaar" gezien is dat te doen.In de realiteit echter is het gebruik van timers vaak de oorzaak van fouten.De windows api bevat twee functies SetTimer() en KillTimer() deze calls hoef je niet zelf te doen Delphi bevat een component TTimer die deze functies aanroept "achter de schermen" ik heb al eens geprobeer die tekensnelheid te manupuleren maar ik krijg een foutmelding
Code: Selecteer alles
2.1 Date : Sat, 20 Nov 2004 22:15:48 +0100
2.2 Address: 0048FC42
2.3 Module : MYSCRE~1.SCR
2.4 Type : EAccessViolation
2.5 Message: Access violation at address 0048FC42 in module 'MYSCRE~1.SCR'. Read of address 0000031C.
ik geef het zeker niet op omdat het 1 keer fout loopt maar dat kan nog wat duren voor ik dit aan het werk krijg
Registered Linux user #286313
- Erik
- Elite Poster
- Berichten: 1321
- Lid geworden op: 15 sep 2002, 02:46
- Uitgedeelde bedankjes: 2 keer
- Bedankt: 18 keer
hallo,
heb al gevonden waar het fout loopt se.Wat ik probeer te doen is de gebruiker de "tekensnelheid" te laten selecteren door een TSpinEdit aan da dialoogvenstertje toe te voegen (een TSpinEdit is zo een editboxke mee aan de uiteinde een pijltje naar boven en onderen om een numerieke waarde op te geven)
omdat de TTimer komponent zich op een ander formulier bevind moet je daarnaar verwijzen met formname.timername.interval :=value en dat veroorzaakt de fout want als ik het interval op 120000 (twee minuten) tekent ie om de twee miuten (zoals zou moeten) als een timed event gebeurt verstuurt windows de message WM_TIMER die moet je eerst onderscheppen
ik blijf eraan prullen tot da gaat
heb al gevonden waar het fout loopt se.Wat ik probeer te doen is de gebruiker de "tekensnelheid" te laten selecteren door een TSpinEdit aan da dialoogvenstertje toe te voegen (een TSpinEdit is zo een editboxke mee aan de uiteinde een pijltje naar boven en onderen om een numerieke waarde op te geven)
omdat de TTimer komponent zich op een ander formulier bevind moet je daarnaar verwijzen met formname.timername.interval :=value en dat veroorzaakt de fout want als ik het interval op 120000 (twee minuten) tekent ie om de twee miuten (zoals zou moeten) als een timed event gebeurt verstuurt windows de message WM_TIMER die moet je eerst onderscheppen
Code: Selecteer alles
procedure CatchWindowsMessage(var Msg:TMessage);message WM_TIMER;
procedure TMainForm.CatchWindowsMessage(var Msg:TMessage);
begin
UpdateTimerTimer(Self);
end;
ik blijf eraan prullen tot da gaat
Registered Linux user #286313
- Erik
- Elite Poster
- Berichten: 1321
- Lid geworden op: 15 sep 2002, 02:46
- Uitgedeelde bedankjes: 2 keer
- Bedankt: 18 keer
hallo,
Een ramp mensen.Ik was daaraan bezig en tijdens het testen is men pc vastgelopen al die sourcecode verloren (heb op reset moeten duwen) mja das nu eenmaal iets wat kan gebeuren als ik twee computers had kon ik den ene gebruiken om te testen en den andere om souce code te schrijven maar ja zo rijk ben ik tot op heden nog niet
ik denk dat ik daarvoor eens wat raad ga vragen aan collega Delphi kenners
Een ramp mensen.Ik was daaraan bezig en tijdens het testen is men pc vastgelopen al die sourcecode verloren (heb op reset moeten duwen) mja das nu eenmaal iets wat kan gebeuren als ik twee computers had kon ik den ene gebruiken om te testen en den andere om souce code te schrijven maar ja zo rijk ben ik tot op heden nog niet
ik denk dat ik daarvoor eens wat raad ga vragen aan collega Delphi kenners
Registered Linux user #286313
-
- Erelid
- Berichten: 2117
- Lid geworden op: 15 sep 2002, 08:50
- Locatie: Zelzate Belgie
- Contacteer:
Een ervaren rot als jij zou dit niet mogen tegenkomen maar ja, wie ben ik om te oordelen.
Ik weet nog èèn van je commentaren bij de opbouw van de Userbase
Back up, Back up en nog eens...
Ik weet zeker dat je er wel een oplossing voor vind.
Greetz
Weetgraag
Ik weet nog èèn van je commentaren bij de opbouw van de Userbase
Back up, Back up en nog eens...
Ik weet zeker dat je er wel een oplossing voor vind.
Greetz
Weetgraag
"Carpe Diem"
-
- Deel van't meubilair
- Berichten: 29849
- Lid geworden op: 28 okt 2003, 09:17
- Uitgedeelde bedankjes: 446 keer
- Bedankt: 1985 keer
Erik schreef:als ik twee computers had kon ik den ene gebruiken om te testen en den andere om souce code te schrijven maar ja zo rijk ben ik tot op heden nog niet
Al eens gedacht aan Virtual PC of VMWare ?
Ideaal voor testen te doen... kan je heel eenvoudig images mee bouwen en restoren, zelfs met verschillende versies van het OS.
- Erik
- Elite Poster
- Berichten: 1321
- Lid geworden op: 15 sep 2002, 02:46
- Uitgedeelde bedankjes: 2 keer
- Bedankt: 18 keer
hehe Weetgraag,
de code van de screensaver was niet weg he.Alleen de nieuwe code die voor de "timed" dingen zou moeten zorgen was verdwenen.Ik gebruik voor zulke doeleinden gexperts dit is een set van Delphi ide experts (voor de mensen die dat niet weten een "expert" is een Delphi ide uitbreiding)onder andere is er een expert "backup project"...
Borland stelt (alleen in de enterprise en professional) versies van Delphi een complete API (application programming interface)ter beschikking met de naam "OpenToolsApi" hiermee kan je zulke experts bouwen
de timed dingen willen voorlopig nog niet werken
de code van de screensaver was niet weg he.Alleen de nieuwe code die voor de "timed" dingen zou moeten zorgen was verdwenen.Ik gebruik voor zulke doeleinden gexperts dit is een set van Delphi ide experts (voor de mensen die dat niet weten een "expert" is een Delphi ide uitbreiding)onder andere is er een expert "backup project"...
Borland stelt (alleen in de enterprise en professional) versies van Delphi een complete API (application programming interface)ter beschikking met de naam "OpenToolsApi" hiermee kan je zulke experts bouwen
de timed dingen willen voorlopig nog niet werken
Registered Linux user #286313