In the latest instalment of my VB.Net adventure I need to check if the ini file is in the correct location. I have found some VB code to do the ini file reading I just need to check the file exists...So first move was a try...catch didn't work (?) I have done a similar in C# and used a try...catch in the past as below:
IniFile ini = new IniFile(INIPath + "\\FieldServiceTool.ini");
string ComBaudRate = null, ComParity = null, ComDataBits = null, ComStopBit = null, ComHandShake = null;
try
{
myComPort.PortName = ini.IniReadValue("COMMS", "EUIUBOARD");
ComBaudRate = ini.IniReadValue("COMMS", "BAUDRATE");
myComPort.BaudRate = Convert.ToInt32(ComBaudRate);
ComParity = ini.IniReadValue("COMMS", "PARITY");
myComPort.Parity = (Parity)Enum.Parse(typeof(Handshake), ComParity);
ComDataBits = ini.IniReadValue("COMMS", "DATABITS");
myComPort.DataBits = Convert.ToInt16(ComDataBits);
ComStopBit = ini.IniReadValue("COMMS", "STOPBITS");
myComPort.StopBits = (StopBits)Enum.Parse(typeof(StopBits), ComStopBit);
ComHandShake = ini.IniReadValue("COMMS", "HANDSHAKE");
myComPort.Handshake = (Handshake)Enum.Parse(typeof(Handshake), ComHandShake);
}
catch
{
MessageBox.Show("Exception Caught: ini file not found!");
}
Works well for C# how ever a similar in VB doesn't
Try
KeyName(1) = "ServerName"
KeyName(2) = "DBName"
ReadINIFile("C:\Logs\test.ini", "TEST Server", KeyName, KeyValues)
KeyName(1) = "ATEComport"
KeyName(2) = "BaudRateATE"
ReadINIFile("C:\Logs\test.ini", "Com Port", KeyName, KeyValues)
txtATEbaudRate.Text = KeyValues(2)
txtATEcomPort.Text = KeyValues(1)
KeyName(1) = "VoltMeterComPort"
KeyName(2) = "BaudRateMeter"
ReadINIFile("C:\Logs\test.ini", "Com Port", KeyName, KeyValues)
txtVoltMeterComPort.Text = KeyValues(1)
txtVoltMeterBaudRate.Text = KeyValues(2)
KeyName(1) = "AmeterMeterComPort"
KeyName(2) = "BaudRateMeter"
ReadINIFile("C:\Logs\test.ini", "Com Port", KeyName, KeyValues)
txtAmmeterComPort.Text = KeyValues(1)
txtAmmeterBoardRate.Text = KeyValues(2)
KeyName(1) = "FrequencyCounterComPort"
KeyName(2) = "BaudRateFreqencyCounter"
ReadINIFile("C:\Logs\test.ini", "Com Port", KeyName, KeyValues)
txtFrequencyCounterComPort.Text = KeyValues(1)
txtFrequencyCounterBaudRate.Text = KeyValues(2)
KeyName(1) = "SpectrumComPort"
KeyName(2) = "BaudRateSpectrum"
ReadINIFile("C:\Logs\test.ini", "Com Port", KeyName, KeyValues)
txtSpectrumComPort.Text = KeyValues(1)
txtSpectrumBaudRate.Text = KeyValues(2)
Catch
MsgBox("File Broken")
End Try
I have tried encasing the line
ReadINIFile("C:\Logs\test.ini", "Com Port", KeyName, KeyValues)
in a Try...Catch
doesn't work, I have also tried to use File.Exists but I appear not to have set the file handler up properly...any ideas, anyone?
Glenn