Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    388

    convertire motore di ricerca asp in asp.net

    dovrei convertire il seguente codice da asp in asp.net e non so dove mettere mani qualcuno sa aiutarmi sono disperato lo devo consegnare entro venerdì e non ci capisco nulla!aiuto!!!!!
    <%
    Response.Buffer =True
    Dim FSO 'File system object'
    Dim Cartella
    Dim ArrayParole 'Array per contenere le parole da cercare'
    Dim ParoleDaCercare
    Dim Root
    Dim FileURL percorso del file sul sito'
    Dim ServerPath 'Contiene il percorso di questo script sul server'
    Dim FileVisualizzati 'file visualizzati per volta'
    Dim TotaleFileCercati
    Dim TotaleFileTrovati
    Dim NumeroFile
    Dim LoopContaLinkPagine 'Conta i loop per mostrare i link alle pagine'
    Dim ArrayRisultatiRicerca(200) 'Array per contenere i risultati della ricerca'
    Dim LoopContaLinkPagineRisultati 'Conta i loop per mostrare i risultati della ricerca'
    Dim ArrayPosizioneRisultati 'Posizione nell Array dei risultati'
    Dim CorrispondenzaTrovata 'Controlla se sono state trovate delle corrispondenze'
    Dim TipiDiFileDoveCercare 'Estensioni dei file dove effettuare la ricerca'
    Dim CartellaDaEscludere 'Cartelle dove non effettuare la ricerca'
    Dim FileDaEscludere 'Nomi dei file da escludere dalla ricerca'
    Dim WebInInglese 'Impostazione linguiaggio del sito web'
    ' risultati da visualizzare per ogni pagina'
    Const RecordsPerPagina = 10
    'Estensioni dei file dove verrà effettuata la ricerca TipiDiFileDoveCercare = "htm,html"
    'Cartelle dove non deve essere effettuata la ricerca CartellaDaEscludere = "flash,db"
    'Nomi dei file da escludere dalla ricerca
    FileDaEscludere = "db.htm,login.asp"
    'Impostazione linguiaggio del sito web
    'True = Inglese \ False = Altre Lingue
    WebInInglese = False
    TotaleFileCercati = 0
    %>
    <html><body>
    <form method="get" name="FormMotoreDiRicerca" action="ricerca.asp">
    <table align="center">
    <tr><td align="center">Parole da cercare:</td></tr><tr>
    <td align="center">
    <input type="TEXT" name="CosaCerco" maxlength="50" size="50" value="<% =Request.QueryString("CosaCerco") %>">
    <input name="Tasto Ricerca" type="submit" value="Cerca &gt;&gt;">
    </td></tr><tr> <td valign="top" align="center">
    <input type="radio" name="TipoDiRicerca" value="AlmenoUnaParola" checked>
    Almeno una parola
    <input type="radio" name="TipoDiRicerca" value="TutteLeParole">
    Tutte le parole
    <input type="radio" name="TipoDiRicerca" value="FraseIntera">
    Frase intera</td></tr></table></form>
    <%'Inserisce tutte le parole da cercare in una variabile'
    ParoleDaCercare = Trim(Request.QueryString("CosaCerco"))
    'Se il web è in Inglese usa il metodo Server HTML Encode'
    If WebInInglese = True Then
    'Sostitiusce tutti i tag HTML con il codice HTML equivalente ParoleDaCercare = Server.HTMLEncode(ParoleDaCercare)
    'Se non è in Inglese cambia solo i tag dello script'
    Else
    'Sostituisce i tag <> con il codice HTML encoded &lt; and &gt;'
    ParoleDaCercare = Replace(ParoleDaCercare, "<", "&lt;", 1, -1, 1)
    ParoleDaCercare = Replace(ParoleDaCercare, ">", "&gt;", 1, -1, 1)
    End If
    'Inserisce tutte le parole da cercare in un Array'
    ArrayParole = Split(Trim(ParoleDaCercare), " ")
    'Legge il numero del file da dove iniziare a visualizzare i risultati'
    NumeroFile = CInt(Request.QueryString("PosizioneDiPartenza"))
    'Imposta il numero dei file che devono essere visualizzati'
    FileVisualizzati = NumeroFile
    Set FSO = Server.CreateObject("Scripting.FileSystemObject")
    If NOT ParoleDaCercare = "" Then
    Set Cartella = FSO.GetFolder(Server.MapPath("./"))
    'Legge il path corrente di questo script'
    ServerPath = Cartella.Path & "\"
    'Imposta a true se lo script sta cercando nella root'
    Root = True
    'Chimata alla routine di ricerca'
    Call SearchFile(Cartella)
    Set FSO = Nothing
    Set Cartella = Nothing
    Response.Write vbCrLf & " <table width=""98%"" border=""0"" cellspacing=""1"" cellpadding=""1"" align=""center"" bgcolor=""#CCCCCC"">"
    Response.Write vbCrLf & " <tr>"
    'Visualizza che non sono stati trovati risultati
    If CorrispondenzaTrovata = False Then
    Response.Write vbCrLf & " <td>Ricerca effettuata nel sito per " & ParoleDaCercare & Nessuna corrispondenza trovata.</td>"
    'Altrimenti visualizza quanti record sono stati trovati
    Else
    Response.Write vbCrLf & " <td>Ricerca effettuata nel sito per " & ParoleDaCercare & "Risultati da " & NumeroFile + 1 & " a " & FileVisualizzati & " di " & TotaleFileTrovati & "</td>"
    End If
    'Chiude la tabella con lo stato della ricerca'
    Response.Write vbCrLf & " </tr></table>"
    Response.Write vbCrLf & " <table width=""95%"" border=""0" " cellspacing=""1"" cellpadding=""1"" align=""center""><tr><td>"
    If CorrispondenzaTrovata = False Then
    Response.Write vbCrLf & "
    La ricerca - " & ParoleDaCercare & " - Nessun risultato"
    Else
    'Loop per visualizzare ogni risultato presente
    For LoopContaLinkPagineRisultati = 1 to (FileVisualizzati - NumeroFile)
    Response.Write vbCrLf & "
    "
    Response.Write vbCrLf & " " & ArrayRisultatiRicerca(LoopContaLinkPagineRisultati )
    Response.Write vbCrLf & "
    "
    Next
    End If
    Response.Write vbCrLf & " </td></tr></table> "
    End If
    If TotaleFileTrovati > RecordsPerPagina Then
    'Visualizza una tabella HTML con i links agli altri risultati
    Response.Write vbCrLf & "
    <table width=""100%"" border=""0"" cellspacing=""0"" cellpadding=""0"" align=""center"">"
    Response.Write vbCrLf & " <tr><td><table width=""100%"" border=""0"" cellpadding=""0"" cellspacing=""0"">"
    Response.Write vbCrLf & " <tr><td width=""50%"" align=""center"">"
    Response.Write vbCrLf & " Pagine :"
    If FileVisualizzati > RecordsPerPagina Then
    Response.Write vbCrLf & " &lt;&lt;Precedente "
    End If
    'Se ci sono più pagine visualizza il link alle altre pagine
    If TotaleFileTrovati > RecordsPerPagina Then
    'Loop per visualizzare un link per ogni pagina di risultati
    For LoopContaLinkPagine = 1 to CInt((TotaleFileTrovati / RecordsPerPagina) + 0.5)
    'Se la pagina da linkare è quella corrente non la visualizza come link ma come testo
    If NumeroFile = (LoopContaLinkPagine * RecordsPerPagina) - RecordsPerPagina Then
    Response.Write vbCrLf & " " & LoopContaLinkPagine
    Else
    Response.Write vbCrLf & " " & LoopContaLinkPagine & " "
    End If
    Next
    End If
    If TotaleFileTrovati > FileVisualizzati Then
    Response.Write vbCrLf & " Successiva&gt;&gt;"
    End If
    Response.Write vbCrLf & " </td></tr></table></table></td></tr></table>"
    Response.Write vbCrLf & " End If %>
    <table width="98%" align="center">
    <tr><td width="47%" height="18">La ricerca effettuata in <% = TotaleFileCercati %> file. </td>
    <td width="53%" align="right"height="18"> </td></tr></table></body></html>
    <%'Routine di ricerca
    Public Sub SearchFile(Cartella)
    Dim File 'File
    Dim StreamTesto 'Contenuto del File
    Dim SottoCartella 'Sottocartelle
    Dim TastoRicerca 'Mania di protagonismo
    Dim ContenutoDelFile 'Contenuto del file
    Dim TitoloDellaPagina 'Contiene il titolo della pagina
    Dim InizioTitoloDelFile 'Posizione di inizio del titolo della pagina nel file utilizzato
    Dim FineTitoloDelFile 'Posizione di fine del titolo della pagina nel file utilizzato
    Dim DescrizioneDellaPagina 'Descrizione del file
    Dim InizioDescrizioneDellaPagina 'Posizione di inizio della descrizione della pagina nel file utilizzato
    Dim FineDescrizioneDellaPagina 'Posizione di fine della descrizione della pagina nel file utilizzato
    Dim ContaParoleDaCercare 'Conta le parole che devono essere cercate nell Array
    Dim TrovatoRisultati 'Se c'è corrispondenza il valore è True
    On Error Resume Next
    'Loop per cercare in tutti i file nella cartella
    For Each File in Cartella.Files
    'Controlla l'estensione del file
    If InStr(1, TipiDiFileDoveCercare, FSO.GetExtensionName(File.Name), vbTextCompare) > 0 Then
    'Controlla che il file non sia di quelli esclusi dalla ricerca
    If NOT InStr(1, FileDaEscludere, File.Name, vbTextCompare) > 0 Then
    Set StreamTesto = File.OpenAsTextStream
    ContenutoDelFile = StreamTesto.ReadAll
    'Imposta il risultato come False
    TrovatoRisultati = False
    If Request.QueryString("TipoDiRicerca") = "FraseIntera" Then
    If InStr(1, LCase(ContenutoDelFile), LCase(ParoleDaCercare), 1) Then
    TrovatoRisultati = True
    End If
    Else
    If Request.QueryString("TipoDiRicerca") = "TutteLeParole" Then TrovatoRisultati = True
    'Loop per cercare tutte le parole richieste
    For ContaParoleDaCercare = 0 to UBound(ArrayParole)
    'Cerca nel file le parole richieste
    If InStr(1, LCase(ContenutoDelFile), LCase(ArrayParole(ContaParoleDaCercare)), 1) Then
    'Se la parola è stata trovata setta la variabile come True
    If Request.QueryString("TipoDiRicerca") = "AlmenoUnaParola" Then TrovatoRisultati = True
    Else
    'Se la parola non è stata trovata imposta variabile a False If Request.QueryString("TipoDiRicerca") = "TutteLeParole" Then TrovatoRisultati = False
    End If
    Next
    End If
    TotaleFileCercati = TotaleFileCercati + 1
    If TrovatoRisultati = True Then
    TotaleFileTrovati = TotaleFileTrovati + 1
    If FileVisualizzati < (RecordsPerPagina + NumeroFile) and TotaleFileTrovati > FileVisualizzati Then
    'Incrementa il numero di file visualizzati
    FileVisualizzati = FileVisualizzati + 1
    'Legge il titolo del file
    InizioTitoloDelFile = InStr(1, lcase(ContenutoDelFile), "<title>", 1) + 7
    'Se c'è un titolo imposta l'inizio alla fine del tag <title>
    If NOT InizioTitoloDelFile = 7 Then
    'Legge la posizione del tag di chiusura del titolo (</title>)
    FineTitoloDelFile = InStr(InizioTitoloDelFile, ContenutoDelFile, "</title>", 1)
    'Recupera il titolo eliminando tutto quello prima e dopo ai tag HTML
    TitoloDellaPagina = Server.HTMLEncode(Trim(Mid(ContenutoDelFile, InizioTitoloDelFile, (FineTitoloDelFile - InizioTitoloDelFile))))
    Else
    TitoloDellaPagina = "Nessun titolo"
    End If
    InizioDescrizioneDellaPagina = InStr(1, ContenutoDelFile, "<meta name=""description"" content=""", 1)
    'Se c'è una descrizione allora la posizione nel file sarà diversa da 0
    If NOT InizioDescrizioneDellaPagina = 0 Then
    'Trova la posizione di inizio del tag HTML della descrizione
    InizioDescrizioneDellaPagina = InizioDescrizioneDellaPagina + Len("<meta name=""description"" content=""")
    'Trova la posizione di chiusura del tag HTML della descrizione
    FineDescrizioneDellaPagina = InStr(InizioDescrizioneDellaPagina, ContenutoDelFile, """>", 1)
    DescrizioneDellaPagina = Server.HTMLEncode(Trim(Mid(ContenutoDelFile, InizioDescrizioneDellaPagina, (FineDescrizioneDellaPagina - InizioDescrizioneDellaPagina))))
    Else
    DescrizioneDellaPagina = "Nessuna descrizione disponibile per questa pagina"
    End If
    'Mette i risultati della ricerca nell' Array dei risultati
    'e calcola la posizione nell'Array del risultato ottenuto
    ArrayPosizioneRisultati = ArrayPosizioneRisultati + 1
    CorrispondenzaTrovata = True
    'Controlla se il file è nella root
    If Root = True Then
    'Mette il risultato della ricerca nell' Array dei risultati
    ArrayRisultatiRicerca(ArrayPosizioneRisultati) = "" & TitoloDellaPagina & "
    pagina: <font color='#009900'> " & File.Name & "</font>
    " & vbCrLf & " " & DescrizioneDellaPagina
    'Se non è nella root
    Else
    'Mette il risultato della ricerca nell' Array dei risultati
    ArrayRisultatiRicerca(ArrayPosizioneRisultati) = "" & TitoloDellaPagina & "
    pagina: <font color='#009900'>" & File.Name & "</font>
    " & vbCrLf & " " & DescrizioneDellaPagina
    End If
    End If
    End If
    StreamTesto.Close
    End If
    End If
    Next
    'Ciclo per cercare nelle sottocartelle
    For Each SottoCartella In Cartella.SubFolders
    'Controlla che la cartella dove viene effettuata la ricerca non sia tra le cartelle da escludere
    If NOT InStr(1, CartellaDaEscludere, SottoCartella.Name, vbTextCompare) > 0 Then
    'Imposta la root a False in quanto si sta cercando in una sottocartella
    Root = False
    FileURL = Cartella.Path & "\"
    FileURL = Replace(FileURL, ServerPath, "")
    FileURL = Replace(FileURL, "\", "/")
    FileURL = Replace(FileURL, " ", "%20")
    Call SearchFile(SottoCartella)
    End If
    Next
    Set File = Nothing
    Set StreamTesto = Nothing
    Set SottoCartella = Nothing
    End Sub%>
    call SearchFile(SottoCartella)
    End If
    Next
    Set File = Nothing
    Set StreamTesto = Nothing
    Set SottoCartella = Nothing
    End Sub%>

  2. #2
    la prox volta pensaci prima due volte prima di dire di si

  3. #3
    Utente di HTML.it L'avatar di dwb
    Registrato dal
    Mar 2001
    residenza
    My IDE! :)
    Messaggi
    2,908
    Originariamente inviato da Jc_
    la prox volta pensaci prima due volte prima di dire di si
    ~Il nome di una variabile deve riflettere il suo scopo e non il suo tipo di dati, NET Framework.

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    388
    non si può sempre scegliere, purtroppo al lavoro mi passanno dalla grafica alla programmazione al flash e devo sempre rincorrere!
    Molte volte mi salvo grazie al forum !!
    grazie comunque!!!

  5. #5
    Utente di HTML.it L'avatar di dwb
    Registrato dal
    Mar 2001
    residenza
    My IDE! :)
    Messaggi
    2,908
    Pensavo fosse diversa la situazione!
    Bè, allora digli al tuo capo che sei un uomo.. non una macchina.
    ~Il nome di una variabile deve riflettere il suo scopo e non il suo tipo di dati, NET Framework.

  6. #6
    Originariamente inviato da dwb
    Pensavo fosse diversa la situazione!
    Bè, allora digli al tuo capo che sei un uomo.. non una macchina.
    allora sorry.
    vedo di trovare 5 min e darti una mano.
    non ti assicuro niente però..anche io ho una consegna venerdì.

  7. #7
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Forse è stupido quello che dico. Comunque, se avessi una pagina asp funzionante, non la trasformerei di certo in aspx, ma la userei tranquillamente nel progetto aspx.

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    388
    il problema è sapere i vari import per la lettura file cartelle e via dicendo poi vorrei sapere se la gestione delle stringhe sia unguale in al asp tradizionale

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.