Nuova lettura configurazione
This commit is contained in:
+71
-3
@@ -23,6 +23,13 @@ Public Class FrmMain
|
||||
DefVentosa
|
||||
End Enum
|
||||
|
||||
Private Enum ReadCfgResult
|
||||
OK
|
||||
WARNING
|
||||
ERR0
|
||||
ERR1
|
||||
End Enum
|
||||
|
||||
Private Const CFG_DEFAULT As String = "Default"
|
||||
|
||||
Private m_sDataRoot As String = ""
|
||||
@@ -392,6 +399,48 @@ Public Class FrmMain
|
||||
Next
|
||||
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
|
||||
Private Sub LeggiFileConfigurazione()
|
||||
|
||||
@@ -413,7 +462,9 @@ Public Class FrmMain
|
||||
DirToReadCfg = DirToReadCfg & MainModule.IndexProc
|
||||
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 <> "")
|
||||
NomeFileCfg = DirToReadCfg & "\CameraMng.cfg"
|
||||
@@ -452,12 +503,15 @@ Public Class FrmMain
|
||||
TmpString = reader.ReadLine()
|
||||
If TmpString.StartsWith("FileCali=") Then
|
||||
FileLensCalib = Mid(TmpString, 10)
|
||||
IsCorrectFilePathReadFromCfg(DirToReadCfg, FileLensCalib, sMsgErr)
|
||||
ElseIf TmpString.StartsWith("LensCalibType=") Then
|
||||
LensCalibType = Convert.ToInt16(Mid(TmpString, 15))
|
||||
ElseIf TmpString.StartsWith("FileCaliProsp=") Then
|
||||
FileCalibProsp = Mid(TmpString, 15)
|
||||
IsCorrectFilePathReadFromCfg(DirToReadCfg, FileCalibProsp, sMsgErr)
|
||||
ElseIf TmpString.StartsWith("FileCaliRes=") Then
|
||||
FileCalibRes = Mid(TmpString, 13)
|
||||
IsCorrectFilePathReadFromCfg(DirToReadCfg, FileCalibRes, sMsgErr)
|
||||
ElseIf TmpString.StartsWith("Extended=") Then
|
||||
bExtended = CInt(TmpString.Substring(9)) > 0 'lascio vedere tutti i bottoni
|
||||
BtnCfg.Visible = bExtended
|
||||
@@ -467,8 +521,10 @@ Public Class FrmMain
|
||||
BtnLoad.Visible = bExtended
|
||||
ElseIf TmpString.StartsWith("SaveDir=") Then
|
||||
SaveDir = Mid(TmpString, 9)
|
||||
IsCorrectFilePathReadFromCfg(DirToReadCfg, SaveDir, sMsgErr)
|
||||
ElseIf TmpString.StartsWith("TmpDir=") Then
|
||||
DirTmp = Mid(TmpString, 8)
|
||||
IsCorrectFilePathReadFromCfg(DirToReadCfg, DirTmp, sMsgErr)
|
||||
ElseIf TmpString.StartsWith("MaxPxWidth=") Then
|
||||
TmpInt = Convert.ToInt16(Mid(TmpString, 12))
|
||||
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
|
||||
ElseIf TmpString.StartsWith("LogDir=") Then
|
||||
SaveLogDir = Mid(TmpString, 8)
|
||||
IsCorrectFilePathReadFromCfg(DirToReadCfg, SaveLogDir, sMsgErr)
|
||||
ElseIf TmpString.StartsWith("CameraID=") Then
|
||||
CameraID = Mid(TmpString, 10)
|
||||
CfgForm.LbCfgCameraID.Text = CameraID
|
||||
@@ -517,12 +574,16 @@ Public Class FrmMain
|
||||
VacuumCheckEnable = TmpInt > 0
|
||||
ElseIf TmpString.StartsWith("VacFileStart=") Then
|
||||
VacFileStart = Mid(TmpString, Len("StartVacFile=") + 1)
|
||||
IsCorrectFilePathReadFromCfg(DirToReadCfg, VacFileStart, sMsgErr)
|
||||
ElseIf TmpString.StartsWith("VacFilePos=") Then
|
||||
VacFilePos = Mid(TmpString, Len("VacFilePos=") + 1)
|
||||
IsCorrectFilePathReadFromCfg(DirToReadCfg, VacFilePos, sMsgErr)
|
||||
ElseIf TmpString.StartsWith("VacFileEnd=") Then
|
||||
VacFileEnd = Mid(TmpString, Len("VacFileEnd=") + 1)
|
||||
IsCorrectFilePathReadFromCfg(DirToReadCfg, VacFileEnd, sMsgErr)
|
||||
ElseIf TmpString.StartsWith("VacDirModels=") Then
|
||||
VacDirModels = Mid(TmpString, Len("VacDirModels=") + 1)
|
||||
IsCorrectFilePathReadFromCfg(DirToReadCfg, VacDirModels, sMsgErr)
|
||||
ElseIf TmpString.StartsWith("VacMinScore=") Then
|
||||
VacMinScore = Convert.ToDouble(Mid(TmpString, Len("VacMinScore=") + 1), nfi)
|
||||
ElseIf TmpString.StartsWith("VacTolmm=") Then
|
||||
@@ -531,6 +592,13 @@ Public Class FrmMain
|
||||
End While
|
||||
reader.Close()
|
||||
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
|
||||
MsgBox("Error in Cfg File " & TmpString)
|
||||
End Try
|
||||
@@ -856,7 +924,7 @@ Public Class FrmMain
|
||||
DirToReadCfg = DirToReadCfg & ComboBoxCameraCfg.SelectedItem.ToString()
|
||||
End If
|
||||
Else
|
||||
DirToReadCfg = DirToReadCfg & MainModule.IndexProc.ToString()
|
||||
DirToReadCfg = DirToReadCfg & MainModule.IndexProc
|
||||
End If
|
||||
NomeFileCfg = DirToReadCfg & "\CameraMng.cfg"
|
||||
NomeFileTempCfg = DirToReadCfg & "\CameraMngTmp.cfg"
|
||||
@@ -940,7 +1008,7 @@ Public Class FrmMain
|
||||
DirToReadCfg = DirToReadCfg & ComboBoxCameraCfg.SelectedItem.ToString()
|
||||
End If
|
||||
Else
|
||||
DirToReadCfg = DirToReadCfg & MainModule.IndexProc.ToString()
|
||||
DirToReadCfg = DirToReadCfg & MainModule.IndexProc
|
||||
End If
|
||||
NomeFileCfg = DirToReadCfg & "\CameraMng.cfg"
|
||||
NomeFileTempCfg = DirToReadCfg & "\CameraMngTmp.cfg"
|
||||
|
||||
Reference in New Issue
Block a user