Jag ser fram emot ett prog (shed....)som funkar "Klockrent" ang sjövakter. Förstår inte riktigt vad du är ute efter. <b>Förstår inte riktigt vad du är ute efter. </b> Mitt förslag: Det ser proffsigt ut,så Oki på det Men ! Jag var misstänksam mot 12h timmars systemet. Men den verkar inte slänga med AM/PM och därför funkar din kod i det avseendet. <b>Gillar inte case-satsen eller att du har en resursfil för varje kombination. Tänk om klockrigningen skall EU anpassas. Och inter vallen ändras till var tjugonde minut och grupper på tre. Då får du skriva om en väldigt massa case satser, skapa nya wave filer och lägga in dem. <b>Tänk om klockrigningen skall EU anpassas.</b> Nu har jag kört den en hel vecka den funkar kanonTimer Sjövakt !
Kan inte användas ombord,men Vi som är hemma kan vända oss om i sängen
och säga det är inte min vakt,jag sommnar om !Sv: Timer Sjövakt !
En funktion för att räkna fram antal glas (ej i baren) för senaste halvtimmesgränsen ?
<code>
Private Function AntalGlas(ByVal iTimme As Integer, ByVal iMinut As Integer) As Integer
iTimme = iTimme * 2
iTimme = IIf(iMinut >= 30, iTimme + 1, iTimme)
AntalGlas = iTimme Mod 8
AntalGlas = IIf(AntalGlas = 0, 8, AntalGlas)
End Function
</code>Sv:Timer Sjövakt !
*LOL* Can´t win them all.
Programarkivet:Skeppsklocka TidvaktSv: Timer Sjövakt !
<code>
Option Explicit
Private Const SND_FILENAME As Long = &H20000 ' name is a file name
'Private Const SND_SYNC As Long = &H0 ' play synchronously (default)
Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Const Max As Single = 8
Const Group As Single = 2
Const Interval As Double = 1 / 48
Const Delay As Long = 300
Const DelayGroup As Long = 1000
Const SoundFile As String = "C:\WINDOWS\Media\ding.wav"
Private Expire As Date
Private Function NextTimeOut() As Date
NextTimeOut = Int(Now / Interval) * Interval + Interval
End Function
Private Function NumberOfGlas() As Long
NumberOfGlas = Int(Time / Interval) Mod Max
If NumberOfGlas = 0 Then
NumberOfGlas = Max
End If
End Function
Private Sub RingBell(Times As Long)
Dim i As Long
For i = 0 To (Times - 1)
If i > 0 And i Mod Group = 0 Then
Sleep DelayGroup
End If
PlaySound SoundFile, ByVal 0&, SND_FILENAME 'Or SND_SYNC
Sleep Delay
Next
End Sub
Private Sub Form_Load()
Expire = NextTimeOut()
End Sub
Private Sub Timer1_Timer()
If Now > Expire Then
RingBell NumberOfGlas
Expire = NextTimeOut()
End If
End Sub
</code>
Jag har inte VB. Så jag kan inte skicka upp eller testa denSv:Timer Sjövakt !
Min enkla raka lösning är effektivare och löser uppgiften felfritt ;-)
Programarkivet:Skeppsklocka TidvaktSv: Timer Sjövakt !
Tyvärr kan jag inte säga att din lösning är vacker. Gillar inte case-satsen eller att du har en resursfil för varje kombination. När det finns ett vackert matimatisk samband.
Du är välkommen att testa min kod. Jag missänker att den är felfri.Sv:Timer Sjövakt !
När det finns ett vackert matimatisk samband.</b>
Du är inkonsekvent enl. eget behag. !
Du vurmar för konstanter,helt rätt.Detta är inget annat än en form av konstanter
Varför i helv.... skall jag låta datorn slösa tid på att räkna på något som Vi redan vet ???
Finns det nått snabbare än att köra en hel Wav slinga från en resourcefil.?
Fö har jag nu kompilerat programmet med Formen Visible = False,så den går snyggt
och säkert i bakgrunden utan störande GUI. Så skönt att höra den på natten och
veta att inte jag behöver gå upp på vaktavlösning.;-)Sv: Timer Sjövakt !
Medans jag uppdaterar två rader kod. Sedan tar det lungt. Ser kanske en film. Popar lite puffad majs(pop-corn).
Jag tycker bara du förtjänar din fritid. Kan göra annat en att skriva dålig kod med den. Som att läxa upp oss ynglingar. ;o)Sv:Timer Sjövakt !
Djä... trams,programmet är gjort för dom som varit på segelfartyg och hört skeppsklockan.
Programmet tillhör avd onödigt vetande om man inte är intresserad.
Jag är det ! och minns med kärlek när min morfars klocka slog varje halvtimme.
Programmet visar att man kan använda Timer1 som vakt och att CPU:n inte belastas.
Programmet visar hur du kan anvanda Resource fil för att lagra/skydda din .wav i .exe-filen
Fö har jag respekt för Er lösning med Schedular.
Programarkivet:Skeppsklocka TidvaktSv: Timer Sjövakt !
Programarkivet:Skeppsklocka Tidvakt
kompilera frmBell Visible = False och lägg .exe i Autoload
Det är så skönt att höra klockan varje halvtimme