[VB6] Wekker

Pagina: 1
Acties:
  • 105 views sinds 30-01-2008
  • Reageer

  • Vulpecula
  • Registratie: April 2001
  • Laatst online: 18-08 21:00
Ik heb me vanmorgen weer eens voor de zoveelste keer verslapen :O . Onderweg zat ik te denken hoe ik dat kon verkomen. Ik bedag me opeens dat ik 24 uur per dag, 7 dagen in de week de pc aan had staan. Kan ik mooi een programma schrijven zodat er voortaan muziek ofzo wordt afgespeeld als ik moet opstaan. Aangezien ik een klein beetje kennis van Visual Basic 6 heb wil ik het liefste daarin zo'n wekkerprogramma maken. Het programma moet altijd op de achtergrond draaien, dus die komt in de systray te staan.

Ik heb wel eens met een timer in visual basic een digitale klok gemaakt. Maar volgens mij is die niet betrouwbaar. Kan iemand me tips geven hoe ik het beste kan controleren wat de juiste tijd op mijn systeem is? Ik ken ook wel de functie time, maar hoe zorg ik ervoor dat ie telkens blijft controleren of het nog niet tijd is om me wakker te maken?

Alle tips zijn welkom.

  • -FoX-
  • Registratie: Januari 2002
  • Niet online

-FoX-

Carpe Diem!

Dat je kan je gemakkelijk met een Timer & DateAdd-functie doen..
Gewoon controleren of beide tijdstippen overeenkomen, en dan je shell aanroepen met bijvoorbeeld je MP3-player

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 22:55

TeeDee

CQB 241

Ik had ook altijd hetzelfde probleem.
Wat had ik toen gedaan?
- statbar gedownload (kan checken op tijd, maar er zijn ook andere proggels natuurlijk)
- een geplande taak gemaakt die op een bepaald tijdstip een MP3 afspeelt.

En ziedaar, alles gedaan, zonder te proggen. :)

Met proggen:
Zorg dat je je tijd update via een TimeServer dus. (zal waarschijnlijk wel via sockets aan te roepen zijn)

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

offtopic:
Maar met mijn toch nog enigzins milieu vriendelijke gedachte gang wil jij ook nog is een versterker/pc speakers nachten aan laten staan...

  • Vulpecula
  • Registratie: April 2001
  • Laatst online: 18-08 21:00
Ik wil het liefste zelf programmeren. Leer ik het meeste van ;). Ik wil het zo maken dat je bijvoorbeeld per dag een andere tijd kunt instellen. Waar kan ik die datums het beste in opslaan? In het register? of een aparte db?

  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 26-06 10:37

OZ-Gump

terug van weggeweest

Andere oplossing: wekker aan de andere kant van de kamer en bak water boven je bed..... ;)

Ontopic:
Met een wekker is het slechts nodig dat elke minuut je tijd in je app synchroon blijft lopen. Dan kun je dus volstaan met een timer die redelijk ruim pollt. Als je Windows XP hebt wordt je tijd al automagisch gesynchroniseerd met een internet time-server (dubbelklik maar eens op je klokkie rechtsonder en dan tabblad Tijd).

Je kunt dan dus redelijk simpel een Shell aanroepen met een muziekje. Wat je ook kunt doen is de timer iets anders gebruiken, zodat 's middags rond 5 uur niet elke minuut gechecked wordt of jij nog niet je bed uit hoeft. Bijvoorbeeld als het verschil groter is dan een uur zet je de timer op 30 minuten. Als het verschil groter is dan 30 minuten, zet je de timer op een kwartier... etc.

Laatste oplossing: op het moment dat je op de 'wekker aan' knop klikt zet je de timer op precies zoveel seconden tot jij wakker moet worden. Hier ga je er echter van uit dat een timer net zo precies loopt als een zwitsers uurwerk en ik denk dat dat nogal tegen zal vallen.... ;)

My personal website


  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 26-06 10:37

OZ-Gump

terug van weggeweest

Vulpecula schreef op 11 april 2003 @ 10:52:
Ik wil het liefste zelf programmeren. Leer ik het meeste van ;). Ik wil het zo maken dat je bijvoorbeeld per dag een andere tijd kunt instellen. Waar kan ik die datums het beste in opslaan? In het register? of een aparte db?
Gebruik idd een ini-file of een reg-entry. Een db is denk ik enigszins overdreven, tenzij je voor het complete jaar alvast je wektijden erin wil zetten :D
Voor 5 waardes (hooguit 7) hoef je IMHO geen hele db op te zetten, bestandje is veeeeel makkelijker.

My personal website


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Pseudocode:
C++:
1
2
3
4
5
6
7
while forever
  NextAlarm = GetNextAlarm
  while NextAlarm > GetLocalTime(...)
    sleep 1 minute
  end while
  PlayMP3
end while

En ja GetLocalTime is een Win32 API call, GetNextAlarm en PlayMP3 zul je zelf moeten implementeren.

En 7 registry entries (1 per dag) lijken me het handigste, of gewoon een alarmfile in de current dir van je programma.

Professionele website nodig?


  • dawuss
  • Registratie: Maart 2001
  • Laatst online: 01-02 20:46

dawuss

gadgeteer

ik heb hiervoor een .m3u file in m'n taskmanager staan. Programmeren is natuurlijk altijd leuker. Je zou dit kunnen combineren met een APM call vanuit je BIOS (mits deze dit ondersteunt). Bij mijn bordje kun je een tijd instellen waarop je PC aanspringt :)

micheljansen.org
Fulltime Verslaafde Commandline Fetisjist ©

Pagina: 1