Оператор Select в mapbasic

Тема в разделе "MapInfo", создана пользователем yeti, 11 сен 2020.

  1. yeti

    yeti Форумчанин

    Добрый день. Пытаюсь извлечь координаты узлов полилинии, а так же значение из первой ячейки
    Код:
    tab_temp=selectioninfo(SEL_INFO_SELNAME)
    aRowID = tab_temp & ".ROWID"
    aObj = tab_temp & ".OBJ" 
     
    Fetch First From tab_temp
    Do Until EOT(tab_temp) 
    oLayoutObj = aObj  
    if ObjectInfo(oLayoutObj, OBJ_INFO_TYPE) = OBJ_TYPE_PLINE then 
    Select col1 From tab_temp  Where RowID = nRowID 
     
     print #1, ObjectInfo(oLayoutObj, OBJ_INFO_NPNTS ) + ",0 "+Chr$(34)+selection.col1+Chr$(34)
     for i=1 to ObjectInfo(oLayoutObj, OBJ_INFO_NPNTS )
     X=ObjectNodeX(oLayoutObj, 1, i)
     Y=ObjectNodeY(oLayoutObj, 1, i)
     print #1, X + "," + Y 
     next
     
    End If
    Fetch Next From tab_temp 
    Loop
    
    все работает , кроме selection.col1. Он выдает ошибку что к выборке нельзя обращаться как к таблице. Можно результат записать в таблице через into
    Код:
    Select col1 From tab_temp  Where RowID = nRowID into n__
    но оказывается что эта таблица пустая, можно сделать так
    Код:
    Select col1 From tab_temp  Where RowID = nRowID into n__ noselect
    к selection можно обратиться, но при этом каждый раз плодятся таблицы и если попытаться в коде их закрывать, снова все перестает работать.

    Совсем запутался и не знаю что менять, подскажите пожалуйста если кто знает что делать ? ::blink.gif::
     
  2. yeti

    yeti Форумчанин

    про nRowID забыл, надо вначале указать nRowID = aRowID (типа номер строки) или RowID = nRowID сразу заменить aRowID , так же?
    и еще, что то при выборе нескольких линий читается только значение первой строки (объекта)
     
  3. yeti

    yeti Форумчанин

    Перезапустил, перекомпилировал и заработало. Что такое было так и не понял. Носелект убрал...
     
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление