Version=6.80 NumberOfForms=3 Form1=Form3 Form2=Form1 Form3=Form2 FormWidth=238 FormHeight=268 IconFile= NumberOfDesktopIncludes=0 NumberOfDeviceIncludes=0 NumberOfObjects=0 NumberOfModules=0 Sub designer addform(Form3,"Event Database","",255,128,0)@ addbutton(form3,ButtonDefault,80,212,85,25,"Set Default",255,255,128,0,0,0,True,True,9)@ addbutton(form3,ButtonDoneDB,130,240,85,25,"Done",255,255,128,0,0,0,True,True,8)@ addbutton(form3,ButtonSaveCur,30,240,85,25,"Save Current",255,255,128,0,0,0,True,True,8)@ addbutton(form3,ButtonDelete,125,185,85,25,"Delete",255,255,128,0,0,0,True,True,9)@ addbutton(form3,ButtonLoad,20,185,85,25,"Load",255,255,128,0,0,0,True,True,9)@ addlistbox(form3,ListBox1,5,5,230,175,"",0,128,192,255,255,255,True,True,0,9)@ addform(Form1,"Countdown Timer","",128,128,128)@ addimage(form1,Image2,145,100,70,75,"cStretchImage","Hourglass.jpg",245,245,220,True,True)@ addtimer(form1,Timer1,0,248,500)@ addlabel(form1,Label7,10,205,100,20,"Seconds",192,192,192,0,0,0,True,True,10,False)@ addlabel(form1,Label6,10,170,100,20,"Minutes",192,192,192,0,0,0,True,True,10,False)@ addlabel(form1,Label5,10,135,100,20,"Hours",192,192,192,0,0,0,True,True,10,False)@ addlabel(form1,Label4,10,100,100,20,"Days",192,192,192,0,0,0,True,True,10,False)@ addlabel(form1,Label3,10,70,100,20,"Weeks",192,192,192,0,0,0,True,True,10,False)@ addlabel(form1,Label2,10,40,220,20,"Buy hey, who'se counting?",192,192,192,0,0,0,True,True,10,False)@ addlabel(form1,Label1,10,10,220,25,"Time to Re-retirement",192,192,192,0,0,0,True,True,12,False)@ addmenuitem(form1,MnuSetTarget,"Set New Target",True,False)@ addmenuitem(form1,MnuEventDB,"Event Database",True,False)@ addmenuitem(form1,MnuAbout,"About",True,False)@ addform(Form2,"Form2","",128,255,128)@ addtextbox(form2,TextBoxSec,145,135,20,21,"",255,255,128,0,128,64,True,True,False,9)@ addlabel(form2,Label15,140,120,35,20,"Sec",128,255,128,128,0,0,True,True,10,False)@ addbutton(form2,ButtonSave,90,235,65,23,"Save",255,255,128,128,0,0,True,True,10)@ addbutton(form2,ButtonCancel,165,235,65,23,"Cancel",255,255,128,128,0,0,True,True,10)@ addtextbox(form2,TextBox2,5,40,220,24,"Enter second line of text",255,255,128,128,0,0,True,True,False,10)@ addtextbox(form2,TextBox1,5,5,220,28,"Enter first line of text",255,255,128,128,0,0,True,True,False,12)@ addbutton(form2,ButtonDone,15,235,65,23,"Done",255,255,128,128,0,0,True,True,10)@ addtextbox(form2,TextBoxMin,95,135,20,21,"",255,255,128,0,128,64,True,True,False,9)@ addtextbox(form2,TextBoxHr,45,135,20,21,"",255,255,128,0,128,64,True,True,False,9)@ addlabel(form2,Label13,50,120,25,20,"Hr",128,255,128,128,0,0,True,True,10,False)@ addlabel(form2,Label12,95,120,35,20,"Min",128,255,128,128,0,0,True,True,10,False)@ addlabel(form2,Label11,1325,180,30,20,"Sec",128,255,128,128,0,0,True,True,10,False)@ addlabel(form2,Label10,60,95,105,20,"(24 Hour Clock)",128,255,128,128,0,0,True,True,10,False)@ addlabel(form2,Label9,50,75,125,20,"Select Target Time",128,255,128,128,0,0,True,True,10,False)@ addlabel(form2,Label8,20,170,210,20,"Select Target Month, Day, Year",128,255,128,128,0,0,True,True,10,False)@ adddatetime(form2,Calendar1,70,200,100,24,"mm/dd/yyyy",255,255,128,0,128,64,True,True,10)@ End Sub @EndOfDesignText@ Sub Globals StartTime = 0 ST = 0 DefaultEvent = False SaveNewEvent = False End Sub '================================================================ Sub App_Start Form1.Show sip=false GetStartTime Timer1.Interval = 1000 Timer1.Enabled = True End Sub '================================================================ Sub Timer1_Tick Diff = (StartTime - Now)/cTicksPerSecond Weeks = Int(Diff / 604800) Diff = Diff - Weeks * 604800 Days = Int(Diff / 86400) Diff = Diff - Days * 86400 Hours = Int(Diff / 3600) Diff = Diff - Hours * 3600 Minutes = Int(Diff / 60) Seconds = Int(Diff - Minutes * 60) Label3.Text = "Weeks: " & Weeks Label4.Text = "Days: " & Days Label5.Text = "Hours: " & Hours Label6.Text = "Minutes: " & Minutes Label7.Text = "Seconds: " & Seconds If weeks=0 AND days=0 AND hours=0 AND minutes=0 AND seconds=0 Then timer1.Enabled=False Msgbox("Event raised") AppClose End If End Sub '================================================================ Sub GetStartTime If FileExist("Countdown.dat")=True Then FileOpen(F1,"Countdown.dat",cRead,,cASCII) T = FileRead(F1) Do Until T = EOF If SubString(T,0,1) = "*" Then ParseData(T) FileClose(F1) Return End If T = FileRead(F1) Loop End If Mo = "01" Da = "01" Yr = DateY + 1 St = Mo & "/" & Da & "/" & yr StartTime = DateParse(St) Label1.Text= "Time to New Years Day" Label2.Text = "Let's Party!" DefaultEvent = True Edat = "* " & Label1.Text & Chr(1) & Label2.Text & Chr(1) & StartTime FileOpen(F1,"Countdown.dat",cWrite,,cASCII) FileWrite(F1,Edat) FileClose(F1) End Sub '================================================================ Sub MnuSetTarget_Click Form2.Show textboxhr.Text="" textboxmin.Text="" textboxsec.Text="" End Sub '================================================================ Sub Form1_Close 'Close the app - don't need the timer 'running in the background. 'AppClose End Sub '================================================================ Sub ButtonDone_Click If TextboxHr.Text >=24 Then Msgbox("Hours must be less than 24","TIME ERROR") Return End If If TextboxMin.Text >=60 Then Msgbox("Minutes must be less than 60","TIME ERROR") Return End If If TextboxSec.Text >=60 Then Msgbox("Seconds must be less than 60","TIME ERROR") Return End If Label1.Text = TextBox1.Text Label2.Text = Textbox2.Text StartTime = Calendar1.Value + cTicksPerHour * TextBoxHr.Text + cTicksPerMinute * TextBoxMin.Text + cTicksPerSecond * TextBoxSec.Text msgbox(StartTime) If SaveNewEvent = True Then FileOpen(F1,"Countdown.dat",cWrite,cAppend,cASCII) Edat = " " & TextBox1.Text & Chr(1) & TextBox2.Text & Chr(1) & StartTime FileWrite(F1,Edat) FileClose(F1) SaveNewEvent = False End If Form2.Close End Sub '================================================================ Sub TextBoxHr_KeyPress (key) 'If IsNumber(key) = False Then 'TextBoxHr.IgnoreKey End Sub '================================================================ Sub TextBoxMin_KeyPress (key) 'If IsNumber(key) = False Then 'TextBoxMin.IgnoreKey End Sub '================================================================ Sub TextBoxSec_KeyPress (key) 'If IsNumber(key) = False Then 'TextBoxSec.IgnoreKey End Sub '================================================================ Sub ButtonCancel_Click Form2.Close End Sub '================================================================ Sub ButtonSave_Click SaveNewEvent = True End Sub Sub ButtonLoad_Click T = ListBox1.Item(ListBox1.SelectedIndex) ParseData(T) End Sub Sub ButtonDelete_Click T=SubString(ListBox1.Item(ListBox1.SelectedIndex),0,1) ListBox1.RemoveAt(ListBox1.SelectedIndex) If T = "*" Then ListBox1.Item(0) = T & SubString(ListBox1.Item(0),1,StrLength(ListBox1.Item(0))) SaveFile End Sub Sub ButtonSaveCur_Click Edat = " " & Label1.Text & Chr(1) & Label2.Text & Chr(1) & StartTime ListBox1.Add(Edat) SaveFile End Sub Sub Form3_Show ListBox1.Clear FileOpen(F1,"CountDown.dat",cRead,,ASCII) t=FileRead(F1) Do Until T = EOF ListBox1.Add(T) t=FileRead(F1) Loop FileClose(F1) For i = 0 To ListBox1.Count-1 ListBox1.SelectedIndex = i If SubString(ListBox1.Item(i),0,1)="*" Then Exit Next i End Sub Sub MnuEventDB_Click Form3.Show End Sub Sub ButtonDoneDB_Click Form3.Close End Sub Sub Form3_Close End Sub Sub ButtonDefault_Click P=ListBox1.SelectedIndex T = ListBox1.Item(P) For i=0 To ListBox1.Count-1 X=ListBox1.Item(i) If SubString(x,0,1) = "*" Then ListBox1.Item(i) = " " & SubString(x,1,StrLength(x)) Next ListBox1.SelectedIndex = P ListBox1.Item(P) = "*" & SubString(T,1,StrLength(T)) SaveFile End Sub Sub SaveFile FileOpen(F1,"Countdown.dat",cWrite,,ASCII) For i = 0 To ListBox1.Count-1 FileWrite(F1,ListBox1.Item(i)) Next i FileClose(F1) End Sub Sub ParseData(Z) P1 = StrIndexOf(Z,Chr(1),1) P2 = StrIndexOf(Z,Chr(1),P1+1) Label1.Text = SubString(Z,2,P1-2) Label2.Text = SubString(Z,P1+1,P2-P1-1) StartTime = SubString(Z,P2+1,StrLength(Z)-P2-1) End Sub Sub MnuAbout_Click Msg = "by Dave Fallen, June 2007" & CRLF & "david.fallen@comcast.net" Msg = Msg & CRLF & CRLF & "Programmed in Basic4PPC" & CRLF & "www.basic4ppc.com" Msgbox(Msg,"Event Countdown Timer",cMsgboxOK,cMsgboxNone) End Sub