Imports System.IO Imports System.Runtime.InteropServices.ComTypes 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) 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() 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 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 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 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) 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) 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 + "Meritve 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/Ročni vnos" + 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 + "Temp.(°C)/Prit.(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 dataTmp = Microsoft.VisualBasic.Right(data, 16).TrimStart("0"c) 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 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 = 2 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 = 1 ElseIf dataInfo = My.Settings.KodaUserImport Then measuredPoints = 2 ElseIf dataInfo = My.Settings.KodaMeasOri Then measuredPoints = 3 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 >= 1 Then ' Target Easting numData = data / 1000 data = Format(numData, "0.000") If My.Settings.DecimalnoLocilo = "Pika" Then data = data.ToString.Replace(",", ".") End If RichTextBox1.AppendText(dataStolpci + data) ElseIf wordIndex = "82" And measuredPoints >= 1 Then ' Target Northing numData = data / 1000 data = Format(numData, "0.000") If My.Settings.DecimalnoLocilo = "Pika" Then data = data.ToString.Replace(",", ".") End If RichTextBox1.AppendText(dataStolpci + data) ElseIf wordIndex = "83" And measuredPoints >= 1 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 = 1 Then RichTextBox1.AppendText(dataStolpci + data + dataStolpci + "MEAS") ElseIf measuredPoints = 2 Then RichTextBox1.AppendText(dataStolpci + data + dataStolpci + "REF") ElseIf measuredPoints = 3 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 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 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 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" ' RichTextBox1.SelectionStart = 0 End Sub ' Priprava GEO datoteke Private Sub ToolStripButtonGeo_Click(sender As Object, e As EventArgs) Handles ToolStripButtonGeo.Click 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 + " " + 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 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 ' ElseIf dataKoda = My.Settings.KodaSetAzi Then ' ' ElseIf dataKoda = My.Settings.KodaResection Then ' 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 ' ElseIf dataKoda = My.Settings.KodaOriHtTrans Then 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("Navodila.pdf") 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 OdpriGSIToolStripMenuItem1.Click OdpriDatotekoGsi() End Sub Private Sub tsbOpenFile_Click(sender As Object, e As EventArgs) Handles tsbOpenFile.Click OdpriDatotekoGsi() End Sub Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ButtonUrediDat.Click Form2.ShowDialog() End Sub Private Sub ToolStripButtonNast_Click(sender As Object, e As EventArgs) FormNastavitve.ShowDialog() End Sub Private Sub ToolStripButtonPripravi_Click(sender As Object, e As EventArgs) Handles ToolStripButtonPripravi.Click PripraviDatotekoGsi() End Sub Private Sub PripraviGSIToolStripMenuItem1_Click(sender As Object, e As EventArgs) Handles PripraviGSIToolStripMenuItem1.Click PripraviDatotekoGsi() 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 IzhodToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles IzhodToolStripMenuItem.Click Me.Close() Application.Exit() 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") If gitVerzija = infoVerzija 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 + vbCrLf + "Nova verzija: " + gitVerzija + 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 ToolStripButton1_Click_1(sender As Object, e As EventArgs) Handles ToolStripButton1.Click RichTextBox1.SelectionStart = 0 End Sub End Class