' === Pratica Obrigatoria 1 (ATIVO) ===
Option Explicit

Private Sub UserForm_Initialize()
    Me.Caption = "FastLog S.A. - Balança Operacional (" & Format(Date, "dd/mm/yyyy") & ")"
    txtPlaca.SetFocus
End Sub

Private Sub cmdFechar_Click()
    Unload Me
End Sub

Private Sub cmdGravar_Click()
    Dim ws As Worksheet
    Dim lngLinha As Long
    Dim strPlaca As String
    Dim strMotorista As String
    Dim dblPeso As Double
    
    Set ws = ThisWorkbook.Worksheets(1)
    
    ' Validações de Consistência
    If Trim(txtPlaca.Text) = "" Then
        MsgBox "A placa do veículo é obrigatória!", vbExclamation, "Validação"
        txtPlaca.SetFocus
        Exit Sub
    End If
    
    If Trim(txtMotorista.Text) = "" Then
        MsgBox "O nome do motorista é obrigatório!", vbExclamation, "Validação"
        txtMotorista.SetFocus
        Exit Sub
    End If
    
    If Not IsNumeric(txtPeso.Text) Or Val(txtPeso.Text) <= 0 Then
        MsgBox "Informe um peso válido!", vbExclamation, "Validação"
        txtPeso.SetFocus
        Exit Sub
    End If
    
    ' Higienização
    strPlaca = UCase(Trim(Replace(txtPlaca.Text, "-", "")))
    strMotorista = UCase(Trim(txtMotorista.Text))
    dblPeso = CDbl(txtPeso.Text)
    
    ' Gravação
    lngLinha = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row + 1
    ws.Cells(lngLinha, 1).Value = lngLinha - 1
    ws.Cells(lngLinha, 2).Value = strPlaca
    ws.Cells(lngLinha, 3).Value = strMotorista
    ws.Cells(lngLinha, 4).Value = dblPeso
    ws.Cells(lngLinha, 5).Value = Now
    
    ws.Cells(lngLinha, 4).NumberFormat = "#,##0 'kg'"
    ws.Cells(lngLinha, 5).NumberFormat = "dd/mm/yyyy hh:mm:ss"
    ws.Columns("A:E").AutoFit
    
    MsgBox "Registro gravado com sucesso!", vbInformation, "Triagem Homologada"
    
    ' Limpeza e Foco
    txtPlaca.Text = ""
    txtMotorista.Text = ""
    txtPeso.Text = ""
    txtPlaca.SetFocus
End Sub

