07/01/12 11:58
GN
Postato originariamente da bibimeravilla96:
Ho provato il codice ma non va bene mi da 2 errori i seguenti:
Credo che l'errore sia colpa del fatto che quando tenti di leggere l'HtmlDocument il webbrowser non ha ancora caricato la pagina (scrivendo di fretta non avevo tenuto conto di questo fatto); facendo come ti ha suggerito ampeg dovresti risolvere. Aggiungo che secondo me non c'è bisogno di importare mshtml (che occupa circa 9 MB) perchè basta leggere l'attributo href del tag <A> con il metodo GetAttribute (
msdn.microsoft.com/it-it/library/…):
ListBox1.Items.Add(he.GetAttribute("href"))
Ultima modifica effettuata da GN 07/01/12 12:02
aaa
07/01/12 12:36
ampeg
per ottenere solo determinati link devi filtrare il risultato che hai ottenuto attraverso il confronto tra stringhe e altre operazioni sulle stringhe
msdn.microsoft.com/it-it/library/…
Ultima modifica effettuata da ampeg 07/01/12 12:39
aaa
07/01/12 12:46
bibimeravilla96
In questo caso devo fare un confronto tra item....essendo una list box, o sbaglio??
Ultima modifica effettuata da bibimeravilla96 07/01/12 14:39
aaa
07/01/12 15:20
ampeg
devi fare un confronto testuale e lo puoi fare prima di aggiungere il testo alla listbox
esempio se voglio che siano inseriti nella listbox solo quei link che contengono il testo ".com" posso fare come segue
For Each he As HtmlElement In CType(sender, WebBrowser).Document.Links
'Assegno alla variabile sLink il testo del link anziché aggiungerlo direttamente alla ListBox
Dim sLink As String = he.GetAttribute("href").ToString
'Imposto il testo da filtrare
Dim sFind As String = ".COM"
'IndexOf restituisce la posizione del carattere all'interno della stringa qualora il testo in sFind sia incluso altrimenti restituisce -1
If sLink.ToLower.IndexOf(sFind.ToLower) > -1 Then
'il testo da cercare è incluso nel testo del link quindi lo aggiungo alla listbox
ListBox1.Items.Add(sLink)
End If
'le funzioni ToLower applicate alle variabili stringa convertono il testo in minuscolo, in questo modo possiamo usare indipendentemente le lettere maiuscole / minuscole per cercare il testo
Next
oppure puo anche usare direttamente la funzione IndexOf per ignorare il testo maiuscolo / minuscolo mettendo l'argomento "StringComparison.OrdinalIgnoreCase"
If sLink.IndexOf(sFind, 0, StringComparison.OrdinalIgnoreCase) > -1 Then
ListBox1.Items.Add(sLink)
End If
Ultima modifica effettuata da ampeg 07/01/12 15:27
aaa
07/01/12 15:41
bibimeravilla96
Grazie mille perfetto....
Ultima cosa se voglio invece ripulire la list box da item uguali.....ovvero se si presentano nella list box 2 item uguali come faccio a far si che ne resti solo uno ad esempio: pippo voglio che diventi : pippo ???
topolino topolino
paperino paperino
pippo
io so come si rimuovono uno per uno gli item o rimuoverli tutti da una list box ma non credo servi....
Ultima modifica effettuata da bibimeravilla96 07/01/12 18:37
aaa