Форум » Программистские штучки » Конвертер линий cps-3 в bln » Ответить

Конвертер линий cps-3 в bln

Бутеноп: [pre2] Sub cps2bln_konverter() Dim poeben(1, 10000) As Double 'Сюда пишутся координаты точек, прочитанные в cps Dim kolFile As Integer 'Всего файлов для конвертации Dim numFile As Integer 'Текущий номер адреса файла Dim BLN As Integer 'Номер открытого CPS файла Dim CPSname As String 'Имя BLN файла Dim CPS As Integer 'Номер BLN для записи Dim str As String 'В неё читаются строки Dim spase1 As Integer 'Положение первого пробела Dim spase2 As Integer 'Положение второго пробела Dim colstr As Integer 'Счётчик строк на полигон Dim i As Integer Close kolFile = UBound(arr_name_file()) For numFile = 1 To kolFile BLN = FreeFile Open arr_name_file(0) & "\" & arr_name_file(numFile) For Input As BLN CPSname = arr_name_file(0) & "\" & arr_name_file(numFile) & ".bln" 'Задано имя выходного файла добавлением расширения BLN CPS = FreeFile 'Присвоили свободный номер создаваемому txt-файлу Open CPSname For Output As CPS Line Input #BLN, str 'Пропуск первых трёх строк, в данном случае не нужных Line Input #BLN, str Line Input #BLN, str Do 'Цикл чтения cps ФАЙЛА до конца colstr = 0 'обнуление счётчика строк при переходе к новому полигону Do 'цикл чтения строк до конца полигона или конца файла Line Input #BLN, str spase1 = InStr(str, " ") 'Поиск первого пробела If spase1 = 0 Then Exit Do spase2 = InStr(spase1 + 1, str, " ") 'Поиск второго пробела colstr = colstr + 1 poeben(0, colstr) = Left(str, spase1 - 1) 'Чтение координаты X poeben(1, colstr) = Mid(str, spase1 + 1, spase2 - spase1 - 1) 'Чтение координаты Y Loop Until EOF(BLN) Print #CPS, colstr & ", 0" 'Запись в BLN количества строк и нуля, не помню что точно значит 0, но пусть будет он, а не 1 For i = 1 To colstr Print #CPS, poeben(0, i) & " " & poeben(1, i) Next i Loop Until EOF(BLN) Close Next numFile End Sub [/pre2]

Ответов - 0



полная версия страницы