xiaolito
路人甲
路人甲
  • 注册日期2008-12-24
  • 发帖数44
  • QQ
  • 铜币237枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1907回复:2

一段大家懂得的代码,却很重要!!!

楼主#
更多 发布于:2009-07-14 19:00
<P>仔细看!</P>
<P>Private Sub add_Field()</P>
<P>Dim pdoc As IMxDocument<br>Dim pmap As IMap<br>Dim play As IFeatureLayer<br>Dim pFClass As IFeatureClass<br>Dim pfcursor As IFeatureCursor<br>Dim pfeature As IFeature</P>
<P>Dim pCurve As ICurve<br>Dim pfields As IFieldsEdit<br>Dim pfield As IFieldEdit</P>
<P><br>Set pdoc = ThisDocument<br>Set pmap = pdoc.FocusMap<br>Set play = pmap.Layer(0)<br>Set pFClass = play.FeatureClass<br>'----添加一个feild---------<br>Set pfields = pFClass.Fields<br><br>Set pfield = New Field<br>  With pfield<br>     .name = "Length"<br>     .Type = esriFieldTypeString<br>     .Length = 20<br>     <br>  End With<br>pfields.AddField pfield<br>MsgBox "添加成功!"<br>'---------end -------------</P>
<P>  Set pfcursor = pFClass.Search(Nothing, True)<br>  Set pfeature = pfcursor.NextFeature<br>  Set pCurve = pfeature.Shape<br>  <br>Do Until pfeature Is Nothing<br>pfeature.Value(pFClass.FindField("Length")) = pCurve.Length<br>' pfcursor.UpdateFeature pfeature<br>Set pfeature = pfcursor.NextFeature<br>Loop<br>End Sub</P>
<P>以上代码正确运行,但是为什么属性表中增加了Length这个字段,可为什么还是没有值呢?</P>
<P>如果我用下面代码测试,里面却时已经赋值了呀,为什么没有,难道没保存?但怎么保存可以显示这个字段了???</P>
<P>'------------测试-------------------<br>'Dim i As Integer<br>'For i = 0 To 3<br>'pfeature.Value(pFClass.FindField("Length")) = pCurve.Length<br><br>'MsgBox pfeature.Value(pFClass.FindField("Length"))<br>'Set pfeature = pfcursor.NextFeature<br>'Next<br>'-----------end测试-----------------</P>
[此贴子已经被作者于2009-7-20 16:54:52编辑过]
喜欢0 评分0
zdpiaopiao
路人甲
路人甲
  • 注册日期2006-10-24
  • 发帖数8
  • QQ
  • 铜币152枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2009-07-19 17:32
<P>自带的帮助里面有类似的例子</P>
<P>dim Length_index  as long</P>
<P>Length_index = pfeature.Table.FindField("Length")确定有这个字段<BR>pfeature.Value(Length_index)= pcurve.Length</P>
举报 回复(0) 喜欢(0)     评分
xiaolito
路人甲
路人甲
  • 注册日期2008-12-24
  • 发帖数44
  • QQ
  • 铜币237枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2009-07-20 16:50
谢谢楼上回答。这个后来我知道了,但是没有显示我赋的值!
举报 回复(0) 喜欢(0)     评分
游客

返回顶部