TPS1100-Convert/Form1.vb
2024-07-25 03:01:25 +02:00

1065 lines
52 KiB
VB.net

' Made by Boris Bilc
Imports System.IO
Imports System.Runtime.InteropServices.ComTypes
Imports System.Windows.Forms.VisualStyles.VisualStyleElement
Public Class Form1
Public DatotekaLogfile As String = My.Settings.DatLogfile
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
If DatotekaLogfile = "" Then
DatotekaLogfile = System.IO.Path.Combine(My.Computer.FileSystem.SpecialDirectories.MyDocuments, "TPS1100_zapisnik.txt")
My.Settings.DatLogfile = DatotekaLogfile
My.Settings.Save()
End If
My.Forms.Form1.Text = My.Application.Info.Title + " " + My.Application.Info.Version.Major.ToString + "." + My.Application.Info.Version.Minor.ToString
RichTextBox1.AppendText(My.Settings.DatLogfile.ToString + vbCrLf + vbCrLf + "Verzija: " + My.Application.Info.Version.Major.ToString + "." + My.Application.Info.Version.Minor.ToString + "." + My.Application.Info.Version.Build.ToString + "." + My.Application.Info.Version.Revision.ToString)
If My.Settings.Pisava = "" Then
My.Settings.Pisava = RichTextBox1.Font.Name
My.Settings.PisavaVelikost = RichTextBox1.Font.Size
My.Settings.Save()
End If
RichTextBox1.Font = New Font(My.Settings.Pisava, My.Settings.PisavaVelikost)
NaloziNast()
ToolStripLabel2.Text = My.Settings.Projekt
If ToolStripLabel2.Text = "Virtualna Kartica" Then
ToolStripLabel2.Image = My.Resources.icons8_micro_sd_50
Else
ToolStripLabel2.Image = My.Resources.icons8_browse_folder_50_2
End If
End Sub
Public Sub NaloziNast()
' Uvoz nastavitev iz datototeke
If My.Computer.FileSystem.FileExists("tps1100_kode.txt") Then
Dim streamReader As StreamReader = New StreamReader("tps1100_kode.txt")
Do Until streamReader.EndOfStream
' Read and Split each line to separate it into fields
Dim line() As String = streamReader.ReadLine().Split("=")
Dim kodaIme As String
Dim kodaVal As String
kodaIme = Replace(line(0), " ", "")
kodaVal = Replace(line(1), " ", "")
If kodaIme = "DecimalnoLocilo" Then
My.Settings.DecimalnoLocilo = kodaVal
End If
If kodaIme = "StolpciTab" Then
My.Settings.Stolpci = kodaVal
End If
If kodaIme = "KodaStojisce" Then
My.Settings.KodaStojisce = kodaVal
End If
If kodaIme = "KodaStojisceInfo" Then
My.Settings.KodaStojisceInfo = kodaVal
End If
If kodaIme = "KodaStojisceOri" Then
My.Settings.KodaStojisceOri = kodaVal
End If
If kodaIme = "KodaQuickSet" Then
My.Settings.KodaQuickSet = kodaVal
End If
If kodaIme = "KodaSetAzi" Then
My.Settings.KodaSetAzi = kodaVal
End If
If kodaIme = "KodaResection" Then
My.Settings.KodaResection = kodaVal
End If
If kodaIme = "KodaFreeStation" Then
My.Settings.KodaFreeStation = kodaVal
End If
If kodaIme = "KodaOriHtTrans" Then
My.Settings.KodaOriHtTrans = kodaVal
End If
If kodaIme = "KodaMeasOri" Then
My.Settings.KodaMeasOri = kodaVal
End If
If kodaIme = "KodaMeas" Then
My.Settings.KodaMeas = kodaVal
End If
If kodaIme = "KodaUserImport" Then
My.Settings.KodaUserImport = kodaVal
End If
Loop
streamReader.Close()
streamReader.Dispose()
My.Settings.Save()
Else
' Izvoz kodiranja v TXT datoteko
Dim dataNast As String = ""
dataNast = dataNast + "DecimalnoLocilo = " + My.Settings.DecimalnoLocilo + vbCrLf
dataNast = dataNast + "StolpciTab = " + My.Settings.Stolpci.ToString + vbCrLf
dataNast = dataNast + "KodaStojisce = " + My.Settings.KodaStojisce + vbCrLf
dataNast = dataNast + "KodaStojisceInfo = " + My.Settings.KodaStojisceInfo + vbCrLf
dataNast = dataNast + "KodaStojisceOri = " + My.Settings.KodaStojisceOri + vbCrLf
dataNast = dataNast + "KodaQuickSet = " + My.Settings.KodaQuickSet + vbCrLf
dataNast = dataNast + "KodaSetAzi = " + My.Settings.KodaSetAzi + vbCrLf
dataNast = dataNast + "KodaResection = " + My.Settings.KodaResection + vbCrLf
dataNast = dataNast + "KodaFreeStation = " + My.Settings.KodaFreeStation + vbCrLf
dataNast = dataNast + "KodaOriHtTrans = " + My.Settings.KodaOriHtTrans + vbCrLf
dataNast = dataNast + "KodaMeasOri = " + My.Settings.KodaMeasOri + vbCrLf
dataNast = dataNast + "KodaMeas = " + My.Settings.KodaMeas + vbCrLf
dataNast = dataNast + "KodaUserImport = " + My.Settings.KodaUserImport + vbCrLf
My.Computer.FileSystem.WriteAllText("tps1100_kode.txt", dataNast, False)
End If
End Sub
Public Sub OdpriDatotekoGsi()
OpenFileDialog1.ReadOnlyChecked = False
If OpenFileDialog1.ShowDialog = DialogResult.OK Then
RichTextBox1.Clear()
ToolStripProgressBar1.Value = 0
streamLines = 0
Dim streamReader As StreamReader = New StreamReader(OpenFileDialog1.FileName)
Do Until streamReader.EndOfStream
RichTextBox1.AppendText(streamReader.ReadLine + vbCrLf)
streamLines = streamLines + 1
Loop
ToolStripProgressBar1.Maximum = streamLines
streamReader.Close()
streamReader.Dispose()
My.Settings.Datoteka = OpenFileDialog1.SafeFileName
My.Settings.ZadnjaMapa = Path.GetDirectoryName(OpenFileDialog1.FileName)
tsbFileName.Text = My.Settings.Datoteka
tsbFileName.ToolTipText = OpenFileDialog1.FileName
ToolStripStatusLabel1.Text = My.Settings.ZadnjaMapa
tsbSaveAs.Text = "Shrani ..."
tsbSaveAs.Enabled = False
ShraniToolStripMenuItem.Enabled = False
tsbConvert.Enabled = True
tsbPointsOnly.Enabled = True
ToolStripButtonGeo.Enabled = True
ButtonUrediDat.Enabled = True
RichTextBox1.BackColor = SystemColors.Info
' RichTextBox1.SelectionStart = 0
LabelDatoteka.Image = My.Resources.icons8_ok_50
My.Settings.Save()
' Else
' tsbFileName.Text = "Odpri GSI datoteko..."
' RichTextBox1.Clear()
' tsbSaveAs.Text = "Shrani ..."
' tsbSaveAs.Enabled = False
' ShraniToolStripMenuItem.Enabled = False
' tsbConvert.Enabled = False
' tsbPointsOnly.Enabled = False
End If
OpenFileDialog1.Dispose()
End Sub
Public datJob
Public Sub NaloziGsiJob()
RichTextBox1.Clear()
ToolStripProgressBar1.Value = 0
streamLines = 0
OpenFileDialog1.FileName = datJob
Dim streamReader As StreamReader = New StreamReader(OpenFileDialog1.FileName)
Do Until streamReader.EndOfStream
RichTextBox1.AppendText(streamReader.ReadLine + vbCrLf)
streamLines = streamLines + 1
Loop
ToolStripProgressBar1.Maximum = streamLines
streamReader.Close()
streamReader.Dispose()
My.Settings.Datoteka = OpenFileDialog1.SafeFileName
My.Settings.ZadnjaMapa = Path.GetDirectoryName(OpenFileDialog1.FileName)
tsbFileName.Text = My.Settings.Datoteka
tsbFileName.ToolTipText = OpenFileDialog1.FileName
ToolStripStatusLabel1.Text = My.Settings.ZadnjaMapa
tsbSaveAs.Text = "Shrani ..."
tsbSaveAs.Enabled = False
ShraniToolStripMenuItem.Enabled = False
tsbConvert.Enabled = True
tsbPointsOnly.Enabled = True
ToolStripButtonGeo.Enabled = True
ButtonUrediDat.Enabled = True
RichTextBox1.BackColor = SystemColors.Info
' RichTextBox1.SelectionStart = 0
LabelDatoteka.Image = My.Resources.icons8_ok_50
My.Settings.Save()
' Else
' tsbFileName.Text = "Odpri GSI datoteko..."
' RichTextBox1.Clear()
' tsbSaveAs.Text = "Shrani ..."
' tsbSaveAs.Enabled = False
' ShraniToolStripMenuItem.Enabled = False
' tsbConvert.Enabled = False
' tsbPointsOnly.Enabled = False
OpenFileDialog1.Dispose()
End Sub
Public Sub UvoziGsiJob()
If OpenFileDialog1.ShowDialog = DialogResult.OK Then
Dim delovnaMapa = My.Application.Info.DirectoryPath.ToString + "\" + My.Settings.ProjektMapa.ToString + "\"
Dim fileUvoz = OpenFileDialog1.FileName
Dim fileIme = Path.GetFileName(OpenFileDialog1.FileName)
Dim fileIzvoz = delovnaMapa + fileIme
My.Computer.FileSystem.CopyFile(fileUvoz, fileIzvoz, True)
OpenFileDialog1.FileName = fileIzvoz
RichTextBox1.Clear()
ToolStripProgressBar1.Value = 0
streamLines = 0
Dim streamReader As StreamReader = New StreamReader(OpenFileDialog1.FileName)
Do Until streamReader.EndOfStream
RichTextBox1.AppendText(streamReader.ReadLine + vbCrLf)
streamLines = streamLines + 1
Loop
ToolStripProgressBar1.Maximum = streamLines
streamReader.Close()
streamReader.Dispose()
My.Settings.Datoteka = OpenFileDialog1.SafeFileName
My.Settings.ZadnjaMapa = Path.GetDirectoryName(fileIzvoz)
tsbFileName.Text = My.Settings.Datoteka
ToolStripStatusLabel1.Text = fileUvoz.ToString + " -> " + fileIzvoz.ToString
tsbSaveAs.Text = "Shrani ..."
tsbSaveAs.Enabled = False
ShraniToolStripMenuItem.Enabled = False
tsbConvert.Enabled = True
tsbPointsOnly.Enabled = True
ToolStripButtonGeo.Enabled = True
ButtonUrediDat.Enabled = True
RichTextBox1.BackColor = SystemColors.Info
' RichTextBox1.SelectionStart = 0
LabelDatoteka.Image = My.Resources.icons8_ok_50
My.Settings.Save()
End If
OpenFileDialog1.Dispose()
End Sub
Public Sub PripraviDatotekoGsi()
If OpenFileDialogTocke.ShowDialog = DialogResult.OK Then
RichTextBox1.Clear()
Dim streamReader As StreamReader = New StreamReader(OpenFileDialogTocke.FileName)
Do Until streamReader.EndOfStream
streamLines = streamLines + 1
Dim readLine As String = streamReader.ReadLine().Replace(" ", vbTab)
readLine = readLine.Replace(";", vbTab)
readLine = readLine.Replace(",", ".")
Dim line() As String = readLine.Split(vbTab)
Dim podPtId As String = "*11" + Format(streamLines, "0000") + "+" + line(0).PadLeft(16, "0") + " "
Dim izrE As Double = line(1) * 1000
Dim podE As String = "81..00+" + Format(izrE, "#0000000000000000") + " "
Dim izrN As Double = line(2) * 1000
Dim podN As String = "82..00+" + Format(izrN, "#0000000000000000") + " "
Dim izrH As Double = line(3) * 1000
Dim podH As String = "83..00+" + Format(izrH, "#0000000000000000") + " "
' Dim podE As String = "81..00+" + izrE2.PadLeft(16, "0") + " "
RichTextBox1.AppendText(podPtId + podE + podN + podH + vbCrLf)
Loop
ToolStripProgressBar1.Maximum = streamLines
streamReader.Close()
streamReader.Dispose()
ToolStripStatusLabel1.Text = "Prebrano: " + streamLines.ToString + "/" + ToolStripProgressBar1.Maximum.ToString + " vrstic"
SaveFileDialog1.Filter = "GSI datoteka|*.GSI"
SaveFileDialog1.FileName = Path.GetFileNameWithoutExtension(OpenFileDialogTocke.FileName)
tsbSaveAs.Enabled = True
ShraniToolStripMenuItem.Enabled = True
tsbSaveAs.Text = "Shrani GSI"
' RichTextBox1.SelectionStart = 0
End If
End Sub
Public Sub ShraniDatoteko()
SaveFileDialog1.FileName = Path.GetFileNameWithoutExtension(OpenFileDialog1.FileName)
SaveFileDialog1.InitialDirectory = My.Settings.MapaShrani
If SaveFileDialog1.ShowDialog = DialogResult.OK Then
RichTextBox1.SaveFile(SaveFileDialog1.FileName, RichTextBoxStreamType.PlainText)
My.Computer.FileSystem.WriteAllText(DatotekaLogfile, System.DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + " | " + OpenFileDialog1.FileName.ToString + " -> " + SaveFileDialog1.FileName.ToString + vbCrLf, True)
My.Settings.MapaShrani = Path.GetDirectoryName(SaveFileDialog1.FileName)
My.Settings.Save()
ToolStripStatusLabel1.Text = "Datoteka shranjena >>> " + SaveFileDialog1.FileName.ToString
RichTextBox1.BackColor = SystemColors.ControlLightLight
ShraniToolStripMenuItem.Enabled = False
End If
End Sub
Public streamLines As Integer = 0
Private Sub tsbConvert_Click(sender As Object, e As EventArgs) Handles tsbConvert.Click
ToolStripButton3.Enabled = False
ToolStripStatusLabel1.Text = "Procesiranje..."
RichTextBox1.Clear()
RichTextBox1.BackColor = Color.LemonChiffon
RichTextBox1.AppendText("TPS 1100 Zapisnik" + vbCrLf + "++++++++++++++++++++++" + vbCrLf)
ToolStripProgressBar1.Maximum = streamLines
' prepare StreamReader
Dim streamReader As StreamReader = New StreamReader(OpenFileDialog1.FileName)
Dim i As Integer = 0
Dim PodatkiStojisce As Boolean = False
Dim dataStolpci As String = ""
If My.Settings.Stolpci = 0 Then
dataStolpci = " "
ElseIf My.Settings.Stolpci = 1 Then
dataStolpci = vbTab
End If
Dim dataKoda As String = ""
' loop untill end of stream
Do Until streamReader.EndOfStream
' Read and Split each line to separate it into fields
Dim line() As String = streamReader.ReadLine().Split(" ")
' Remove * sign from index line
line(0) = Replace(line(0), "*", "")
ToolStripProgressBar1.Value = i
' Check if it's a new station setup
If Microsoft.VisualBasic.Left(line(1), 2) = "25" Then
RichTextBox1.AppendText(vbCrLf + "Station:" + vbCrLf + "****************" + vbCrLf)
RichTextBox1.AppendText("PtID" + dataStolpci + "HzCor" + dataStolpci + "StnE" + dataStolpci + "StnN" + dataStolpci + "StnH" + dataStolpci + "RefHt" + dataStolpci + "InstHt" + vbCrLf)
PodatkiStojisce = True
End If
If Microsoft.VisualBasic.Left(line(1), 2) = "84" Then
RichTextBox1.AppendText(vbCrLf + "Station:" + vbCrLf + "****************" + vbCrLf)
RichTextBox1.AppendText("PtID" + dataStolpci + "StnE" + dataStolpci + "StnN" + dataStolpci + "StnH" + dataStolpci + "RefHt" + dataStolpci + "InstHt" + vbCrLf)
PodatkiStojisce = True
End If
' Seaparate word index and data
For Each readLine As String In line
If readLine = "" Then
' do nothing
Else
' wordindex is always 6 characters long and is read fron left to right
Dim wordIndex As String
wordIndex = Microsoft.VisualBasic.Left(readLine, 2)
' data is always 17 characters long and is read from right to left and has a +/- sign in first place
Dim data As String
Dim dataTmp As String
Dim numData As Double
data = Microsoft.VisualBasic.Right(readLine, 17)
If wordIndex = "11" Then
data = Microsoft.VisualBasic.Right(data, 16).TrimStart("0"c)
ElseIf wordIndex = "19" Then ' Date/Time
data = dataStolpci + "DateTime= " + Microsoft.VisualBasic.Right(data, 8)
ElseIf wordIndex = "21" Then ' Horizontal angle
numData = data / 100000
data = dataStolpci + Format(numData, "0.0000")
ElseIf wordIndex = "22" Then ' Vertical angle
numData = data / 100000
data = dataStolpci + Format(numData, "0.0000")
ElseIf wordIndex = "25" Then ' Hz. Orientation correction
numData = data / 100000
data = dataStolpci + Format(numData, "0.0000")
ElseIf wordIndex = "31" Then ' Slope distance
numData = data / 1000
data = dataStolpci + Format(numData, "0.000")
ElseIf wordIndex = "32" Then ' Horizontal distance
numData = data / 1000
data = dataStolpci + Format(numData, "0.000")
ElseIf wordIndex = "33" Then ' Height difference
numData = data / 1000
data = dataStolpci + Format(numData, "0.000")
ElseIf wordIndex = "34" Then ' Stationing
numData = data / 1000
data = dataStolpci + "Station= " + Format(numData, "0.000")
ElseIf wordIndex = "35" Then ' Info za offset???
numData = data / 1000
data = dataStolpci + "Offset= " + Format(numData, "0.000")
ElseIf wordIndex = "41" Then ' Code
'numData = data
dataKoda = Microsoft.VisualBasic.Right(data, 16).TrimStart("0"c)
If My.Settings.KodeUporabnik = "Da" Then
If dataKoda = My.Settings.KodaQuickSet Then
data = vbCrLf + "Setup: Quick Set" + vbCrLf + "======================" + vbCrLf + "Hz" + dataStolpci + "V" + dataStolpci + "SD"
PodatkiStojisce = True
End If
If dataKoda = My.Settings.KodaSetAzi Then
data = vbCrLf + "Setup: Set Hz" + vbCrLf + "======================" + vbCrLf + "PtID" + dataStolpci + "HZ" + dataStolpci + "V" + dataStolpci + "SD" + dataStolpci + "HD" + dataStolpci + "RefHt" + dataStolpci + "PrCons" + dataStolpci + "HtDif" + dataStolpci + "PtCode"
PodatkiStojisce = True
End If
If dataKoda = My.Settings.KodaResection Then
data = vbCrLf + "Setup: Resection" + vbCrLf + "======================" + vbCrLf + "PtID" + dataStolpci + "HZ" + dataStolpci + "V" + dataStolpci + "SD" + dataStolpci + "HD" + dataStolpci + "RefHt" + dataStolpci + "PrCons" + dataStolpci + "HtDif" + dataStolpci + "PtCode"
PodatkiStojisce = True
End If
If dataKoda = My.Settings.KodaFreeStation Then
data = vbCrLf + "Setup: Free Station" + vbCrLf + "======================" + vbCrLf + "PtID" + dataStolpci + "HZ" + dataStolpci + "V" + dataStolpci + "SD" + dataStolpci + "HD" + dataStolpci + "RefHt" + dataStolpci + "PrCons" + dataStolpci + "HtDif" + dataStolpci + "PtCode"
PodatkiStojisce = True
End If
If dataKoda = My.Settings.KodaOriHtTrans Then
data = vbCrLf + "Setup: Orientation & Ht. transfer" + vbCrLf + "======================" + vbCrLf + "PtID" + dataStolpci + "HZ" + dataStolpci + "V" + dataStolpci + "SD" + dataStolpci + "HD" + dataStolpci + "RefHt" + dataStolpci + "PrCons" + dataStolpci + "HtDif" + dataStolpci + "PtCode"
PodatkiStojisce = True
End If
If dataKoda = My.Settings.KodaMeasOri Then
data = vbCrLf + "Merjeno (Orientacije)" + vbCrLf + "----------------------" + vbCrLf + "PtID" + dataStolpci + "Azi" + dataStolpci + "V" + dataStolpci + "SD" + dataStolpci + "HD" + dataStolpci + "RefHt" + dataStolpci + "PrCons" + dataStolpci + "HtDif" + dataStolpci + "E" + dataStolpci + "N" + dataStolpci + "H" + dataStolpci + "PtCode"
PodatkiStojisce = False
End If
If dataKoda = My.Settings.KodaMeas Then
data = vbCrLf + "Merjeno" + vbCrLf + "----------------------" + vbCrLf + "PtID" + dataStolpci + "Azi" + dataStolpci + "V" + dataStolpci + "SD" + dataStolpci + "HD" + dataStolpci + "RefHt" + dataStolpci + "PrCons" + dataStolpci + "HtDif" + dataStolpci + "E" + dataStolpci + "N" + dataStolpci + "H" + dataStolpci + "PtCode"
PodatkiStojisce = False
End If
If dataKoda = My.Settings.KodaUserImport Then
data = vbCrLf + "Uvoz/Vnos-Uporabnika" + vbCrLf + "----------------------" + vbCrLf + "PtID" + dataStolpci + "E" + dataStolpci + "N" + dataStolpci + "H"
PodatkiStojisce = False
End If
If dataKoda = My.Settings.KodaStojisce Then
data = vbCrLf + "Stojišče (Info)" + vbCrLf + "----------------------" + vbCrLf + "StID" + dataStolpci + "InstHt" + vbCrLf
PodatkiStojisce = False
End If
If dataKoda = My.Settings.KodaStojisceInfo Then
data = vbCrLf + "Temperatura (°C) /Pritisk (mbar)" + vbCrLf + "----------------------" + vbCrLf
PodatkiStojisce = False
End If
If dataKoda = My.Settings.KodaStojisceOri Then
data = vbCrLf + "Orientacija (Info)" + vbCrLf + "----------------------" + vbCrLf + "OrID" + dataStolpci + "Hz" + vbCrLf
PodatkiStojisce = False
End If
If dataKoda = "STA_OFFS" Then
data = "Offsets:" + vbCrLf
PodatkiStojisce = False
End If
End If
ElseIf wordIndex = "42" Then ' Code: Info 1
data = dataStolpci + "Info1= " + Microsoft.VisualBasic.Right(data, 16).TrimStart("0"c)
ElseIf wordIndex = "43" Then ' Code: Info 2
data = dataStolpci + "Info2= " + Microsoft.VisualBasic.Right(data, 16).TrimStart("0"c)
ElseIf wordIndex = "44" Then ' Code: Info 3
data = dataStolpci + "Info3= " + Microsoft.VisualBasic.Right(data, 16).TrimStart("0"c)
ElseIf wordIndex = "45" Then ' Code: Info 4
data = dataStolpci + "Info4= " + Microsoft.VisualBasic.Right(data, 16).TrimStart("0"c)
ElseIf wordIndex = "47" Then ' Code: Info 6
data = dataStolpci + "Info6= " + Microsoft.VisualBasic.Right(data, 16).TrimStart("0"c)
ElseIf wordIndex = "58" Then ' Prism constant
numData = data / 10000
data = dataStolpci + Format(numData, "0.0000")
ElseIf wordIndex = "71" Then ' Point Code
dataTmp = Microsoft.VisualBasic.Right(data, 16).TrimStart("0"c)
If dataKoda = My.Settings.KodaStojisce Then
data = dataTmp
End If
If dataKoda = My.Settings.KodaStojisceInfo Then
data = dataTmp
End If
If dataKoda = My.Settings.KodaStojisceOri Then
data = dataTmp
End If
If dataTmp = "" Then
data = ""
End If
ElseIf wordIndex = "72" Then ' Point Code
If data = 0 Then
dataTmp = 0
Else
dataTmp = Microsoft.VisualBasic.Right(data, 16).TrimStart("0"c)
End If
If dataKoda = My.Settings.KodaStojisce Then
Dim dataNum As Double
dataNum = dataTmp / 1000
data = dataStolpci + Format(dataNum, "0.000")
End If
If dataKoda = My.Settings.KodaStojisceInfo Then
data = dataStolpci + dataTmp
End If
If dataKoda = My.Settings.KodaStojisceOri Then
Dim dataNum As Double
dataNum = dataTmp / 100000
data = dataStolpci + Format(dataNum, "0.0000")
End If
ElseIf wordIndex = "79" Then ' Point Code
dataTmp = Microsoft.VisualBasic.Right(data, 16).TrimStart("0"c)
If dataTmp = "" Then
data = ""
Else
data = dataStolpci + dataTmp
End If
ElseIf wordIndex = "81" And PodatkiStojisce = False Then ' Target Easting
numData = data / 1000
data = dataStolpci + Format(numData, "0.000")
ElseIf wordIndex = "82" And PodatkiStojisce = False Then ' Target Northing
numData = data / 1000
data = dataStolpci + Format(numData, "0.000")
ElseIf wordIndex = "83" And PodatkiStojisce = False Then ' Target Height
numData = data / 1000
data = dataStolpci + Format(numData, "0.000")
ElseIf wordIndex = "84" Then ' Station Easting
numData = data / 1000
data = dataStolpci + Format(numData, "0.000")
ElseIf wordIndex = "85" Then ' Station Northing
numData = data / 1000
data = dataStolpci + Format(numData, "0.000")
ElseIf wordIndex = "86" Then ' Station Height
numData = data / 1000
data = dataStolpci + Format(numData, "0.000")
ElseIf wordIndex = "87" Then ' Reflector height
numData = data / 1000
data = dataStolpci + Format(numData, "0.000")
ElseIf wordIndex = "88" Then ' Instriment height
numData = data / 1000
data = dataStolpci + Format(numData, "0.000")
ElseIf wordIndex = "18" Then ' DATE YY.ss
numData = data / 1000000
data = dataStolpci + "Year.Sec= " + Format(numData, "0.00")
Else
numData = 0
data = ""
End If
If My.Settings.DecimalnoLocilo = "Pika" Then
If wordIndex IsNot "11" Then
data = data.ToString.Replace(",", ".")
End If
End If
RichTextBox1.AppendText(data)
End If
Next
RichTextBox1.AppendText(vbCrLf)
i = i + 1
Loop
streamReader.Close()
ToolStripStatusLabel1.Text = "Prebrano: " + i.ToString + "/" + ToolStripProgressBar1.Maximum.ToString + " vrstic"
SaveFileDialog1.Filter = "Zapisnik meritve|*.mer|Text file|*.txt|All files|*.*"
tsbSaveAs.Enabled = True
ShraniToolStripMenuItem.Enabled = True
tsbSaveAs.Text = "Shrani Zapisnik"
' RichTextBox1.SelectionStart = 0
End Sub
' Deklaracija vrednosti za pripravo grafike
Public kooEMin As Double
Public kooEMax As Double
Public kooNMin As Double
Public kooNMax As Double
Public kooEdelta As Double
Public kooNdelta As Double
Public kooFaktor
Private Sub tsbPointsOnly_Click(sender As Object, e As EventArgs) Handles tsbPointsOnly.Click
Dim dataStolpci As String = ""
If My.Settings.Stolpci = 0 Then
dataStolpci = " "
ElseIf My.Settings.Stolpci = 1 Then
dataStolpci = vbTab
End If
RichTextBox1.Clear()
RichTextBox1.BackColor = Color.PaleTurquoise
Dim measuredPoints As Integer = 0
Dim dataKoda As Integer = 0
Dim streamReader As StreamReader = New StreamReader(OpenFileDialog1.FileName)
Dim i As Integer = 0
Dim lin As Integer = 0
Do Until streamReader.EndOfStream
' Read and Split each line to separate it into fields
Dim line() As String = streamReader.ReadLine().Split(" ")
' Remove * sign from index line
line(0) = Replace(line(0), "*", "")
If Microsoft.VisualBasic.Left(line(0), 2) = "41" Then
dataKoda = 1
Else
dataKoda = 0
End If
ToolStripProgressBar1.Value = i
'If Microsoft.VisualBasic.Left(line(1), 2) = "81" Then
' measuredPoints = 1
'Else
If Microsoft.VisualBasic.Left(line(1), 2) = "25" Or Microsoft.VisualBasic.Left(line(1), 2) = "84" Then
measuredPoints = 1
End If
' Seaparate word index and data
For Each readLine As String In line
If readLine = "" Then
' do nothing
Else
' wordindex is always 6 characters long and is read fron left to right
Dim wordIndex As String
Dim data As String
Dim numData As Double
wordIndex = Microsoft.VisualBasic.Left(readLine, 2)
data = Microsoft.VisualBasic.Right(readLine, 17)
If wordIndex = "41" Then
Dim dataInfo As String = Microsoft.VisualBasic.Right(readLine, 16).TrimStart("0"c)
If dataInfo = My.Settings.KodaMeas Then
measuredPoints = 2
ElseIf dataInfo = My.Settings.KodaUserImport Then
measuredPoints = 3
ElseIf dataInfo = My.Settings.KodaMeasOri Then
measuredPoints = 4
Else
measuredPoints = 0
End If
End If
If wordIndex = "71" And measuredPoints >= 1 Then ' Point Code
data = Microsoft.VisualBasic.Right(data, 16).TrimStart("0"c)
If data = "" Then
' nič
Else
RichTextBox1.AppendText(dataStolpci + data)
End If
End If
If wordIndex = "11" And measuredPoints >= 1 Then
data = Microsoft.VisualBasic.Right(data, 16).TrimStart("0"c)
RichTextBox1.AppendText(data)
i = i + 1
ElseIf wordIndex = "81" And measuredPoints >= 2 Then ' Target Easting
numData = data / 1000
data = Format(numData, "0.000")
If My.Settings.DecimalnoLocilo = "Pika" Then
data = data.ToString.Replace(",", ".")
End If
If kooEMax = 0 Then
kooEMax = numData
ElseIf kooEMax < numData Then
kooEMax = numData
End If
If kooEMin = 0 Then
kooEMin = numData
ElseIf kooEMin > numData Then
kooEMin = numData
End If
RichTextBox1.AppendText(dataStolpci + data)
ElseIf wordIndex = "82" And measuredPoints >= 2 Then ' Target Northing
numData = data / 1000
data = Format(numData, "0.000")
If My.Settings.DecimalnoLocilo = "Pika" Then
data = data.ToString.Replace(",", ".")
End If
If kooNMax = 0 Then
kooNMax = numData
ElseIf kooNMax < numData Then
kooNMax = numData
End If
If kooNMin = 0 Then
kooNMin = numData
ElseIf kooNMin > numData Then
kooNMin = numData
End If
RichTextBox1.AppendText(dataStolpci + data)
ElseIf wordIndex = "83" And measuredPoints >= 2 Then ' Target Height
numData = data / 1000
data = Format(numData, "0.000")
If My.Settings.DecimalnoLocilo = "Pika" Then
data = data.ToString.Replace(",", ".")
End If
If measuredPoints = 2 Then
RichTextBox1.AppendText(dataStolpci + data + dataStolpci + "MEAS")
ElseIf measuredPoints = 3 Then
RichTextBox1.AppendText(dataStolpci + data + dataStolpci + "REF")
ElseIf measuredPoints = 4 Then
RichTextBox1.AppendText(dataStolpci + data + dataStolpci + "ORI")
End If
ElseIf wordIndex = "84" And measuredPoints = 1 Then ' Station Easting
numData = data / 1000
data = Format(numData, "0.000")
If My.Settings.DecimalnoLocilo = "Pika" Then
data = data.ToString.Replace(",", ".")
End If
If kooEMax = 0 Then
kooEMax = numData
ElseIf kooEMax < numData Then
kooEMax = numData
End If
If kooEMin = 0 Then
kooEMin = numData
ElseIf kooEMin > numData Then
kooEMin = numData
End If
RichTextBox1.AppendText(dataStolpci + data)
ElseIf wordIndex = "85" And measuredPoints = 1 Then ' Station Northing
numData = data / 1000
data = Format(numData, "0.000")
If My.Settings.DecimalnoLocilo = "Pika" Then
data = data.ToString.Replace(",", ".")
End If
If kooNMax = 0 Then
kooNMax = numData
ElseIf kooNMax < numData Then
kooNMax = numData
End If
If kooNMin = 0 Then
kooNMin = numData
ElseIf kooNMin > numData Then
kooNMin = numData
End If
RichTextBox1.AppendText(dataStolpci + data)
ElseIf wordIndex = "86" And measuredPoints = 1 Then ' Station Height
numData = data / 1000
data = Format(numData, "0.000")
If My.Settings.DecimalnoLocilo = "Pika" Then
data = data.ToString.Replace(",", ".")
End If
RichTextBox1.AppendText(dataStolpci + data + dataStolpci + "STA")
Else
numData = 0
data = ""
End If
End If
Next
If dataKoda = 0 And measuredPoints >= 1 Then
RichTextBox1.AppendText(vbCrLf)
End If
lin = lin + 1
ToolStripProgressBar1.Value = lin
Loop
kooEdelta = kooEMax - kooEMin
kooNdelta = kooNMax - kooNMin
If kooEdelta > kooNdelta Then
kooFaktor = 1000 / kooEdelta
Else
kooFaktor = 1000 / kooNdelta
End If
ToolStripStatusLabel1.Text = "Prebrano točk: " + i.ToString
SaveFileDialog1.Filter = "KOO|*.koo|TXT|*.txt|All files|*.*"
streamReader.Close()
tsbSaveAs.Enabled = True
ShraniToolStripMenuItem.Enabled = True
tsbSaveAs.Text = "Shrani Točke"
ToolStripButton3.Enabled = True
' RichTextBox1.SelectionStart = 0
End Sub
' Priprava GEO datoteke
Private Sub ToolStripButtonGeo_Click(sender As Object, e As EventArgs) Handles ToolStripButtonGeo.Click
ToolStripButton3.Enabled = False
RichTextBox1.Clear()
RichTextBox1.BackColor = Color.LightGray
Dim measuredPoints As Integer = 0
Dim dataKoda As String = ""
Dim streamReader As StreamReader = New StreamReader(OpenFileDialog1.FileName)
Dim i As Integer = 0
Dim lin As Integer = 0
Dim infoTemp As String = "20"
Dim infoPress As String = "759.81"
' Branje datoteke
Do Until streamReader.EndOfStream
' Beri datoteko po vrsticah, razdelitev na posamezne podatke (array)
Dim line() As String = streamReader.ReadLine().Split(" ")
line(0) = Replace(line(0), "*", "") ' Odstrani * na začetku vrstice
Dim izpisText As String = ""
If Microsoft.VisualBasic.Left(line(0), 2) = "41" Then
dataKoda = Microsoft.VisualBasic.Right(line(0), 16).TrimStart("0"c)
If dataKoda = My.Settings.KodaStojisce Then
Dim infoSta As String
infoSta = Microsoft.VisualBasic.Right(line(1), 16).TrimStart("0"c)
Dim infoStaHt As String
infoStaHt = Microsoft.VisualBasic.Right(line(2), 17).TrimStart("0"c)
Dim numStaHt As Double
numStaHt = infoStaHt / 1000
izpisText = infoSta + " " + Format(numStaHt, "0.000").ToString + vbCrLf
measuredPoints = 0
End If
' Nastavi podatke o temperaturi in pritisku, če je podana koda za "KodaStojisceInfo"
' Sicer uporabi prednastavljene vrednosti "infoTemp" in "infoPress"
If dataKoda = My.Settings.KodaStojisceInfo Then
infoTemp = Microsoft.VisualBasic.Right(line(1), 16).TrimStart("0"c)
infoPress = Microsoft.VisualBasic.Right(line(2), 16).TrimStart("0"c)
Dim numPress As Double
numPress = infoPress * 0.750062
infoPress = Format(numPress, "0.00").ToString
'If measuredPoints = 0 Then
' izpisText = infoTemp + " " + infoPress + vbCrLf
'End If
measuredPoints = 0
End If
If dataKoda = My.Settings.KodaStojisceOri Then
Dim infoOri As String
infoOri = Microsoft.VisualBasic.Right(line(1), 16).TrimStart("0"c)
Dim infoOriHz As String
infoOriHz = Microsoft.VisualBasic.Right(line(2), 17).TrimStart("0"c)
Dim numOriHz As Double
numOriHz = infoOriHz / 100000
izpisText = infoOri.ToString + " " + Format(numOriHz, "0.0000").ToString + vbCrLf
measuredPoints = 0
End If
If dataKoda = My.Settings.KodaUserImport Then
measuredPoints = 1
End If
If dataKoda = My.Settings.KodaMeasOri Then
izpisText = infoTemp + " " + infoPress + vbCrLf
measuredPoints = 0
End If
If dataKoda = My.Settings.KodaMeas Then
izpisText = "0 0" + vbCrLf
measuredPoints = 1
End If
If dataKoda = My.Settings.KodaQuickSet And lin > 0 And measuredPoints = 1 Then
izpisText = "-1 0 0 0 0" + vbCrLf
measuredPoints = 0
End If
If dataKoda = My.Settings.KodaSetAzi And lin > 0 And measuredPoints = 1 Then
izpisText = "-1 0 0 0 0" + vbCrLf
measuredPoints = 0
End If
If dataKoda = My.Settings.KodaResection And lin > 0 And measuredPoints = 1 Then
izpisText = "-1 0 0 0 0" + vbCrLf
measuredPoints = 0
End If
If dataKoda = My.Settings.KodaFreeStation And lin > 0 And measuredPoints = 1 Then
izpisText = "-1 0 0 0 0" + vbCrLf
measuredPoints = 0
End If
If dataKoda = My.Settings.KodaOriHtTrans And lin > 0 And measuredPoints = 1 Then
izpisText = "-1 0 0 0 0" + vbCrLf
measuredPoints = 0
End If
End If
If Microsoft.VisualBasic.Left(line(0), 2) = "11" Then
If dataKoda = My.Settings.KodaMeas Then
Dim dataId As String
dataId = Microsoft.VisualBasic.Right(line(0), 16).TrimStart("0"c)
Dim dataAzi As String
dataAzi = Microsoft.VisualBasic.Right(line(1), 17)
Dim numAzi As Double
numAzi = dataAzi / 100000
Dim dataV As String
dataV = Microsoft.VisualBasic.Right(line(2), 17)
Dim numV As Double
numV = dataV / 100000
Dim dataSD As String
dataSD = Microsoft.VisualBasic.Right(line(3), 17)
Dim numSD As Double
numSD = dataSD / 1000
Dim dataHr As String
dataHr = Microsoft.VisualBasic.Right(line(5), 17)
Dim numHr As Double
numHr = dataHr / 1000
izpisText = dataId + " " + Format(numAzi, "0.0000").ToString + " " + Format(numV, "0.0000").ToString + " " + Format(numSD, "0.000").ToString + " " + Format(numHr, "0.000").ToString + vbCrLf
End If
If dataKoda = My.Settings.KodaMeasOri Then
Dim dataId As String
dataId = Microsoft.VisualBasic.Right(line(0), 16).TrimStart("0"c)
Dim dataAzi As Double
dataAzi = Microsoft.VisualBasic.Right(line(1), 17)
Dim numAzi As Double
numAzi = dataAzi / 100000
izpisText = dataId + " " + Format(numAzi, "0.0000").ToString + vbCrLf
End If
' Priprava podatkov za Setup: Quick Set
If dataKoda = My.Settings.KodaQuickSet Then
If Microsoft.VisualBasic.Left(line(1), 2) = "84" Then
Dim dataSta As String
dataSta = Microsoft.VisualBasic.Right(line(0), 16).TrimStart("0"c)
Dim dataHi As Double
dataHi = Microsoft.VisualBasic.Right(line(4), 17)
Dim numHi As Double
numHi = dataHi / 1000
izpisText = dataSta + " " + Format(numHi, "0.000").ToString + vbCrLf
End If
End If
' Priprava podatkov za Setup: Set Azimut
If dataKoda = My.Settings.KodaSetAzi Then
End If
' Priprava podatkov za Setup: Resection
If dataKoda = My.Settings.KodaResection Then
End If
' Priprava podatkov za Setup: Free Station
If dataKoda = My.Settings.KodaFreeStation Then
If Microsoft.VisualBasic.Left(line(1), 2) = "25" Then
Dim dataSta As String
dataSta = Microsoft.VisualBasic.Right(line(0), 16).TrimStart("0"c)
Dim dataHi As Double
dataHi = Microsoft.VisualBasic.Right(line(6), 17)
Dim numHi As Double
numHi = dataHi / 1000
izpisText = dataSta + " " + Format(numHi, "0.000").ToString + vbCrLf
End If
End If
' Priprava podatkov za Setup: Set Azimut
If dataKoda = My.Settings.KodaOriHtTrans Then
End If
End If
RichTextBox1.AppendText(izpisText)
lin = lin + 1
ToolStripProgressBar1.Value = lin
Loop
RichTextBox1.AppendText("-1 0 0 0 0" + vbCrLf)
streamReader.Close()
streamReader.Dispose()
ToolStripStatusLabel1.Text = "Prebrano: " + lin.ToString + "/" + ToolStripProgressBar1.Maximum.ToString + " vrstic"
SaveFileDialog1.Filter = "GEO datoteka|*.GEO"
SaveFileDialog1.FileName = Path.GetFileNameWithoutExtension(OpenFileDialogTocke.FileName)
tsbSaveAs.Enabled = True
ShraniToolStripMenuItem.Enabled = True
tsbSaveAs.Text = "Shrani GEO"
'RichTextBox1.SelectionStart = 0
End Sub
Private Sub InfoOAplikacijiToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles InfoOAplikacijiToolStripMenuItem.Click
' MessageBox.Show("Za konvertiranje GSI datoteke najprej izberi datoteko, ki jo želiš konvertirati z ukazom 'Open File'. Nato izberi metodo konverzije (Poročilo, Merjene točke, Vse točke). Po končani knverziji shrani novo datoteko z ukazom 'Save As...'","Kratka navodila")
SplashScreen1.ShowDialog()
End Sub
Private Sub PripraviGSIToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles PripraviGSIToolStripMenuItem.Click
Process.Start(My.Application.Info.DirectoryPath.ToString + "\Doc\Home.html")
End Sub
Private Sub OdpriGSIToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles OdpriGSIToolStripMenuItem.Click
FormNastavitve.ShowDialog()
End Sub
Private Sub OdpriGSIToolStripMenuItem1_Click(sender As Object, e As EventArgs) Handles ToolStripMenuItem4.Click
UvoziGsiJob()
' OdpriDatotekoGsi()
End Sub
Private Sub tsbOpenFile_Click(sender As Object, e As EventArgs) Handles tsbOpenFile.Click
UvoziGsiJob()
' OdpriDatotekoGsi()
ToolStripButton3.Enabled = False
End Sub
Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ButtonUrediDat.Click
Form2.ShowDialog()
End Sub
Private Sub ToolStripButtonPripravi_Click(sender As Object, e As EventArgs) Handles ToolStripButtonPripravi.Click
PripraviDatotekoGsi()
ToolStripButton3.Enabled = False
End Sub
Private Sub tsbUvoziTocke_Click(sender As Object, e As EventArgs) Handles tsbUvoziTocke.Click
PripraviDatotekoGsi()
ToolStripButton3.Enabled = False
End Sub
Private Sub tsbSaveAs_Click(sender As Object, e As EventArgs) Handles tsbSaveAs.Click
ShraniDatoteko()
End Sub
Private Sub ShraniToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ShraniToolStripMenuItem.Click
ShraniDatoteko()
End Sub
Private Sub PosodobitevToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles PosodobitevToolStripMenuItem.Click
' Preveri verzijo programa iz Gitea - MultiBox
Dim infoVerzija As String = My.Application.Info.Version.Major.ToString + "." + My.Application.Info.Version.Minor.ToString + "." + My.Application.Info.Version.Build.ToString + "." + My.Application.Info.Version.Revision.ToString
Dim gitVerzija As String = ""
My.Computer.Network.DownloadFile("https://multibox.nohost.me/gitea/boris/TPS1100-Convert/raw/branch/main/version.txt", "version.txt")
Dim verReader As StreamReader = New StreamReader("version.txt")
' Branje datoteke
Do Until verReader.EndOfStream
' Preberi vrstico z verzijo na git
gitVerzija = verReader.ReadLine()
Loop
verReader.Dispose()
verReader.Close()
My.Computer.FileSystem.DeleteFile("version.txt")
Dim infoVerNum As Integer = CInt(infoVerzija.Replace(".", ""))
Dim gitVerNum As Integer = CInt(gitVerzija.Replace(".", ""))
Dim verDiff As Integer = gitVerNum - infoVerNum
If verDiff <= 0 Then
Dim Msg, Style, Title, Response
Msg = "Trenutna verzija: " + infoVerzija + vbCrLf + vbCrLf + "Ni posodobitev..." ' Define message.
Title = "Preverjanje posodobitev" ' Define title.
Style = vbOKOnly
' Display message.
Response = MsgBox(Msg, Style, Title)
Else
Dim Msg, Style, Title, Response
Msg = "Trenutna verzija: " + infoVerzija.ToString + vbCrLf + "Nova verzija: " + gitVerzija.ToString + vbCrLf + vbCrLf + "Odprem stran za prenos?" ' Define message.
Title = "Preverjanje posodobitev" ' Define title.
Style = vbYesNo
' Display message.
Response = MsgBox(Msg, Style, Title)
If Response = vbYes Then ' User chose Yes.
Process.Start("https://multibox.nohost.me/gitea/boris/TPS1100-Convert/releases")
End If
End If
End Sub
Private Sub ManagerToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ManagerToolStripMenuItem.Click, ToolStripButtonpROJ.Click
FormGsiJobs.Show()
End Sub
Private Sub ToolStripButton2_Click(sender As Object, e As EventArgs) Handles ToolStripButton2.Click, ToolStripMenuItem2.Click
' OpenFileDialog1.InitialDirectory = My.Application.Info.DirectoryPath.ToString + "\" + My.Settings.ProjektMapa.ToString
' OdpriDatotekoGsi()
DialogJobOdpri.ShowDialog()
ToolStripButton3.Enabled = False
End Sub
Private Sub ToolStripButton3_Click(sender As Object, e As EventArgs) Handles ToolStripButton3.Click
FormGrafika.Show()
End Sub
Private Sub IzhodToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles IzhodToolStripMenuItem.Click
Me.Close()
Application.Exit()
End Sub
Private Sub tsbZacetek_Click(sender As Object, e As EventArgs) Handles tsbZacetek.Click
RichTextBox1.SelectionStart = 0
End Sub
Private Sub tsbPripravaFormat_Click(sender As Object, e As EventArgs) Handles tsbPripravaFormat.Click
DialogPripravaKartice.ShowDialog()
End Sub
Private Sub tsbPripravaZav_Click(sender As Object, e As EventArgs) Handles tsbPripravaZav.Click
DialogZavarovanje.ShowDialog()
End Sub
Private Sub tsbMapaZav_Click(sender As Object, e As EventArgs) Handles tsbMapaZav.Click
Dim mapaZav = My.Application.Info.DirectoryPath.ToString + "\Zavarovanja"
Process.Start(mapaZav)
End Sub
Private Sub tsbPodMer_Click(sender As Object, e As EventArgs) Handles tsbPodMer.Click
FormIzracunMeasure.Show()
End Sub
Private Sub tsbKartica_Click(sender As Object, e As EventArgs) Handles tsbKartica.Click
DialogKartica.ShowDialog()
End Sub
Private Sub tsbHzCor_Click(sender As Object, e As EventArgs) Handles tsbHzCor.Click
DialogIzracunHzCor.Show()
End Sub
End Class