I spent some time every week for checking, if new versions have been available for some programs I use. This annoying stuff is now done automatically - with my VerVolf, of course done with PureBasic

You can download it here: http://sudokuprogram.googlepages.com/VerVolf.zip
It will NOT work, if you have no direct access to the internet, because I was not able to do handle proxy things for now...
Hope, you'll like it anyway

Michael
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The ini file should be filled with the parameters for your programs:
Code: Select all
[Nodes]
Count = number of program entries
[Groups]
Count = number of program groups
Group000 = name of Zero-Group (all unknown programs are seen here)
Group001 = name of first group (e.g. "Office")
Key001= shortcut used in program entries (e.g. "O")
:
:
Groupnnn
Keynnn
[Node001]
Name = name displayed in program
Key = shortcut (see above)
URL = web page where version data can be seen
Len = amount of K how much content will be read from the given web page
Look = keyword seen in the line from where the version text will be taken
Top = keywords seen before the version text line
Bottom = keywords seen after the version text line
Skip = lines with these keywords will be skipped
Left = characters exactly before the version text
Right = characters exactly after the version text
Value = version text
Mode = modifies version text
:
:
Wordcase modifies the version text, if Mode&1=1...
Code: Select all
Procedure.s WordCase(s.s)
Protected i,l,a,flag
flag=#True
i=0
l=Len(s)
While i<l
a=PeekB(@s+i)
;Debug Str(a)+", "+Str(a&$df)+":"+Str(flag)
Select a&$df
Case 65 To 90,196,214,220; a-z, ä,ö,ü
If flag
a=Asc(UCase(Chr(a)))
flag=#False
Else
a=Asc(LCase(Chr(a)))
EndIf
PokeB(@s+i,a)
Case 0,14,1,27,12; Space, Punkt, Rufzeichen, Strichpunkt, Komma
;Debug "***"
flag=#True
EndSelect
i+1
Wend
ProcedureReturn s
EndProcedure
Code: Select all
Procedure.s Strap(s.s,modus.l)
Protected a,b
a=0
b=Len(s)
While a<b
Select PeekB(@s+a)
Case -89,9,10,32; '§' = -89
a+1
Default
;Debug PeekB(@s+a)
Break
EndSelect
Wend
a+1
While a<b
b-1
Select PeekB(@s+b)
Case -89,9,10,32; '§' = -89
Default
Break
EndSelect
Wend
s=Mid(s,a,b-a+2)
If (modus&2)
Repeat
b=0
a=FindString(s,"<",1)
If a
b=FindString(s,">",a)
If b
s=Trim(Left(s,a-1))+" "+Trim(Mid(s,b+1,#MAXSHORT))
EndIf
EndIf
Until b=0
EndIf
If (modus&1)
s=WordCase(s)
EndIf
ProcedureReturn s
EndProcedure