Salvataggio Informazioni Colore Form Backcolor

venerdì 17 agosto 2007 - 08.36

walter.tomiati.90 Profilo | Junior Member

Salve,
avrei bisogno di salvere in un file il colore di una form e ho scritto il
seguente codice:

Public Class main_form
Private Sub butt_avanti_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles butt_avanti.Click
FileOpen(1, "nomefile.estensione", OpenMode.Random, OpenAccess.ReadWrite, OpenShare.LockReadWrite)
FilePut(1, Me.BackColor)
End Sub
End Class

Il problema è che il file viene creato ma non contiene nessun valore !!!
Dove ho sbagliato ?

Tomiati Walter
---> Gabba, Gabba, Hey !!! <---

erongis Profilo | Junior Member

Se non erro stai usanto VB.NET e non VB6. In questo caso sarebbe meglio utilizzare le settings del progetto utilizzando le classi my.settings.....

Crei una nuova proprietà e ci scrivi dentro il valore in formato testo (mettici le virgolette prima e dopo).

Hai dei problemi di sicurezza perchè il file è in formato XML, ma tanto il colore di fondo non penso sia un dato riservato.

walter.tomiati.90 Profilo | Junior Member

no...sto usando visual basic 2005...ho scritto il mio problema nella stanza di vb6 xkè non ci sono altre stanze x visual basic...
Tomiati Walter
---> Gabba, Gabba, Hey !!! <---

walter.tomiati.90 Profilo | Junior Member

cmq potresti spiegarmi meglio come si fa (magari scrivendo il codice ?) grazie
Tomiati Walter
---> Gabba, Gabba, Hey !!! <---

Faelar Profilo | Junior Member

Sinceramente non conosco bene le funzioni che hai utilizzato, e se non vuoi utilizzare i settings, _io_ ti consiglierei di usare lo StreamWriter, che è il modo più semplice per leggere e scrivere file.



Eccoti un esempio:

Private Sub btnSaveColor_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSaveColor.Click
Dim sw As New System.IO.StreamWriter("c:\test.txt") 'Apertura del file

sw.WriteLine(Me.BackColor.Name) 'Scrittura del nome del colore
sw.Write(FromColorToUInt32(Me.BackColor).ToString) 'Scrittura del codice del colore

sw.Close() 'Chiusura del file
End Sub

Private Function FromColorToUInt32(ByVal c As Color) As Long
Dim i As Long

i = c.R
i = i + 256 * c.G
i = i + 256 * 256 * c.B

return Convert.ToUInt32(i)
End Function



Cmq, per correttezza, dalla versione VS2003 si parla di .NET, quindi anche tu utilizzi questa.
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 !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5