Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19

Discussione: perso fra i loop

  1. #1

    perso fra i loop

    sapete dirmi dove sbaglio??????in pratica ho delle righe in una file di testo del tipo

    '***<(nome) qui c'è altro testo
    'qui ancora altro testo***>
    praticamente quello che ho tra ( ) lo metto in un campo e tutto quello che viene dopo fino a ***>
    mi sono perso un pò con i loop penso ma non riesco proprio ad uscirne.
    mi controlleresti il perchè?

    code:--------------------------------------------------------------------------------
    %
    Function commenti(txt)
    'Dichiarazione delle variabili
    dim obj_Connection
    dim obj_Recordset
    dim sql_query
    dim vet,appoggio, nomeFunzione, utilitaFunzione
    'Creo la connessione al db
    CreateDatabaseConnection "sql","supportotecnico",obj_connection,obj_records et
    'Apertura del file
    'ilfile=server.MapPath(txt)
    set FSO=server.CreateObject("Scripting.FileSystemObjec t")
    set file=FSO.GetFile(txt)
    set ilfile=file.OpenAsTextStream(1,-2)
    counter = 0
    'Controllo riga per riga se compare Nome Funzione e Utilità Funzione
    do while not ilfile.AtEndOfStream
    counter = counter+1
    illine = ilfile.readline
    vet = illine
    appoggio = vet
    if instr(vet,"'***<") > 0 then
    loop2=true
    end if
    do while loop2
    if instr(vet,"***>") > 0 then
    loop2 = false
    end if
    loop
    if nomefunzione="" then
    nomefunzione=ExtractStr(vet,"(",")",false)

    else
    utilitaFunzione=ExtractStr(appoggio,
    ")","***>",false)

    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
    insertdb "T_Header_Funzioni" ,arrayfield,arrayvalue,arraytype,obj_con
    nection,obj_recordset
    end if

    'reinizializzo le variabili
    nomeFunzione = ""
    utilitaFunzione = ""
    loop
    'Chiudo il tutto
    ilfile.close
    set ilfile = nothing
    set file = nothing
    End function
    %>
    <%
    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
    %>
    --------------------------------------------------------------------------------

    grazie anticipatamente

    --------------------------------------------------------------------------------

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Come da regolamento, l'UP è accettato ma aprire due discussioni uguali no!

    Roy


  3. #3
    Utente di HTML.it L'avatar di Sypher
    Registrato dal
    Jun 2003
    Messaggi
    1,994
    è un codice un pochino ingarbugliato cmq e se leggessi tutto insieme anzichè riga per riga?
    La passera non dura perchè Sypher la cattura!

    "No one like us we don't care, we are millwall, super millwall, we are millwall from the DEN"

  4. #4
    scusami non lo sapevo mi spiace!
    come faccio a chiuderne una?

  5. #5
    beh il file originale che poi sarà letto è di circa 6000 linee e poi gli altri si aggirano intorno alle 2000 -3000 mi conviene leggerlo tutto insieme secondo te????
    e poi cmq come estrapolo solo quello che mi serve?????

  6. #6
    Utente di HTML.it L'avatar di Sypher
    Registrato dal
    Jun 2003
    Messaggi
    1,994
    vabbè...a che serve sto ciclo scusa?
    codice:
    do while loop2 
    if instr(vet,"***>") > 0 then 
    loop2 = false 
    end if 
    loop
    La passera non dura perchè Sypher la cattura!

    "No one like us we don't care, we are millwall, super millwall, we are millwall from the DEN"

  7. #7
    eh mi sa che è proprio quello che non va bene!
    nel senso:

    se trovo all'inizio della riga '<*** allora mi estraggo quello che c'è tra ( ), poi devo cominciare ad estrarre tutto quello che c'è dopo la ) fino a ***> sia che si trovi sulla stessa riga (nel caso di un testo breve) sia nel caso in cui si trovi su più righe ma cmq devo mettere in UTILITAFUNZIONE tutto quello che c'è tra ) e ***> per questo dovevo servirmi di un doppio loop che però di sicuro sarà sbagliato!

  8. #8
    Utente di HTML.it L'avatar di Sypher
    Registrato dal
    Jun 2003
    Messaggi
    1,994
    non capisco a che ti servono 2 cicli...allora:

    abbiamo il ciclo che legge il file riga per riga...controlliamo se ci sono quelli asterischi per individuare la parte che a noi interessa..se non ho capito male...quinidi io individuerei tutta la parte che ci interessa e me l'appizzerei in una variabile poi co l e funzioni instr,instrrev,left,mid,right,split fai quello che te pare
    La passera non dura perchè Sypher la cattura!

    "No one like us we don't care, we are millwall, super millwall, we are millwall from the DEN"

  9. #9
    Utente di HTML.it L'avatar di Sypher
    Registrato dal
    Jun 2003
    Messaggi
    1,994
    codice:
    flag=false
    esci = false
    do while not ilfile.AtEndOfStream 
    counter = counter+1 
    illine = ilfile.readline 
    vet = illine 
    appoggio = vet 
    if instr(vet,"'***<") > 0 then 
        flag=true
    end if
    if instr(vet,"***>") > 0 then 
        flag=false
        esci = true
    end if
    if flag=true then
        LaParteCheCiIntaressa= LaParteCheCiIntaressa & illine 
    end if
    if esci =true then
       Exit Do
    end if
    loop
    na cosa del genere dovrebbe appizzare tutto nella variabile
    La passera non dura perchè Sypher la cattura!

    "No one like us we don't care, we are millwall, super millwall, we are millwall from the DEN"

  10. #10
    beh io non so individuare tutta la parte da quando inizia a quando finisce!mi fai un esempio di codice????
    per es: da qui

    testo

    '<***(nome funzione) jhjkhkjasdhjkhjkas
    'hdfjsksdfhjkdsfhksdjfh
    'sdfjksdfhjksdfhksdjfhksdjh***>

    testo


    come mi tiri fuori solo quella parte che a me interessa?

    poi una volta buttata in una variabile ci penso io a spezzarla!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.