Nuova lettura configurazione
This commit is contained in:
+71
-3
@@ -23,6 +23,13 @@ Public Class FrmMain
|
|||||||
DefVentosa
|
DefVentosa
|
||||||
End Enum
|
End Enum
|
||||||
|
|
||||||
|
Private Enum ReadCfgResult
|
||||||
|
OK
|
||||||
|
WARNING
|
||||||
|
ERR0
|
||||||
|
ERR1
|
||||||
|
End Enum
|
||||||
|
|
||||||
Private Const CFG_DEFAULT As String = "Default"
|
Private Const CFG_DEFAULT As String = "Default"
|
||||||
|
|
||||||
Private m_sDataRoot As String = ""
|
Private m_sDataRoot As String = ""
|
||||||
@@ -392,6 +399,48 @@ Public Class FrmMain
|
|||||||
Next
|
Next
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
' Costruisco il percorso del file letto da configurazione
|
||||||
|
Private Sub IsCorrectFilePathReadFromCfg(DirToReadCfg As String, ByRef sStringPath As String, ByRef sMsg As String)
|
||||||
|
Dim bOk As ReadCfgResult = ReadCfgResult.OK
|
||||||
|
|
||||||
|
sStringPath = sStringPath.Trim
|
||||||
|
If Not sStringPath.StartsWith("\") And Not sStringPath.StartsWith(".\") Then
|
||||||
|
' Warning! il percorso potrebbe non essere relativo
|
||||||
|
If sStringPath.Contains("CameraMng") Then
|
||||||
|
' Errore! il percorso contiene un riferimento alla cartella
|
||||||
|
bOk = ReadCfgResult.ERR0
|
||||||
|
Else
|
||||||
|
bOk = ReadCfgResult.WARNING
|
||||||
|
sStringPath = DirToReadCfg & "\" & sStringPath
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
' OK! il percorso è potenzialmente correto
|
||||||
|
If sStringPath.Contains("\CameraMng") Then
|
||||||
|
' Errore! il percorso contiene un riferimento alla cartella
|
||||||
|
bOk = ReadCfgResult.ERR1
|
||||||
|
Else
|
||||||
|
' rimuovo il primo carattere se è il punto (".")
|
||||||
|
If sStringPath.StartsWith(".") Then sStringPath.Remove(0, 1)
|
||||||
|
' Ok! il percorso è accettato
|
||||||
|
bOk = ReadCfgResult.OK
|
||||||
|
sStringPath = DirToReadCfg & sStringPath
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
CreateMsgTextErr(bOk, sStringPath, sMsg)
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub CreateMsgTextErr(ReadCfg As ReadCfgResult, sStringPath As String, ByRef sMsg As String)
|
||||||
|
Select Case ReadCfg
|
||||||
|
Case ReadCfgResult.WARNING
|
||||||
|
sMsg &= String.Format(" · Il percorso relativo '{0}' deve iniziare con '.\'.", sStringPath) & vbCrLf
|
||||||
|
Case ReadCfgResult.ERR0
|
||||||
|
sMsg &= String.Format(" · Il percorso '{0}' contiene un riferimento alla cartella '.\CameraMng'.", sStringPath) & vbCrLf
|
||||||
|
Case ReadCfgResult.ERR1
|
||||||
|
sMsg &= String.Format(" · Il percorso '{0}' contiene un riferimento alla cartella '.\CameraMng', deve essere sostituito con {1}.", sStringPath, sStringPath.Replace("CameraMng", "")) & vbCrLf
|
||||||
|
End Select
|
||||||
|
End Sub
|
||||||
|
|
||||||
' procedo alla lettura del file *.cfg
|
' procedo alla lettura del file *.cfg
|
||||||
Private Sub LeggiFileConfigurazione()
|
Private Sub LeggiFileConfigurazione()
|
||||||
|
|
||||||
@@ -413,7 +462,9 @@ Public Class FrmMain
|
|||||||
DirToReadCfg = DirToReadCfg & MainModule.IndexProc
|
DirToReadCfg = DirToReadCfg & MainModule.IndexProc
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Console.WriteLine("LETTURA CONFIGURAZIONE: " & MainModule.IndexProc & " -- " & DirToReadCfg)
|
Dim sMsgErr As String = String.Empty
|
||||||
|
|
||||||
|
' Console.WriteLine("LETTURA CONFIGURAZIONE: " & MainModule.IndexProc & " -- " & DirToReadCfg)
|
||||||
|
|
||||||
Debug.Assert(DirToReadCfg <> "")
|
Debug.Assert(DirToReadCfg <> "")
|
||||||
NomeFileCfg = DirToReadCfg & "\CameraMng.cfg"
|
NomeFileCfg = DirToReadCfg & "\CameraMng.cfg"
|
||||||
@@ -452,12 +503,15 @@ Public Class FrmMain
|
|||||||
TmpString = reader.ReadLine()
|
TmpString = reader.ReadLine()
|
||||||
If TmpString.StartsWith("FileCali=") Then
|
If TmpString.StartsWith("FileCali=") Then
|
||||||
FileLensCalib = Mid(TmpString, 10)
|
FileLensCalib = Mid(TmpString, 10)
|
||||||
|
IsCorrectFilePathReadFromCfg(DirToReadCfg, FileLensCalib, sMsgErr)
|
||||||
ElseIf TmpString.StartsWith("LensCalibType=") Then
|
ElseIf TmpString.StartsWith("LensCalibType=") Then
|
||||||
LensCalibType = Convert.ToInt16(Mid(TmpString, 15))
|
LensCalibType = Convert.ToInt16(Mid(TmpString, 15))
|
||||||
ElseIf TmpString.StartsWith("FileCaliProsp=") Then
|
ElseIf TmpString.StartsWith("FileCaliProsp=") Then
|
||||||
FileCalibProsp = Mid(TmpString, 15)
|
FileCalibProsp = Mid(TmpString, 15)
|
||||||
|
IsCorrectFilePathReadFromCfg(DirToReadCfg, FileCalibProsp, sMsgErr)
|
||||||
ElseIf TmpString.StartsWith("FileCaliRes=") Then
|
ElseIf TmpString.StartsWith("FileCaliRes=") Then
|
||||||
FileCalibRes = Mid(TmpString, 13)
|
FileCalibRes = Mid(TmpString, 13)
|
||||||
|
IsCorrectFilePathReadFromCfg(DirToReadCfg, FileCalibRes, sMsgErr)
|
||||||
ElseIf TmpString.StartsWith("Extended=") Then
|
ElseIf TmpString.StartsWith("Extended=") Then
|
||||||
bExtended = CInt(TmpString.Substring(9)) > 0 'lascio vedere tutti i bottoni
|
bExtended = CInt(TmpString.Substring(9)) > 0 'lascio vedere tutti i bottoni
|
||||||
BtnCfg.Visible = bExtended
|
BtnCfg.Visible = bExtended
|
||||||
@@ -467,8 +521,10 @@ Public Class FrmMain
|
|||||||
BtnLoad.Visible = bExtended
|
BtnLoad.Visible = bExtended
|
||||||
ElseIf TmpString.StartsWith("SaveDir=") Then
|
ElseIf TmpString.StartsWith("SaveDir=") Then
|
||||||
SaveDir = Mid(TmpString, 9)
|
SaveDir = Mid(TmpString, 9)
|
||||||
|
IsCorrectFilePathReadFromCfg(DirToReadCfg, SaveDir, sMsgErr)
|
||||||
ElseIf TmpString.StartsWith("TmpDir=") Then
|
ElseIf TmpString.StartsWith("TmpDir=") Then
|
||||||
DirTmp = Mid(TmpString, 8)
|
DirTmp = Mid(TmpString, 8)
|
||||||
|
IsCorrectFilePathReadFromCfg(DirToReadCfg, DirTmp, sMsgErr)
|
||||||
ElseIf TmpString.StartsWith("MaxPxWidth=") Then
|
ElseIf TmpString.StartsWith("MaxPxWidth=") Then
|
||||||
TmpInt = Convert.ToInt16(Mid(TmpString, 12))
|
TmpInt = Convert.ToInt16(Mid(TmpString, 12))
|
||||||
If TmpInt > 0 Then ImageMng.MaxPxWidthOutImage = TmpInt
|
If TmpInt > 0 Then ImageMng.MaxPxWidthOutImage = TmpInt
|
||||||
@@ -476,6 +532,7 @@ Public Class FrmMain
|
|||||||
_visione.ReduceImage = CInt(TmpString.Substring(11)) 'pyr_down nel riconoscimento bordi
|
_visione.ReduceImage = CInt(TmpString.Substring(11)) 'pyr_down nel riconoscimento bordi
|
||||||
ElseIf TmpString.StartsWith("LogDir=") Then
|
ElseIf TmpString.StartsWith("LogDir=") Then
|
||||||
SaveLogDir = Mid(TmpString, 8)
|
SaveLogDir = Mid(TmpString, 8)
|
||||||
|
IsCorrectFilePathReadFromCfg(DirToReadCfg, SaveLogDir, sMsgErr)
|
||||||
ElseIf TmpString.StartsWith("CameraID=") Then
|
ElseIf TmpString.StartsWith("CameraID=") Then
|
||||||
CameraID = Mid(TmpString, 10)
|
CameraID = Mid(TmpString, 10)
|
||||||
CfgForm.LbCfgCameraID.Text = CameraID
|
CfgForm.LbCfgCameraID.Text = CameraID
|
||||||
@@ -517,12 +574,16 @@ Public Class FrmMain
|
|||||||
VacuumCheckEnable = TmpInt > 0
|
VacuumCheckEnable = TmpInt > 0
|
||||||
ElseIf TmpString.StartsWith("VacFileStart=") Then
|
ElseIf TmpString.StartsWith("VacFileStart=") Then
|
||||||
VacFileStart = Mid(TmpString, Len("StartVacFile=") + 1)
|
VacFileStart = Mid(TmpString, Len("StartVacFile=") + 1)
|
||||||
|
IsCorrectFilePathReadFromCfg(DirToReadCfg, VacFileStart, sMsgErr)
|
||||||
ElseIf TmpString.StartsWith("VacFilePos=") Then
|
ElseIf TmpString.StartsWith("VacFilePos=") Then
|
||||||
VacFilePos = Mid(TmpString, Len("VacFilePos=") + 1)
|
VacFilePos = Mid(TmpString, Len("VacFilePos=") + 1)
|
||||||
|
IsCorrectFilePathReadFromCfg(DirToReadCfg, VacFilePos, sMsgErr)
|
||||||
ElseIf TmpString.StartsWith("VacFileEnd=") Then
|
ElseIf TmpString.StartsWith("VacFileEnd=") Then
|
||||||
VacFileEnd = Mid(TmpString, Len("VacFileEnd=") + 1)
|
VacFileEnd = Mid(TmpString, Len("VacFileEnd=") + 1)
|
||||||
|
IsCorrectFilePathReadFromCfg(DirToReadCfg, VacFileEnd, sMsgErr)
|
||||||
ElseIf TmpString.StartsWith("VacDirModels=") Then
|
ElseIf TmpString.StartsWith("VacDirModels=") Then
|
||||||
VacDirModels = Mid(TmpString, Len("VacDirModels=") + 1)
|
VacDirModels = Mid(TmpString, Len("VacDirModels=") + 1)
|
||||||
|
IsCorrectFilePathReadFromCfg(DirToReadCfg, VacDirModels, sMsgErr)
|
||||||
ElseIf TmpString.StartsWith("VacMinScore=") Then
|
ElseIf TmpString.StartsWith("VacMinScore=") Then
|
||||||
VacMinScore = Convert.ToDouble(Mid(TmpString, Len("VacMinScore=") + 1), nfi)
|
VacMinScore = Convert.ToDouble(Mid(TmpString, Len("VacMinScore=") + 1), nfi)
|
||||||
ElseIf TmpString.StartsWith("VacTolmm=") Then
|
ElseIf TmpString.StartsWith("VacTolmm=") Then
|
||||||
@@ -531,6 +592,13 @@ Public Class FrmMain
|
|||||||
End While
|
End While
|
||||||
reader.Close()
|
reader.Close()
|
||||||
reader.Dispose()
|
reader.Dispose()
|
||||||
|
|
||||||
|
If Not String.IsNullOrEmpty(sMsgErr) And Not ModalitaNascosta Then
|
||||||
|
MessageBox.Show(sMsgErr, NomeFileCfg, MessageBoxButtons.OK, MessageBoxIcon.Hand)
|
||||||
|
Else
|
||||||
|
Console.WriteLine("ERRORE LETTURA CONFIGURAZIONE: " & MainModule.IndexProc & " -- " & sMsgErr)
|
||||||
|
End If
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
MsgBox("Error in Cfg File " & TmpString)
|
MsgBox("Error in Cfg File " & TmpString)
|
||||||
End Try
|
End Try
|
||||||
@@ -856,7 +924,7 @@ Public Class FrmMain
|
|||||||
DirToReadCfg = DirToReadCfg & ComboBoxCameraCfg.SelectedItem.ToString()
|
DirToReadCfg = DirToReadCfg & ComboBoxCameraCfg.SelectedItem.ToString()
|
||||||
End If
|
End If
|
||||||
Else
|
Else
|
||||||
DirToReadCfg = DirToReadCfg & MainModule.IndexProc.ToString()
|
DirToReadCfg = DirToReadCfg & MainModule.IndexProc
|
||||||
End If
|
End If
|
||||||
NomeFileCfg = DirToReadCfg & "\CameraMng.cfg"
|
NomeFileCfg = DirToReadCfg & "\CameraMng.cfg"
|
||||||
NomeFileTempCfg = DirToReadCfg & "\CameraMngTmp.cfg"
|
NomeFileTempCfg = DirToReadCfg & "\CameraMngTmp.cfg"
|
||||||
@@ -940,7 +1008,7 @@ Public Class FrmMain
|
|||||||
DirToReadCfg = DirToReadCfg & ComboBoxCameraCfg.SelectedItem.ToString()
|
DirToReadCfg = DirToReadCfg & ComboBoxCameraCfg.SelectedItem.ToString()
|
||||||
End If
|
End If
|
||||||
Else
|
Else
|
||||||
DirToReadCfg = DirToReadCfg & MainModule.IndexProc.ToString()
|
DirToReadCfg = DirToReadCfg & MainModule.IndexProc
|
||||||
End If
|
End If
|
||||||
NomeFileCfg = DirToReadCfg & "\CameraMng.cfg"
|
NomeFileCfg = DirToReadCfg & "\CameraMng.cfg"
|
||||||
NomeFileTempCfg = DirToReadCfg & "\CameraMngTmp.cfg"
|
NomeFileTempCfg = DirToReadCfg & "\CameraMngTmp.cfg"
|
||||||
|
|||||||
Reference in New Issue
Block a user