ho risolto grazie mi ero un pò perso con i loop anzi la posto la funzione che magari potrà servire a qualcuno
codice:
<%
'/*(Report Commenti)
'estrae dai file ricevuti in ingresso le informazioni Nome Funzione e Utilità
'secondo un header predefinito */
Function report_commenti(txt)
'Dichiarazione delle variabili
dim obj_Connection
dim obj_Recordset
dim sql_query
dim vet,stringa,appoggio, nomeFunzione, utilitaFunzione
'Creo la connessione al db
CreateDatabaseConnection "sql","supportotecnico",obj_connection,obj_recordset
'Apertura del file
set FSO=server.CreateObject("Scripting.FileSystemObject")
set file=FSO.GetFile(txt)
set ilfile=file.OpenAsTextStream(1,-2)
counter = 0
'Controllo riga per riga se compare Nome Funzione e Utilità Funzione
flag=false
esci = false
do while not ilfile.AtEndOfStream
counter = counter+1
illine = ilfile.readline
vet = illine
if instr(vet,"'/*") > 0 then
flag=true
end if
if flag=true then
stringa=""
flag = false
esci=false
do while not esci
stringa= stringa & illine
stringa=replace(stringa,"'"," ")
appoggio=stringa
utilitaFunzione= stringa
if len(utilitaFunzione) > 500 then
utilitaFunzione=left(utilitaFunzione,500)
end if
'ExtractStr(appoggio,")","*/",false)
if instr(illine,"*/") > 0 then
nomeFunzione=ExtractStr(stringa,"(",")",false)
if nomeFunzione = "" then
nomeFunzione="non trovata"
end if
esci = true
end if
if esci =true then
'inizializzo ArrayField,ArrayValue,ArrayType
ArrayField(0)=2
ArrayField(1)="nome"
Arrayfield(2)="utility"
ArrayValue(0)=2
ArrayValue(1)= nomefunzione
Arrayvalue(2)= utilitafunzione
ArrayType(0)=2
Arraytype(1)=202
arraytype(2)=202
'inserisce i campi nel db se non esistono già
insertDb_if_not_exists "T_Header_Funzioni",arrayfield,arrayvalue,arraytype,obj_connection,obj_recordset
Exit Do
end if
illine=ilfile.readline
loop
end if
loop
'reinizializzo le variabili
nomeFunzione = ""
utilitaFunzione = ""
'Chiudo tutto
ilfile.close
set ilfile = nothing
set file = nothing
End function
%>
<%
'/*(ExtractStr)
'estrae da una stringa tutto quello che è racchiuso tra due delimitatori strDa e strA
'restituisce in uscita la stringa estratta*/
Function ExtractStr(s, strDa, strA, setTrim)
PosDa = InStr(s, strDa)
PosA = InStr(s, strA)
If PosA > 0 And PosDa > 0 Then
s = Mid(s, PosDa + Len(strDa), PosA - PosDa - Len(strDa))
If IsNull(setTrim) = False And setTrim = True Then
ExtractStr = LTrim(RTrim(s))
Else
ExtractStr = s
End If
Else
ExtractStr = ""
End If
End Function
%>