|
阅读:1185回复:3
回gisleonzhouly兄弟,请你帮个忙~~~~~是高手的也来
<P>Dim sFilePath As String<BR> Dim pWorkspaceFactory As IWorkspaceFactory<BR> Dim pFeatureWorkspace As IFeatureWorkspace<BR> Dim pFeatureLayer As IFeatureLayer<BR> CommonDialog1.DialogTitle = "Browse Map Document"<BR> CommonDialog1.Filter = "Map Documents (*.shp)|*.shp"<BR> CommonDialog1.CancelError = True<BR> On Error GoTo error<BR> CommonDialog1.ShowOpen<BR> If Len(CommonDialog1.FileName) = 0 Then Exit Sub<BR>error:<BR> sFilePath = CommonDialog1.FileName<BR> If sFilePath = "" Then Exit Sub<BR> fname = Left(CommonDialog1.FileTitle, Len(CommonDialog1.FileTitle) - 4)<BR> Set pWorkspaceFactory = New ShapefileWorkspaceFactory<BR> Set pFeatureWorkspace = pWorkspaceFactory.OpenFromFile(CurDir, 0)</P>
<P>这个是您代码</P> <P>请问这句话是什么意思呢 ??</P> <P>fname = Left(CommonDialog1.FileTitle, Len(CommonDialog1.FileTitle) - 4)</P> <P><BR>还有的就是我是用c#开发的,你的是在VB中是可以运行的,但是我把它转为C#的时候就不可以了 出现了这样的错误,fname 没有定义过CommonDialog1,Left应该是方法,不能取得FileTitle,因为没有GET,LEN也没有定义过 这四个错误</P> <P>希望你能帮我看看 ,随便附上你的代码,谢谢~~~~~~~~</P> |
|
|
1楼#
发布于:2006-08-19 15:46
c#的语法继承c和c++的,跟vb差别很大的!不能照搬照用的!
|
|
|
2楼#
发布于:2006-08-19 18:14
<P>在vb6中</P>
<P>len函数,返回 Long,其中包含字符串内字符的数目,或是存储一变量所需的字节数。</P> <P>left函数,返回string,其中包含字符串中从左边算起指定数量的字符。</P> <P>在这里,CommonDialog1(.showopen)控件相当于vs2003中的OpenFileDialog ,CommonDialog1.FileTitle返回要打开文件的名称(没有路径)。</P> <P>其实就是去掉文件的后面四位字符,既.shp,如states.shp,那么去掉四位后就得到states了</P> <P>在C#中,将fname定义为一个string,然后用string类中的方法和属性提取需要的值,如string.length等</P> |
|
|
3楼#
发布于:2006-08-19 21:12
<P>好 谢谢楼上的详细讲解 ~~~~~~~~~</P>
<P>太感谢了 希望多多指教 </P> |
|