_mapInfo = (MapInfoApplication) System.Runtime.InteropServices.Marshal.GetActiveObject("MapInfo.Application");
MapBasic и все что с ним связаноМожет я не один такой?!
#63
Отправлено 28.05.2009, 14:20:25
Set CoordSys Table Layer1 Dim MyObj As Object MyObj = CreateLine(1000, 1000, 2000, 1000) Insert Into Cosmetic1 (Obj) Values (MyObj)Так вставиться линия в косметический слой, можно вместо косметического слоя использовать уже существующий слой(существующую таблицу).
Перед использованием координат обязательно укажи систему координат ту, которую будешь использовать(в примере я ее беру из таблицы Layer1)
ЗЫ: может поможет тебе этот маленький примерчик
#75
Отправлено 28.05.2009, 19:46:57
Jismo, может ты знаешь как вызвать функцию MB из .Net ?
Run Command пробовал не узнает он этих функций ... и вообще не понятно как к ним добраться или как им передать параметры...
String cmd = Format("Open Table \"{0}\"", table); String cmd2 = Format("ObjectInfo(Selection.obj, {0})", param); _mapInfo.Do(cmd); String res = _mapInfo.Eval(cmd2); _mapInfo.RunMenuCommand(menuId);
PS: не все команды можно вызывать с пом. COM, только те, которые вызываются из окна MapBasic
Где-то в сети есть .cs файл с определениями MapInfo-шных констант. Если не найдешь, могу выслать.
#76
Отправлено 29.05.2009, 16:40:40
Fetch Rec row_num From tmp_demo o_new_line = tmp_demo.obj Alter Object o_new_line Geography OBJ_GEO_LINEBEGX, trackpoint.longitude Alter Object o_new_line Geography OBJ_GEO_LINEBEGY, trackpoint.latitude Alter Object o_new_line Geography OBJ_GEO_LINEENDX, trackpoint.longitude + 0.0001 Alter Object o_new_line Geography OBJ_GEO_LINEENDY, trackpoint.latitude + 0.0001 Update tmp_demo Set obj = o_new_line Where Rowid = row_num
а именно непонятно как получить и передать o_new_line
Сообщение отредактировал Conkistador: 29.05.2009, 16:42:06
#77
Отправлено 29.05.2009, 16:48:35
PS: не все команды можно вызывать с пом. COM, только те, которые вызываются из окна MapBasic
Где-то в сети есть .cs файл с определениями MapInfo-шных констант. Если не найдешь, могу выслать.
Файлик бы очень не помешал.... max(подчеркивание)hht(зверь)mail(точка)ru
#78
Отправлено 29.05.2009, 17:05:31
а возможно такой код как то выполнить из дот нета ?
Fetch Rec row_num From tmp_demo o_new_line = tmp_demo.obj Alter Object o_new_line Geography OBJ_GEO_LINEBEGX, trackpoint.longitude Alter Object o_new_line Geography OBJ_GEO_LINEBEGY, trackpoint.latitude Alter Object o_new_line Geography OBJ_GEO_LINEENDX, trackpoint.longitude + 0.0001 Alter Object o_new_line Geography OBJ_GEO_LINEENDY, trackpoint.latitude + 0.0001 Update tmp_demo Set obj = o_new_line Where Rowid = row_num
а именно непонятно как получить и передать o_new_line
конечно можно.
Просто o_new_line получать и передавать обратно не нужно. Вместо этого объявить переменную прям там в MI:
_mapInfo.Do("Dim o_new_line As Object") ... кодим, кодим _mapInfo.Do("UnDim o_new_line")
Сообщение отредактировал d_d_t: 29.05.2009, 17:07:21
#80
Отправлено 03.06.2009, 10:24:16
Declare Function IsTableExist(MyTabName As String) As Logical Function IsTableExist(MyTabName As String) As Logical '****************************************************** Dim i, TabCount As Integer TabCount = NumTables() 'Число открытых таблиц IsTableExist = False For i = 1 To TabCount 'цикл по открытым таблицам If TableInfo(i, TAB_INFO_NAME) = MyTabName Then IsTableExist = True Exit For End If Next End Function
Количество пользователей, читающих эту тему: 0
пользователей: 0, неизвестных прохожих: 0, скрытых пользователей: 0