Imports System.IO
Public Class Form2
Dim ricerca As Boolean = False
Dim datamin As Date
Dim datamax As Date
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
ricerca = False
Dim nome As String = ""
Dim cognome As String = ""
If RadioButton1.Checked Then
nome = InputBox("Inserisci il NOME da ricercare", "Ricerca per nome")
ElseIf RadioButton2.Checked Then
cognome = InputBox("Inserisci il COGNOME da ricercare", "Ricerca per cognome")
ElseIf RadioButton3.Checked Then
cognome = InputBox("Inserisci il COGNOME da ricercare", "Ricerca per cognome")
nome = InputBox("Inserisci il NOME da ricercare", "Ricerca per nome")
Else
If Not Date.TryParse(InputBox("Inserisci la data di inizio (yyyy-MM-dd)", "Ricerca per data"), datamin) Then
MsgBox("Formato data non valido per la data di inizio.", MsgBoxStyle.Exclamation, "Errore")
Exit Sub
End If
If Not Date.TryParse(InputBox("Inserisci la data di fine (yyyy-MM-dd)", "Ricerca per data"), datamax) Then
MsgBox("Formato data non valido per la data di fine.", MsgBoxStyle.Exclamation, "Errore")
Exit Sub
End If
End If
Dim dataGridViewColumnsCount As Integer = 13 ' Numero di colonne della DataGridView
DataGridView1.Rows.Clear() ' Cancella le righe esistenti prima di aggiungere nuove righe
Try
Using sr
As StreamReader
= File.
OpenText("registro_accessi.txt") While sr.Peek() <> -1
Dim riga As String = sr.ReadLine()
Dim campi() As String = riga.Split("|")
Dim dataCampo1 As Date
If Date.TryParse(campi(1), dataCampo1) AndAlso
campi.Length >= dataGridViewColumnsCount Then
If ((String.IsNullOrEmpty(nome) OrElse campi(4).ToUpper() = nome.ToUpper()) AndAlso
(String.IsNullOrEmpty(cognome) OrElse campi(3).ToUpper() = cognome.ToUpper())) AndAlso
(dataCampo1 >= datamin AndAlso dataCampo1 <= datamax) Then
ricerca = True
DataGridView1.Rows.Add(campi.Take(dataGridViewColumnsCount).ToArray())
End If
End If
End While
End Using
If Not ricerca Then
MsgBox("La ricerca non ha prodotto risultati.", MsgBoxStyle.Information, "Nessun elemento trovato")
End If
Catch ex As Exception
MsgBox("Si è verificato un errore durante la lettura del file: " & ex.Message, MsgBoxStyle.Critical, "Errore di lettura del file")
End Try
End Sub
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
RadioButton2.Checked = True
End Sub
End Class