Задача 1. Нужен диалог для программы вставки точек в карту по координатам из текстового файла

Нужен диалог для программы вставки точек в карту по координатам из текстового файла.

Из диалога мы планируем управлять следующими параметрами:

§ Определение полного имени файла с координатами, при этом считаем, что

§ таблица будет размещена в той же папке и с тем же именем.

§ Определение стиля точек.

§ Определение формата записи (строки) в текстовом файле / Одна запись – одна точка

§ Определение разделителя полей в записи.

§ Определение наличия заголовков в первой строке.

Для формирования диалога используется программа MapBasic Designer (mbd.exe)

Окончательный вид проекта диалога приведен на рис. 1

Рис 1 – Вид проекта диалога

Код программы с диалогом

'Блок описаний Include "MAPBASIC.DEF" Declare sub Main Declare sub diaInsertPointsFromFile Declare sub ReadFileName Declare sub forYes Declare sub forCancel dim txtFileName as string dim StylePoint as Symbol dim iFormatLine,iDelimiter as smallint dim isHeadline as logical 'Главная процедура sub Main 'Стиль символа устанавливается равным текущему стилю символа StylePoint= CurrentSymbol() 'Имя текстового файла txtFileName="" 'Формат строки {Имя, X, Y, H} iFormatLine=1 'Разделитель {табулятор} iDelimiter=1 'Нет заголовков в первой строке isHeadline="F" 'Открыть диалог call diaInsertPointsFromFile end sub 'Окно диалога Sub diaInsertPointsFromFile Dialog Title "Вставка точек из файла" Width 149 Height 195 Control OkButton Width 37 Height 12 Position 104, 144 Control CancelButton Width 37 Height 12 Position 104, 160 Control Button Title "Файл..." Width 37 Height 12 Position 104, 104 ID 5001 Calling ReadFileName Control SymbolPicker Width 20 Height 20 Position 120, 16 ID 5002 Value StylePoint Into StylePoint Control CheckBox Title "заголовки в первой строке" Width 104 Height 12 Position 10, 175 ID 5003 Value isHeadline Into isHeadline Control GroupBox Title "Формат записи" Position 8, 8 Width 87 Height 75 Control RadioGroup Title "Имя X Y H;Имя X Y;X Y H;X Y" Width 49 Height 10 Position 16, 23 ID 5004 Value iFormatLine Into iFormatLine Control GroupBox Title "Разделитель" Position 8, 96 Width 87 Height 74 Control RadioGroup Title "табулятор;пробел;запятая;точка с запятой" Width 68 Height 10 Position 17, 110 ID 5005 Value iDelimiter Into iDelimiter If CommandInfo(CMD_INFO_DLG_OK) Then 'Если выбрана кнопка OK call forYes Else Call forCancel End If End sub 'Определение имени файла (например, с использованием FileOpenDlg) sub ReadFileName note "Определяем имя файла (txtFileName)" end sub 'Чтение координат из файла и последующая обработка информации sub forYes note "Читаем файл координат." & chr$(10) & "Формируем новый слой и" & chr$(10) & "вставляем в него точки с" & chr$(10) & "выбранным стилем оформления." end sub 'Отказ от чтения файла sub forCancel note "Нажата кнопка Cancel" end sub

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: