giovedì 14 aprile 2016

leggi gestione parametri - vbs

'

' 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

'

' ==================

'