diff --git a/TrasferimentoProgrammiOkuma.App/Form1.vb b/TrasferimentoProgrammiOkuma.App/Form1.vb index 12e3b1f..9fa0328 100644 --- a/TrasferimentoProgrammiOkuma.App/Form1.vb +++ b/TrasferimentoProgrammiOkuma.App/Form1.vb @@ -681,7 +681,7 @@ Public Class Form1 Dim fileBytes = Await File.ReadAllBytesAsync(txtFileInvio.Text, token) fileBytes = RemoveUtf8BomIfPresent(fileBytes) LogFirstBytes(fileBytes) - ValidateCncTextBytes(fileBytes) + LogNonStandardCncBytes(fileBytes) Dim blockPaced = chkInvioBlocchi.Checked Dim terminator = If(blockPaced, Encoding.ASCII.GetBytes("%" & vbCrLf), GetTerminatorBytes()) @@ -1036,15 +1036,27 @@ Public Class Form1 End If End Sub - Private Shared Sub ValidateCncTextBytes(data As Byte()) + Private Sub LogNonStandardCncBytes(data As Byte()) + Dim firstInvalidPosition As Integer = -1 + Dim firstInvalidValue As Byte = 0 + Dim invalidCount As Integer + For i = 0 To data.Length - 1 Dim value = data(i) Dim isAllowedControl = value = &H9 OrElse value = &HA OrElse value = &HD Dim isPrintableAscii = value >= &H20 AndAlso value <= &H7E If Not isAllowedControl AndAlso Not isPrintableAscii Then - Throw New InvalidDataException($"Il file non sembra testo CNC ASCII/7 bit: byte non valido 0x{value:X2} alla posizione {i}.") + invalidCount += 1 + If firstInvalidPosition < 0 Then + firstInvalidPosition = i + firstInvalidValue = value + End If End If Next + + If invalidCount > 0 Then + Log($"Avviso: trovati {invalidCount} byte di controllo/non ASCII. Primo valore 0x{firstInvalidValue:X2} alla posizione {firstInvalidPosition}. Invio comunque.") + End If End Sub Private Sub SetBusy(isBusy As Boolean) diff --git a/clickonce/LMEMoxaTransfer.application b/clickonce/LMEMoxaTransfer.application index 3d4e67f..decc81e 100644 --- a/clickonce/LMEMoxaTransfer.application +++ b/clickonce/LMEMoxaTransfer.application @@ -21,7 +21,7 @@ - xn+ltMyVKq9ey0rNQnMvedxwL0v712BJKOqQDfhnUic= + k2O3hUFhGfgwuhFEiQcuDbJSG2zccoTiVaGjWOKs7Kw= diff --git a/clickonce/LMEMoxaTransfer.dll b/clickonce/LMEMoxaTransfer.dll index 2553464..55a0cbc 100644 Binary files a/clickonce/LMEMoxaTransfer.dll and b/clickonce/LMEMoxaTransfer.dll differ diff --git a/clickonce/LMEMoxaTransfer.dll.manifest b/clickonce/LMEMoxaTransfer.dll.manifest index 2877963..b76511b 100644 --- a/clickonce/LMEMoxaTransfer.dll.manifest +++ b/clickonce/LMEMoxaTransfer.dll.manifest @@ -78,7 +78,7 @@ - 6ak63q3A1wBNB1K3aAaWgj8FXDjDZK9h43dSltYtzFc= + zDkoqd374fXylpFzzdrcE6tDrsldi7H3qk8lsY5mi8s= @@ -87,7 +87,7 @@ - MTWvipKrLx4Z9k9iHJsQdbI7dgO69mvCMHhKtsxpGgA= + NcYT1Cqbl1/pjWEqR0fuPHedbzqCZF3gF/41VgVCoZg= \ No newline at end of file diff --git a/clickonce/LMEMoxaTransfer.exe b/clickonce/LMEMoxaTransfer.exe index 2c24532..50f2bd6 100644 Binary files a/clickonce/LMEMoxaTransfer.exe and b/clickonce/LMEMoxaTransfer.exe differ diff --git a/clickonce/LMEMoxaTransfer.pdb b/clickonce/LMEMoxaTransfer.pdb index 8103a05..419490b 100644 Binary files a/clickonce/LMEMoxaTransfer.pdb and b/clickonce/LMEMoxaTransfer.pdb differ