Originariamente inviato da Pirelli72
Hai in mano un'arrayList popolato con le tue strutture, quindi se devi trovare la password per un programma non puoi fare altro che usare un ciclo For..next, esempio:
Il problema della sicurezza rimane comunque anche nel caso che ti ho proposto, bisogna dire che le password e le Username NON sono in chiaro ma il problema rimane, se prende in mano il file qualcuno che capisce qualcosa di programmazione (e di serializzazione degli oggetti), capisce subito che si tratta di una serializzazione di un'Arralist e a quel punto potrebbe deserializzare e ricavarne le strutture.
Grandioso grazie mille
ora mi manca solo l'ultimo pezzo!!
dopo aver effettuato la ricerca dovrei poter modificare e salvare
e dopo aver ricercato dovrei poter eliminare il "programma" quindi tutto ciò che è a lui associato (username e pwd)
come faccio?
ti posto il codice che ho adattato:
codice:Imports System.IO Imports System.Collections Imports System.Runtime.Serialization.Formatters.Binary Imports System.Runtime.Serialization Public Class Form1 Dim myList As New ArrayList <Serializable()> _ Structure PWD Dim Programma As String Dim Username As String Dim Password As String Dim Note As String Sub New(ByVal programma As String, ByVal username As String, ByVal password As String, ByVal note As String) Me.Programma = programma Me.Password = password Me.Username = username Me.Note = note End Sub End Structure Sub AddItem() Dim myPWD As New PWD(TextBox1.Text, TextBox2.Text, TextBox3.Text, TextBox4.Text) myList.Add(myPWD) myPWD = New PWD(TextBox1.Text, TextBox2.Text, TextBox3.Text, TextBox4.Text) myList.Add(myPWD) myList.TrimToSize() Dim stream As FileStream = File.Open(Application.StartupPath & "\prova.bin", FileMode.Create) Dim formatter As New BinaryFormatter() formatter.Serialize(stream, myList) stream.Close() End Sub Sub Deserialize() Dim lista As ArrayList Dim stream As FileStream = File.Open(Application.StartupPath & "\prova.bin", FileMode.Open) Dim formatter As New BinaryFormatter() lista = formatter.Deserialize(stream) Dim mystruc As PWD = Find(ComboBox1.Text, lista) TextBox1.Text = mystruc.Programma TextBox2.Text = mystruc.Username TextBox3.Text = mystruc.Password TextBox4.Text = mystruc.Note stream.Close() End Sub Function Find(ByVal programma As String, ByVal lista As ArrayList) As PWD Dim mystruc As PWD For i As Integer = 0 To lista.Count - 1 mystruc = CType(lista(i), PWD) If ComboBox1.Items.Contains(mystruc.Programma) = False Then ComboBox1.Items.Add(mystruc.Programma) If mystruc.Programma = programma Then Return mystruc Next End Function Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Deserialize() End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click AddItem() End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ComboBox1.Items.Add(" ") Call Button2_Click(sender, e) End Sub End Class
Grazie ancora![]()


Rispondi quotando