'
' gestione di un filme parametri
' ricerca tramite espressione regolare.
' il file parametri ha la struttura di un file xml.
'
option explicit
'
dim strHTML, archivioparametri, jparametri
archivioparametri= "C:\db-parametri.txt"
call leggifileparametri(archivioparametri)
'
jparametri = lavoraparametri(strHTML, "anno", "trova", "")
jparametri = lavoraparametri(strHTML, "anno", "aggiorna", "1999")
jparametri = lavoraparametri(strHTML, "anno", "trova", "1900") ' nel caso non esista
jparametri = lavoraparametri(strHTML, time, "trova", "orario attuale")
'
' ===============
'
function lavoraparametri(sTxt, pnomecampo, pazione, pvaloredefault)
dim oRegex, criterio, retval, agg, nuovovalore
set oRegex = CreateObject("vbscript.regexp")
oRegex.Global = 1
oRegex.Multiline = 1
oRegex.IgnoreCase = 1
'
retval = ""
criterio = "<" & pnomecampo & ">((?:.|\n|\r)*?)</" & pnomecampo & ">"
nuovovalore = "<" & pnomecampo & ">" & pvaloredefault & "</" & pnomecampo & ">"
'
oRegex.Pattern = criterio
If oRegex.Test(sTxt) = true Then
if pazione = "trova" then
retval = oRegex.Execute(sTxt).item(0).SubMatches.item(0)
lavoraparametri = retval
end if
if pazione = "aggiorna" then
agg = oRegex.Replace(strHTML, nuovovalore)
call SovraScriviFile(archivioparametri, agg)
call leggifileparametri(archivioparametri)
end if
else
agg = strHTML & nuovovalore
call SovraScriviFile(archivioparametri, agg)
call leggifileparametri(archivioparametri)
end if
'
'
end function
'
' =========
'
sub leggifileparametri(parchivio)
dim filesys, readfile, jtxt
set filesys = CreateObject ("Scripting.FileSystemObject")
If (filesys.FileExists(parchivio)) Then
'msg = filespec & " esiste."
set readfile = filesys.OpenTextFile(parchivio, 1, false)
strHTML = readfile.ReadAll
Else
'msg = filespec & " Non esiste."
Set readfile = filesys.CreateTextFile(pArchivio, TRUE)
jtxt = "<vuoto>mancano paramenti</vuoto>"
readfile.WriteLine(jtxt)
End If
'
readfile.close
'
end sub
'
' ========= sovra scrive file ===================
'
Sub SovraScriviFile(pNomeArchivio, pcosascrivere)
dim fso, rifefile
Set fso=CreateObject("Scripting.FileSystemObject")
Set rifefile = fso.CreateTextFile(pNomeArchivio, TRUE)
rifefile.WriteLine(pcosascrivere)
rifefile.Close
set rifefile = Nothing
End Sub
'
' ==================
'
Nessun commento:
Posta un commento