BonBon
路人甲
路人甲
  • 注册日期2006-03-07
  • 发帖数3
  • QQ
  • 铜币125枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1445回复:0

提问:vc+MO /代码 有问题,能不能帮我看看/从所有线中提取节点

楼主#
更多 发布于:2006-11-26 09:35
<P>我想从图层中所有的线里提取节点,但运行后,只在一条线中提取出来了节点,其它的没有,不知道是为什莫,帮我看看吧,错在哪里? 谢谢!</P>
<P>代码如下:</P>
<P> CMoLayers layers(m_map.GetLayers());<BR> CMoMapLayer roadLy( layers.Item( COleVariant( TEXT( "USHIGH" ))));</P>
<P> CMoRecordset roadRec(roadLy.GetRecords());</P>
<P> CMoFields Fields(roadRec.GetFields());</P>
<P> CMoField  roadField(Fields.Item(COleVariant(TEXT("Shape"))));<BR> CMoLine  road(roadField.GetValue().pdispVal);</P>
<P><BR>    CMoField NameID(Fields.Item( COleVariant( TEXT("NAME"))));<BR> <BR> CMoParts moParts(road.GetParts());<BR> <BR>   <BR>    CMoPoints moPts(moParts.Item(COleVariant((short)0)));<BR> </P>

<P> while( !roadRec.GetEof() )<BR> {   </P>
<P>   <BR>   <BR>    for( int i = 0 ; i < moPts.GetCount(); i++)<BR> <BR>    {<BR>   <BR>    mopt =  moPts.Item(COleVariant((short)i));<BR>    { <BR>     <BR>      if( i == 0)     //start point<BR>      {<BR><BR>    startX = mopt.GetX();<BR>    startY = mopt.GetY();</P>
<P>    <BR>              tLyr.ClearEvents();<BR>                tLyr.AddEvent(mopt,0);</P>

<P>   }<BR>      else if( i == moPts.GetCount() -1)    //end point <BR>   {<BR>       <BR>    EndX = mopt.GetX();<BR>    EndY = mopt.GetY();<BR>    </P>
<P>   <BR>           <BR>   }<BR>   else<BR>   {</P>
<P>           midX = mopt.GetX();<BR>        midY = mopt.GetY();<BR>   <BR>                   <BR>  <BR>   }<BR>  <BR>    }<BR>    }<BR>  <BR> <BR> roadRec.MoveNext();<BR>}</P>
喜欢0 评分0
游客

返回顶部