Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Bookmarks su browser?
mercoledì 17 ottobre 2012 - 20.28
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
VB.NET
|
.NET 3.5
|
Windows 7
|
Visual Studio Express
ademontis
Profilo
| Newbie
1
messaggi | Data Invio:
mer 17 ott 2012 - 20:28
Buongiorno a tutti...
sto scrivendo un browser su visual studio 2008 express in VB e vorrei implementare i bookmarks, usando come metodo la scrittura / lettura di un file txt
L' idea sarebbe che da una pagina, clickando il bottone 'aggiungi ai preferiti', un codice fa un append a un file 'preferiti.txt'
nella forma TITOLO,URL
Nel browser una combobox mostrerebbe tutti i TITOLO, e selezionandone uno il programma dovrebbe prendere il corrispondente URL e passarlo al componente webbrowser1
Per fare il parse del file di testo sto usando questo codice nella sezione Form_load:
Using MyReader As New Microsoft.VisualBasic.FileIO.TextFieldParser("preferiti.txt")
MyReader.TextFieldType = FileIO.FieldType.Delimited
MyReader.SetDelimiters(",")
Dim currentRow As String()
While Not MyReader.EndOfData
Try
currentRow = MyReader.ReadFields()
Dim currentField As String
For Each currentField In currentRow
--- AZIONE --
Next
Catch ex As Microsoft.VisualBasic.FileIO.MalformedLineException
MsgBox("la linea " & ex.Message & "contiene un errore")
End Try
End While
End Using
dove ho scritto --AZIONE-- vorrei mettere il codice che:
- salva il currentfield PRIMA della virgola delimitatrice in una stringa (sarà il titolo)
- lo aggiunge alla combo tramite combobox1.additem (...)
- salva il currentfield DOPO la virgola delimitatrice in una seconda stringa (sarà l' URL)
il problema é che non so come fare in modo, essendo i preferiti in quantità variabile, che alla selezione di un certo preferito (ad esempio il 6°, 6a linea del file) l' url passata sia proprio quella corrispondente.
Suppongo si debba usare un ciclo che va da 1 al numero di linee contenute nel file di testo, e per contarle sto usando questo sistema:
- ho creato la variabile LINES come Long nella sezione settings del progetto
- utilizzato:
Dim lines As Long
lines = IO.File.ReadAllLines("preferiti.txt").Length
My.Settings.booklines = lines
My.Settings.Save()
My.Settings.Reload()
ma a questo punto mi blocco... non riesco a impostare il ciclo e non riesco concettualmente a capire in che punto inserirlo, se all' interno del parser o nella sezione dedicata al combobox
Ogni suggerimento é graditissimo!!
Grazie in anticipo
P.s. altrove mi hanno detto "usa un database o un file excel...". Purtroppo non posso, Visual Studio mi dà problemi con i componenti JET
Vinsent
Profilo
| Senior Member
268
messaggi | Data Invio:
mer 17 ott 2012 - 22:11
Puoi usare un xml al posto del txt e la classe dataset per leggere/scrivere il primo, in questo modo "simuli" un database o un file excel...in pratica avresti una tabella con due colonne, "titolo" e "url", e tante righe quante sono i bookmarks, il tutto in formato xml.
Quando fai partire il programma leggi il file xml e carichi i dati nel dataset, i valori della colonna "titolo" li aggiungi ad un controllo qualsiasi tipo una combobox o una listbox e al click con una funzione ricavi il valore corrispondente della colonna "url" con un ciclo sul dataset.
Mentre per il "salva bookmarks" basta che aggiungi una riga al dataset contente i due dati e alla chiusura del programma salvi i dati del dataset nel file xml.
Inoltre potresti visualizzare/modificare il tutto con un datagridview.
Se ti interessa la soluzione e hai dei problemi nell' applicarla chiedi pure.
ciao
Feroxis
Profilo
| Junior Member
80
messaggi | Data Invio:
gio 18 ott 2012 - 19:58
Come nei browser potresti mettere i preferiti in un pulsante se hai una toolstrip.
Metti un bottone poi additem per ogni riga che viene letta sul file txt
ogni riga è composta dal link di riferimento.
Questo caricamento avviene all'apertura del browser.
Fattibile con uno stram reader e un loop
sccrivo a mano e non fatto in visual potrebbe essere ibn linea di massima:
do until reader.endofstream
dim tollstripbutton as new toolstripbutton
toolstripbutton.text = reader.readline
addhandler toolstripbutton.click, addressof toolstripbutton_click
toolstrip.additem(tollstripbutton)
loop
Poi
Friend withevents toolstripbutton as new toolstripbutton
sub private toolstripbutton_click(sender as system.windows.form.toolstripbutton, e as EventArgs) Handles toolstripbutton.click
webbrowser1.navigete(sender.text)
end sub
Possibile?
Vinsent
Profilo
| Senior Member
268
messaggi | Data Invio:
ven 19 ott 2012 - 22:32
>Possibile?
Si...ma visto che scrive di descrizione/URL, quindi due elementi diversi ma associati, penso che il mio metodo sia più efficace e semplice da attuare....
PS: My.Settings, come sono usati, non c' entrano na' mazza............
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !