Chris S.
MM club member
   
Registered: 2002-03-18
Posts: 2368
Loc: Earth
|
If I still have it. And if I do it's at work and I'm not. I'll see if I can find it tomorrow morning.
Heck, I might just play around with it tonight.
It's sad, I'm starting to code for recreational purposes. I think I need a 12-step program.
Anyway, here is the code I came up with. This works, but I had to comment out the timer.interval = 5000 line and replace it with a sleep 5.
code:
; ; BBChecker II - KiXtart Bulleting Board New Post Checker (RC-4) ; ; Dependencies (included in package): ; Wkix32 - KiXtart 4.11 ; kixforms.dll - KiXForms (build 21) ; IE5 or higher ; ; -Lonkero ; ;todo's before release: ; parse takes the page as input. ; this way later update of var names is no problem. ; ; installation package ; gosub "init" while $form.visible parse() if $show $msg.caption = $show $hlurl.listindex=0 formlink($hlurl.text) $form.caption = $show+" - BBChecker II" if $beep play "256t1d500f" endif $tmp=3 if $focus=0 and $sslider $form.show(2) slide($msg.caption) $form.height=$tmp inline() endif else $tmp=$looptime endif $time=@ticks+($tmp*1000) do sleep 0.2 inline() until @error or ($time < @ticks) loop gosub "final" exit 0
function inline() $=execute($form.doevents(1)) $=execute($form.doevents(1)) endfunction
function parse() $httpObj.open("GET","http://kixtart.org/cgi-bin/ultimatebb.cgi?", not 1) $httpObj.send() $data=$httpObj.Responsetext if 1000<len($data) inline() $data=substr($data,instr($data,'ubb=get_profile')+10) $bl.clear $bll.clear if instr($data,'ubb=get_profile')<instr($data,'guest(s)') $data=substr($data,instr($data,'ubb=get_profile')) $users=substr($data,1,instr($data,' and')) for each $user in split($users,'</a>, ') $bll.additem(substr($user,instr($user,';u=')+3,instr($user,'">')-3-instr($user,';u=')),-1) $bl.additem(substr($user,instr($user,'">')+2),-1) next $bl.removeitem($bl.listcount-1) endif for $c=0 to 6 $data=substr($data,instr($data,' <a href=')+15) $y[$c]=substr($data,1,instr($data,'"')-1) $data=substr($data,instr($data,'>')+1) $x[$c]=substr($data,1,instr($data,'</a>') - 1)+" " $x[$c]=join(split($x[$c],"""),'"') $data=substr($data,instr($data,chr(10))+1) if instr(substr($data,1,1),"<") $users=substr($data,7,instr($data,chr(10))-7) else $users=substr($data,1,instr($data,chr(10))-1) endif $x[$c]=$x[$c]+$users if $my and instr($users,$logon) $dataold[$c]=$x[$c] endif next $stamp=" "+left(@time,5)+" on @mdayno. of @month" select case "Loading elements..."==$msg.caption $show="" $fbb.enabled=1 $fbh.enabled=1 $msg.caption = "" case $x[0]<>$dataold[0] $show=$x[0] $hl.additem($x[0]+$stamp+" {starters}",0) $hlurl.additem($y[0],0) case $x[1]<>$dataold[1] $show=$x[1] $hl.additem($x[1]+$stamp+" {scripts}",0) $hlurl.additem($y[1],0) case $x[2]<>$dataold[2] $show=$x[2] $hl.additem($x[2]+$stamp+" {COM}",0) $hlurl.additem($y[2],0) case $x[3]<>$dataold[3] $show=$x[3] $hl.additem($x[3]+$stamp+" {UDF}",0) $hlurl.additem($y[3],0) case $x[4]<>$dataold[4] $show=$x[4] $hl.additem($x[4]+$stamp+" {beta}",0) $hlurl.additem($y[4],0) case $x[5]<>$dataold[5] $show=$x[5] $hl.additem($x[5]+$stamp+" {suggestions}",0) $hlurl.additem($y[5],0) case $x[6]<>$dataold[6] $show=$x[6] $hl.additem($x[6]+$stamp+" {FAQ}",0) $hlurl.additem($y[6],0) case 1 $show=0 endselect endif $dataold=$x endfunction
function show($) $form.height=$form.height+(100*$) if $form.height=340 $hl.top=102 $hbh.top=275 $hbo.top=275 $hba.top=275 else $hl.top=2 $hbh.top=175 $hbo.top=175 $hba.top=175 endif if $=2 $hl.visible=1 $hbh.visible=1 $hbo.visible=1 $hba.visible=1 $fbh.enabled=0 else $bl.visible=1 $blt.visible=1 $bbh.visible=1 $bbp.visible=1 $bbr.visible=1 $fbb.enabled=0 endif $form.top=$screen-taskbar()+3-$form.height $msg.top = $form.height-38 $fbe.top = $form.height-20 $fbh.top = $fbe.top $fbb.top = $fbe.top $fbs.top = $fbe.top $form.show(1) inline() endfunction
function hide($) $form.height=$form.height-(100*$) if $=1 $bl.visible=0 $bbh.visible=0 $bbp.visible=0 $bbr.visible=0 $fbb.enabled=1 $blt.visible=0 else $hl.visible=0 $hbh.visible=0 $hbo.visible=0 $hba.visible=0 $fbh.enabled=1 endif $form.top=$screen - (taskbar() + $form.height - 3) $msg.top = $form.height-38 $fbe.top = $form.height-20 $fbh.top = $fbe.top $fbb.top = $fbe.top $fbs.top = $fbe.top $hl.top=2 $hbo.top=175 $hba.top=175 $hbh.top=175 $form.show(1) inline() endfunction
function formlink($in) $form.onmousemove="$$msg.fontbold=0 $$msg.fontunderline=0" $msg.onmousemove="$$msg.fontbold=1 $$msg.fontunderline=1" $msg.onmouseup="$$form.show(2) run 'explorer "+chr(34)+$in+chr(34)+"'" endfunction
Function TaskBar() if @dos=="4.0" $_S="StuckRects" else $_S="StuckRects2" endif $TaskBar=val("&"+substr(readvalue("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\$_S","settings"),41,2)) endfunction
function slide($sc) if instr($sc,'"') $sc=join(split($sc,'"'),"'") endif ;run '@scriptdir\wkix32 "@scriptdir\slider.kix" $$sc="$sc" $$b='+taskbar()
; Begin edit...Commented the above command. The rest of this function ; and the Timer_Timer() function below this one, is my ; modifications to the code.
$b=taskbar() $h = 120 $w = 300 $DirectionIsUp = 1
$Popup = CreateObject("Kixtart.Form") $Popup.BorderStyle = 0 $Popup.ScaleHeight = 0 $Popup.ScaleWidth = $w $Popup.ShowInTaskbar = False ; Not ready yet ! $Popup.TopMost = True $popLabel = $Popup.Label(@crlf+@crlf+@crlf+@crlf+$sc,,,$w,$h) $popLabel.BACKCOLOR = $Popup.RGB(255,255,255) $popLabel.BorderStyle = 4 $popLabel.Alignment = 2 $Popup.Top = $Popup.screen.height - (($b-4)+$Popup.Height) $Popup.Left = $Popup.Screen.Width - ($w+15) $Popup.Show $Timer = $Popup.Timer(10) $Timer.OnTimer = "Timer_Timer()" While $Popup.Visible $=Execute($Popup.DoEvents) Loop $Popup = "" $Timer = "" $popLabel = "" endfunction
Function Timer_Timer() $Timer.Interval = 10 If $DirectionIsUp $Popup.Height = $Popup.Height + 3 $Popup.Top = $Popup.Top - 3 If $Popup.Height => $h $Popup.Height = $h ;$Timer.Interval = 5000 sleep 5 $DirectionIsUp = 0 EndIf Else $Popup.Height = $Popup.Height -3 $Popup.Top = $Popup.Top + 3 If $Popup.Top >= ($Popup.Screen.Height-$b) $Timer.Enabled = 0 $Popup.Hide EndIf EndIf EndFunction
:init $form = createobject("kixtart.form") global $x[6] $dataold=$x $y=$x $screen=$form.screen.height $form.caption = "BBChecker II" $form.width = 430 $form.height = 40 $form.left = $form.screen.width - $form.width - 20 $form.borderstyle = 0 $form.fontsize = 8 $form.fontname = "helvetica" $form.forecolor = 0 $form.fontbold = 0 $form.onlostfocus = "$$focus=0" $form.ongotfocus = "$$focus=1" $msg = $form.label("Loading elements...",15,2,410,12) $msg.onmouseup="$$form.setfocus()" $form.top = $screen - (taskbar() + $form.height - 3) $fbe = $form.commandbutton("Exit",2,20,65,19) $fbe.onclick = "$$form.visible = 0" $fbs = $form.commandbutton("Miscellaneous",69,20,80,19) $fbs.onmouseup = "inline() misc()" $fbh = $form.commandbutton("History",$form.width - 68,20,65,19) $fbh.enabled=0 $fbh.onclick = "show(2) $$form.setfocus()" $fbb = $form.commandbutton("Buddyes",$fbh.left - 68,20,65,19) $fbb.enabled=0 $fbb.onclick = "show(1) $$form.setfocus()" $form.visible = 1 inline() ;history block $hl = $form.listbox(0,2,2,426,170) $hl.visible = 0 $hl.OnDblClick = "$$form.show(2) $$hlurl.listindex=$$hl.listindex run 'explorer "+chr(34)+"'+$$hlurl.text+'"+chr(34)+"'" inline() $hl.onclick="$$form.setfocus()" $hbh = $form.commandbutton("Hide",$form.width - 80,175,75,20) $hbh.visible = 0 inline() $hbh.onclick = "hide(2) $$focus=1" $hbo = $form.commandbutton("Show Topic",5,175,75,20) $hbo.visible = 0 inline() $hbo.onclick = "$$form.show(2) $$hlurl.listindex=$$hl.listindex run 'explorer "+chr(34)+"'+$$hlurl.text+'"+chr(34)+"'" $hba = $form.commandbutton("Today's Active topics",150,175,130,20) $hba.visible = 0 inline() $hba.onclick = "$$form.show(2) run 'explorer "+chr(34)+"http://81.17.37.55/board/ultimatebb.php?ubb=get_daily"+chr(34)+"'" $hlurl = $form.listbox(0,0,0,0,20) $hlurl.visible = 0 ;buddyes block $bl = $form.listbox(0,2,15,200,80) $bl.visible = 0 $bl.onclick="$$form.setfocus()" inline() $bll = $form.listbox(0,0,0,0,20) $bll.visible = 0 $bll.ongotfocus="$$form.setfocus()" inline() $blt = $form.label("Logged on users:",5,2,150,12) $blt.visible = 0 $blt.ongotfocus="$$form.setfocus()" inline() $bbh = $form.commandbutton("Hide",$form.width - 80,15,75,20) $bbh.visible = 0 $bbh.onclick = "hide(1) $$focus=1" inline() $bbp = $form.commandbutton("Show Profile",210,15,75,20) $bbp.visible = 0 $bbp.onclick = "$$form.show(2) $$bll.listindex=$$bl.listindex run 'explorer "+chr(34)+"http://81.17.37.55/cgi-bin/ultimatebb.cgi?ubb=get_profile;u='+$$bll.text+'"+chr(34)+"'" inline() $bbr = $form.commandbutton("Recent Posts",210,40,75,20) $bbr.visible = 0 $bbr.onclick = "$$form.show(2) $$bll.listindex=$$bl.listindex run 'explorer "+chr(34)+"http://81.17.37.55/cgi-bin/ultimatebb.cgi?ubb=recent_user_posts;u='+$$bll.text+'"+chr(34)+"'" inline() global $focus $focus=1 ;settings $bk="HKEY_CURRENT_USER\Software\Jooel\bbChecker" if not keyexist($bk) $=messagebox("bbChecker II installation corruption!@crlfThis propably is due to unclean installation@crlfRe-install needed","bbChecker II",16) exit 0 endif $looptime=val(readvalue($bk,"looptime")) $beep=val(readvalue($bk,"beep")) $sslider=val(readvalue($bk,"slider")) $my=val(readvalue($bk,"my")) $logon=readvalue($bk,"logon") ;xmlhttp related func $cache=readvalue("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings","SyncMode5") $=writevalue("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings","SyncMode5","3","reg_dword") $httpObj = createobject("microsoft.xmlhttp") return
:final $ = writevalue("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings","SyncMode5",$cache,"reg_dword") return
function misc() $f = createobject("kixtart.form") $f.caption = "bbChecker II - Miscellaneous" $f.width = 250 $f.height = 250 $f.top = $screen/2 $f.left = $f.screen.width-720 $f.fontbold=1 $f.fontname = "Bookman Old Style" $f.printxy(20,10,"bbChecker II") $f.fontbold=0 $f.printxy(20,30,"Based on:") $f.printxy(20,45,"Kixtart 4.11 (wkix32.exe)") $f.printxy(20,60,"KixForms GUI (KixForms.exe)") $f.fontname = "helvetica" $fp = $f.checkbox("Don't show my posts",20,135,130,15) $f.printxy(150,120,"Logonname:") $fpt = $f.textbox($logon,150,135,65,17) $lt = $f.textbox($looptime,150,158,25,17) $f.printxy(20,160,"Post check interval (secs):") $fo = $f.checkbox("Beep on post",20,180,110,15) $fs = $f.checkbox("Show slider",20,200,90,15) $fp.value = $my if $fp.value $fpt.enabled=1 else $fpt.enabled=0 endif $fo.value = $beep $fs.value = $sslider $fb = $f.commandbutton("OK",170,205,75,20) $fb.onclick = 'if val($$lt.text)<10 $$lt.text="10" else $$f.visible=0 endif' $f.show while $f.visible $=execute($f.doevents(1)) if $fp.value $fpt.enabled=1 else $fpt.enabled=0 endif if 99<val($lt.text) $lt.text="99" endif loop $looptime = val($lt.text) $beep = $fo.value $sslider = $fs.value $my = $fp.value $logon=$fpt.text $=writevalue($bk,"looptime",""+$looptime,"reg_sz") $=writevalue($bk,"beep",""+$beep,"reg_sz") $=writevalue($bk,"slider",""+$sslider,"reg_sz") $=writevalue($bk,"my",""+$my,"reg_sz") $=writevalue($bk,"logon",""+$logon,"reg_sz") endfunction
[ 06. September 2002, 14:14: Message edited by: Chris S. ]
|