zcp76
路人甲
路人甲
  • 注册日期2005-06-03
  • 发帖数14
  • QQ
  • 铜币155枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1135回复:1

画线vb->vc?

楼主#
更多 发布于:2005-08-31 16:58
<P>'以下代码逍遥书生原创,(请保留版权信息),不知哪高手可以把它进行VB->VC的转换,非常急用代码,谢谢!<IMG src="http://www.gisempire.com/bbs/Skins/Default/emot/em02.gif"><BR>Private Sub Form_Load()<BR><BR>Dim new_line As New MapObjects2.Line<BR>Dim pts As New MapObjects2.Points<BR>Dim pt As New MapObjects2.Point<BR><BR><BR>'*****添加新的图层*****<BR>    Dim pSaveConnect As New MapObjects2.DataConnection<BR>    Dim pSaveShape As New MapObjects2.MapLayer<BR>    Dim pSaveRecs As New MapObjects2.Recordset    '新的实体集<BR>    Dim pJsField As Object<BR>    <BR>    pSaveConnect.Database = App.Path<BR>    If Not pSaveConnect.Connect Then Exit Sub<BR>    '获取数据库结构<BR>    Set JsFields = CreateFields<BR>    pSaveShape.GeoDataset = pSaveConnect.AddGeoDataset("Test", moShapeTypeLine, JsFields)<BR>      <BR>    Set pSaveRecs = pSaveShape.Records<BR>    pSaveRecs.AutoFlush = False</P>
<P>    pSaveRecs.AddNew<BR>    '做循环,读取数据</P>
<P>    pt.X = 100<BR>    pt.Y = 100<BR>    pts.Add pt<BR>    <BR>    pt.X = 200<BR>    pt.Y = 200<BR>    pts.Add pt<BR>    <BR>    pt.X = 300<BR>    pt.Y = 300<BR>    pts.Add pt</P>
<P>    new_line.Parts.Add pts</P>
<P>    Set pSaveRecs.Fields("Shape").Value = new_line<BR>    pSaveRecs.Update<BR>    Set pFwRecs = Nothing<BR>    Set pSelectOne = Nothing<BR>    pSaveRecs.StopEditing<BR>    <BR>    <BR>    Map1.Layers.Add pSaveShape<BR>    pSaveConnect.Disconnect<BR>    Map1.Refresh<BR>    <BR>End Sub<BR>Function CreateFields() As TableDesc<BR>   Dim NameCol As New Collection<BR>    Dim TypeCol As New Collection<BR>    Dim LengthCol As New Collection<BR>    Dim ScaleCol As New Collection<BR>  <BR>    NameCol.Add "DM"<BR>    TypeCol.Add moString<BR>    LengthCol.Add 6<BR>    ScaleCol.Add 0<BR>    <BR>  <BR>  <BR>    NameCol.Add "X"<BR>    TypeCol.Add moDouble<BR>    LengthCol.Add 8<BR>    ScaleCol.Add 3<BR>    <BR>    NameCol.Add "Y"<BR>    TypeCol.Add moDouble<BR>    LengthCol.Add 4<BR>    ScaleCol.Add 1<BR>    <BR>    Set CreateFields = CreateShpFields(NameCol, TypeCol, LengthCol, ScaleCol)</P>
<P>End Function<BR>Function CreateShpFields(inNameCol As Collection, inTypeCol As Collection, inLengthCol As Collection, inScale As Collection) As TableDesc<BR>    Dim pFields As New TableDesc<BR>    Dim i As Integer<BR>    pFields.FieldCount = inNameCol.Count<BR>    For i = 0 To inNameCol.Count - 1<BR>            pFields.FieldName(i) = inNameCol.Item(i + 1)<BR>            <BR>            Select Case inTypeCol.Item(i + 1)<BR>                Case 0<BR>                    pFields.FieldType(i) = Val(inTypeCol.Item(i + 1))<BR>                Case 3 'long<BR>                    pFields.FieldType(i) = Val(inTypeCol.Item(i + 1))<BR>                    pFields.FieldPrecision(i) = inLengthCol.Item(i + 1)<BR>                Case 5 'moDouble<BR>                    pFields.FieldType(i) = Val(inTypeCol.Item(i + 1))<BR>                    pFields.FieldPrecision(i) = inLengthCol.Item(i + 1)<BR>                    pFields.FieldScale(i) = inScale.Item(i + 1)<BR>                Case 7 'Date<BR>                    pFields.FieldType(i) = Val(inTypeCol.Item(i + 1))<BR>                    pFields.FieldPrecision(i) = 8<BR>                Case 8 'String<BR>                    pFields.FieldType(i) = Val(inTypeCol.Item(i + 1))<BR>                    pFields.FieldLength(i) = inLengthCol.Item(i + 1)<BR>              Case 11 'Boolean<BR>                    pFields.FieldType(i) = Val(inTypeCol.Item(i + 1))<BR>            <BR>            End Select<BR>    Next i<BR>    <BR>    Set CreateShpFields = pFields<BR>End Function</P><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" />
喜欢0 评分0
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15951
  • QQ
  • 铜币25345枚
  • 威望15368点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
1楼#
发布于:2005-09-01 15:04
<P><a href="http://gisempire.com/bbs/dispbbs.asp?BoardID=39;ID=15215;replyID=;skin=1" target="_blank" >http://gisempire.com/bbs/dispbbs.asp?BoardID=39;ID=15215;replyID=;skin=1</A></P>
<P>搜索下以前的贴了,很久没做这个,看来帮你转不了</P><img src="images/post/smile/dvbbs/em02.gif" />
GIS麦田守望者,期待与您交流。
举报 回复(0) 喜欢(0)     评分
游客

返回顶部