Screensaver

Plaats reactie
Gebruikersavatar
Erik
Elite Poster
Elite Poster
Berichten: 1321
Lid geworden op: 15 sep 2002, 02:46
Uitgedeelde bedankjes: 2 keer
Bedankt: 18 keer

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) :mrgreen: gekost maar hij werkt !

De screensaver tekent zo "dansende" pixels op uw beeldscherm (gebruikt wiskundige functies) sinus en pi en cosinus enzo

Afbeelding

en de zogenaamde "settings dialog"


Afbeelding

De screensaver is gemaak Borland Delphi 6 maar maakt ook veel gebruik van de windows api (microsoft)

download hier

vragen ? commentaar ? roep eens :mrgreen:
Registered Linux user #286313
Gebruikersavatar
bke
Elite Poster
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
Orcie
Plus Member
Plus Member
Berichten: 102
Lid geworden op: 26 jan 2004, 19:15

Ziet er inderdaad proper uit maar ik kan mijn instellingen niet aanpassen.
Bijlagen
screensaver.JPG
Screensaver settings
(7.67 KiB) 3502 keer gedownload
Gebruikersavatar
Erik
Elite Poster
Elite Poster
Berichten: 1321
Lid geworden op: 15 sep 2002, 02:46
Uitgedeelde bedankjes: 2 keer
Bedankt: 18 keer

hallo,

tjien dat is raar :cry: 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
Orcie
Plus Member
Plus Member
Berichten: 102
Lid geworden op: 26 jan 2004, 19:15

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.
Gebruikersavatar
Erik
Elite Poster
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
Registered Linux user #286313
Orcie
Plus Member
Plus Member
Berichten: 102
Lid geworden op: 26 jan 2004, 19:15

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 :)
Gebruikersavatar
Erik
Elite Poster
Elite Poster
Berichten: 1321
Lid geworden op: 15 sep 2002, 02:46
Uitgedeelde bedankjes: 2 keer
Bedankt: 18 keer

hallo,

die link werkt weer en nu verschijnt dat venstertje hier correct tis trouwens een nieuw gemaakt venstertje nu gaat dat werken :-)
Registered Linux user #286313
Orcie
Plus Member
Plus Member
Berichten: 102
Lid geworden op: 26 jan 2004, 19:15

Ja, nu werkt het :) Bedankt om het op te lossen.
Gebruikersavatar
Erik
Elite Poster
Elite Poster
Berichten: 1321
Lid geworden op: 15 sep 2002, 02:46
Uitgedeelde bedankjes: 2 keer
Bedankt: 18 keer

hallo,

Dat is een prioriteit he mee iets dat maar half werkt daar ben je niks mee dan zeggen de mensen bij zichzelf welke amateur heeft dat gemaakt :mrgreen:
Registered Linux user #286313
Weetgraag
Erelid
Erelid
Berichten: 2117
Lid geworden op: 15 sep 2002, 08:50
Locatie: Zelzate Belgie
Contacteer:

Nice work Erik,

Misschien teveel gevraagd na al je werk maar zou je de snelheid van de pixels ook kunnen aanpassen of is dit niet doenbaar??

Greetz
Weetgraag :wink:
"Carpe Diem"
Gebruikersavatar
Erik
Elite Poster
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

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 :wink: maar dat kan nog wat duren voor ik dit aan het werk krijg
Registered Linux user #286313
Gebruikersavatar
Erik
Elite Poster
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

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 :mrgreen:
Registered Linux user #286313
Gebruikersavatar
Erik
Elite Poster
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 :mrgreen:

ik denk dat ik daarvoor eens wat raad ga vragen aan collega Delphi kenners
Registered Linux user #286313
Weetgraag
Erelid
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 :wink:
"Carpe Diem"
ubremoved_539
Deel van't meubilair
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.
Gebruikersavatar
Erik
Elite Poster
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 :-(
Registered Linux user #286313
Plaats reactie

Terug naar “Development”