ArcGIS网络分析最短路径分析源代码(VB6.0).docx
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ArcGIS 网络分析 路径 分析 源代码 VB6
- 资源描述:
-
ArcGIS网络分析最短路径分析源代码(VB6.0) 12 ' Copyright 1995-2005 ESRI 3' All rights reserved under the copyright laws of the United States. 4 5 ' You may freely redistribute and use this sample code, with or without modifi cation. 6 ' Disclaimer: THE SAMPLE CODE IS PROVIDED "AS IS" AND ANY EXPRESS O R IMPLIED 7 ' WARRANTIES, INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILIT Y AND FITNESS' FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ESR I OR 8 ' CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPE CIAL, EXEMPLARY, 9 ' OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROC UREMENTOF' SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; O R BUSINESS 10 ' INTERRUPTION) SUSTAINED BY YOU OR A THIRD PARTY, HOWEVER CAUSE D AND ON ANY 11 ' THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TO RT ARISING IN ANY 12 1 WAY OUT OF THE USE OF THIS SAMPLE CODE, EVEN IF ADVISED OF THE P OSSIBILITY OF' SUCH DAMAGE. 18246 247248 249250 251252 253254 255256 257258 259260 261262 263264 265266 267268 269270 271272 273274 275 ,set the iterator to beginning ipEnumEIDInfo. Reset For i = 1 To count 'get the next EID and a copy of its geometry (it makes a Clone) Set ipEIDInfo = ipEnumEIDInfo.Next Set ipGeometry = ipEIDInfo.Geometry ipNewGeometryColl.AddGeometryCollection ipGeometry Next ' EID 'return the merged geometry as a Polyline Set PathPolyLine = mJpPolyline End Property 'Private Private Sub CloseWorkspace() 'make sure we let go of everything and start with new results Set mJpGeometricNetwork = Nothing Set m_ipPoints = Nothing Set mJpPointToEID = Nothing Set m_ipEnumNetEID_Junctions = Nothing Set m_ipEnumNetEID_Edges = Nothing Set mJpPolyline = Nothing End Sub276 277 Private Function InitializeNetworkAndMap(FeatureDataset As esriGeoDataba se.IFeatureDataset) As Boolean 278Dim ipNetworkCollection As esriGeoDatabase.INetworkCollection 279 Dim ipNetwork As esriGeoDatabase.INetworkDim count As Long, i As Long Dim ipFeatureClassContainer As esriGeoDatabase.IFeatureClassContainerDim ipFeatureClass As esriGeoDatabase.IFeatureClass 283 Dim ipGeoDataset As esriGeoDatabase.IGeoDatasetDim ipLayer As esriCarto.ILayer 284 Dim ipFeatureLayer As esriCarto.IFeatureLayer Dim ipEnvelope As esriGeometry.IEnvelope, ipMaxEnvelope As esriGeomet ry.IEnvelope 288 Dim dblSearchTol As Double289 Dim dbIWidth As Double, dbIHeight As Double 290291 On Error GoTo Trouble 292293' get the networks 294 Set ipNetworkCollection = FeatureDataset295 296' even though a FeatureDataset can have many networks, we'll just297' assume the first one (otherwise you would pass the network name inz et c.)298 299 ' get the count of networkscount = ipNetworkCollection.GeometricNetworkCount 301302 Debug.Assert count > 0 ' then Exception.Create('No networks found'); 303304 305306 307308 309310 311312 313314 315316 317 er318 319320 asses 321322 323324 325326 327328 329330 ,get the first Geometric Newtork (0 - based) Set mJpGeometricNetwork = ipNetworkCollection.GeometricNetwork(O) 'get the Network Set ipNetwork = mJpGeometricNetwork.Network 'The EID Helper class that converts points to EIDs needs a 'IMap, so we'll need one around with all our layers added. ,This Pathfinder object has an optional Map property than may be set 'before opening the Network. If mJpMap Is Nothing Then Set m_ipMap = New esriCarto.Map 'Add each of the Feature Classes in this Geometric Network as a map Lay Set ipFeatureClassContainer = mJpGeometricNetwork count = ipFeatureClassContainer.ClassCount Debug.Assert count > 0 ' then Exception.Create('No (network) feature cl found'); For i = 0 To count - 1,get the feature class Set ipFeatureClass = ipFeatureClassContainer.Class(i)'make a layer Set ipFeatureLayer = New esriCarto.FeatureLayerSet ipFeatureLayer.Featureclass = ipFeatureClass 'add layer to the mapmJpMap.AddLayer ipFeatureLayer Next331 332333 334335 336337 338339 340341 342343 344345 346347 348349 350351 352353 354355 356357 358359 End If ' we needed to make a Map 'Calculate point snap tolerance as 1/100 of map width. count = mJpMap. LayerCount Set ipMaxEnvelope = New esriGeometry.Envelope For i = 0 To count - 1 Set ipLayer = mJpMap.Layer(i) Set ipFeatureLayer = ipLayer 'get its dimensions (for setting search tolerance) Set ipGeoDataset = ipFeatureLayer Set ipEnvelope = ipGeoDataset.Extent 'merge with max dimensions ipMaxEnvelope.Union ipEnvelope Next 'finally, we can set up the IPointToEID … Set mJpPointToEID = New esriNetworkAnalysis.PointToEID Set mJpPointToEID.SourceMap = mJpMap Set mJpPointToEID.GeometricNetwork = mJpGeometricNetwork 'set snap tolerance dbIWidth = ipMaxEnvelope. Width dbIHeight = ipMaxEnvelope. Height If dbIWidth > dbIHeight Then dblSearchTol = dbIWidth / 100# Else dblSearchTol = dbIHeight / 100#360 End If 361362 m_ipPointToEID.SnapTolerance = dblSearchTol 363364 InitializeNetworkAndMap = True ' good to go 365 Exit Function366 367 Trouble: 368 InitializeNetworkAndMap = False ' we had an error369 End Function 附录资料:不需要的可以自行删除 bat文件的基本应用bat是dos下的批处理文件 d是nt内核命令行环境的另一种批处理文件从更广义的角度来看,unix的shell脚本以及其它操作系统甚至应用程序中由外 壳进行解释执行的文本,都具有与批处理文件十分相似的作用,而且同样是由专 用解释器以行为单位解释执行,这种文本形式更通用的称谓是脚本语言。所以从 某个程度分析,batch, unix shell, awk, basic, perl等脚本语言都是一样的,只 不过应用的范围和解释的平台各有不同而己。甚至有些应用程序仍然沿用批处理 这一称呼,而其内容和扩展名与dos的批处理却又完全不同。 首先批处理文件是一个文本文件,这个文件的每一行都是一条DOS命令(大部 分时候就好象我们在DOS提示符下执行的命令行一样),你可以使用DOS下 的Edit或者Windows的记事本(notepad)等任何文本文件编辑工具创立和修改批 处理文件。 ====注===================批处理文件中完全可以使用非dos命令,甚至可以使用不具有可执行特性的普 通数据性文件,这缘于windows系统这个新型解释平台的涉入,使得批处理的 应用越来越“边缘化"。所以我们讨论的批处理应该限定在dos环境或者命令行环 境中,否那么很多观念和设定都需要做比拟大的变动。 其次,批处理文件是一种简单的程序,可以通过条件语句⑻和流程控制语句(got。) 来控制命令运行的流程,在批处理中也可以使用循环语句(for)来循环执行一条命 令。当然,批处理文件的编程能力与C语言等编程语句比起来是十分有限的, 也是十分不规范的。批处理的程序语句就是一条条的DOS命令(包括内部命令 和外部命令),而批处理的能力主要取决于你所使用的命令。 ====注==================批处理文件(batch file)也可以称之为批处理程序(batch program),这一点与编译 型语言有所不同,就c语言来说,扩展名为c或者cpp的文件可以称之为c语 言文件或者c语言源代码,但只有编译连接后的exe文件才可以称之为c语言 程序。因为批处理文件本身既具有文本的可读性,又具有程序的可执行性,这些 称谓的界限是比拟模糊的。 第三,每个编写好的批处理文件都相当于一个DOS的外部命令,你可以把它所 在的目录放到你的DOS搜索路径(path)中来使得它可以在任意位置运行。一个 良好的习惯是在硬盘上建立一个bat或者batch目录(例如C:\BATCH),然后 将所有你编写的批处理文件放到该目录中,这样只要在path中设置上c:\batch, 你就可以在任意位置运行所有你编写的批处理程序。 ====注=====纯以dos系统而言,可执行程序大约可以细分为五类,依照执行优先级由高到 低排列分别是:DOSKEY宏命令(预先驻留内存),COMMAND 中的内 部命令(根据内存的环境随时进驻内存),以com为扩展名的可执行程序(由 command 直接载入内存),以exe位扩展名的可执行程序(由 command 重定位后载入内存),以bat位扩展名的批处理程序(由 command 解释分析,根据其内容按优先级顺序调用第2, 3, 4, 5种可执 行程序,分析一行,执行一行,文件本身不载入内存) 第四,在DOS和Win9x/Me系统下,C:盘根目录下的AUTOEXEC.BAT批处理 文件是自动运行批处理文件,每次系统启动时会自动运行该文件,你可以将系统 每次启动时都要运行的命令放入该文件中,例如设置搜索路径,调入鼠标驱动和 磁盘缓存,设置系统环境变量等。下面是一个运行于Windows 98下的 autoexec.bat 的例如: @ECHO OFFPATH C:\WINDOWS;C:\WINDOWS\COMMAND;C:\UCDOS;C:\DOSTools; C:\SYST00LS;C:\WINT00L8;C:\BATCH LH SMARTDRV.EXE /XLH DOSKEY /insert LH CTMOUSE.EXE SETTEMP=D:\TEMP SET TMP=D:\TEMP====注===== AUTOEXEC.BAT为DOS系统的自动运行批处理文件,由COMMAND 启 动时解释执行;而在Win9x环境中,不仅增加支持了 DOSSTART.BAT, WINSTART.BAT等许 多其它自动运行的批处理文件,对AUTOEXEC.BAT也增加 了 .DOS .W40 .BAK .OLD .PWS等许多变体以适应复杂的环境和多变的需求。 ====w川sort 编注=============以下关于命令的分类,有很多值得推敲的地方。常用命令中的@本不是命令,而 dir、copy等也很常用的命令却没有列入,而特殊命令中所有命令对我来说都是 常用命令。建议将批处理所引用的命令分为内部命令、外部命令、第三方程序三 类。而内部命令和外部命令中别有一类是专用于或常用于批处理中的命令可称之 为”批处理命令”。 以下摘录MS-DOS 6.22帮助文档中关于”批处理命令”的文字,当然,其中有些 概念和定义已经有些落后了。 批处理命令批处理文件或批处理程序是一个包含假设干MS-DOS命令的正文文件,扩展名 为.BAT。当在命令提示符下敲入批处理程序的名称时,MS-DOS成组执行此批 处理程序中的命令。 任何在命令提示符下可使用的命令都可用在批处理程序中。此外,下面MS-DOS 命令是专门在批处理程序中使用的。 常用命令echo、@、calk pause> rem(小技巧:用::代替rem)是批处理文件最常用的几 个命令,我们就从他们开始学起。 ====注===========首先,@不是一个命令,而是DOS批处理的一个特殊标记符,仅用于屏蔽命令 行回显.下面是DOS命令行或批处理中可能会见到的一些特殊标记符: CR(OD)命令行结束符 Escape(1B) ANSI转义字符引导符Space(20)常用的参数界定符 Tab(09);=不常用的参数界定符+ COPY命令文件连接符 *?文件通配符””字符串界定符 |命令管道符< > »文件重定向符 @命令行回显屏蔽符/参数开关引导符 :批处理标签引导符%批处理变量引导符 其次,::确实可以起到rem的注释作用,而且更简洁有效;但有两点需要注意: 第一,除了 ::之外,任何以:开头的字符行,在批处理中都被视作标号,而直接 忽略其后的所有内容,只是为了与正常的标号相区别,建议使用goto所无法识 别的标号,即在:后紧跟一个非字母数字的一个特殊符号. 第二,与rem不同的是,::后的字符行在执行时不会回显,无论是否用echo on 翻开命令行回显状态,因为命令解释器不认为他是一个有效的命令行,就此点来 看,rem在某些场合下将比::更为适用;另外,rem可以用于config.sys文件 中. echo表示显示此命令后的字符echo off表示在此语句后所有运行的命令都不显示命令行本身 @与echo off相象,但它是加在每个命令行的最前面,表示运行时不显示这一行 的命令行(只能影响当前行)。 call调用另一个批处理文件(如果不用call而直接调用别的批处理文件,那么执 行完那个批处理文件后将无法返回当前文件并执行当前文件的后续命令)。 pause运行此句会暂停批处理的执行并在屏幕上显示Press any key to continue...的提示,等待用户按任意键后继续rem表示此命令后的字符为解释行(注释),不执行,只是给自己今后参考用 的(相当于程序中的注释)。 ====注=====此处的描述较为混乱,不如直接引用个命令的命令行帮助更为条理 ECHO当程序运行时,显示或隐藏批处理程序中的正文。也可用于允许或禁止命令的回 显。 在运行批处理程序时,MS-DOS一般在屏幕上显示(回显)批处理程序中的命 令。 使用ECHO命令可关闭此功能。 语法ECHO [ON|OFF] 假设要用echo命令显示一条命令,可用下述语法: echo [message]参数 ON|OFF指定是否允许命令的回显。假设要显示当前的ECHO的设置,可使用不带参数的 ECHO命令。 message指定让MS-DOS在屏幕上显示的正文。 CALL从一个批处理程序中调用另一个批处理程序,而不会引起第一个批处理的中止。 语法CALL [drive:][path]filename [batch-parameters] 参数[drive:][path]filename 指定要调用的批处理程序的名字及其存放处。文件名必须用EAT作扩展名。 batch-parameters指定批处理程序所需的命令行信息。 PAUSE暂停批处理程序的执行并显示一条消息,提示用户按任意键继续执行。只能在批 处 理程序中使用该命令。 语法PAUSE REM在批处理文件或CONFIG.SYS中加入注解。也可用REM命令来屏蔽命令(在 CONFIG.SYS 中也可以用分号;代替REM命令,但在批处理文件中那么不能替代)。 语法REM [string] 参数string 指定要屏蔽的命令或要包含的注解。 例1:用edit编辑a.bat文件,输入以下内容后存盘为c:\a.bat,执行该批处理 文件后可实现:将根目录中所有文件写入a.txt中,启动UCDOS,进入WPS 等功能。 批处理文件的内容为:命令注释: @echo off不显示后续命令行及当前命令行dir c:\*.* >a.txt将c盘文件列表写入a.txt call c:\ucdos\ucdos.bat 调用 ucdosecho你好显示“你好” pause暂停,等待按键继续rem准备运行wps注释:准备运行wps cd ucdos 进入ucdos目录wps运行wps 批处理文件的参数批处理文件还可以像C语言的函数一样使用参数(相当于DOS命令的命令行参 数),这需要用到一个参数表示符“%”。 2021 2223 2425 2627 2829 3031 3233 3435 3637 3839 4041 4243 4445 4647 19 ' For additional information contact: Environmental Systems Research Institu te. Inc. 'Attn: Contracts Dept. '380 New York Street 'Redlands, California, U.S.A. 92373 'Email: Option Explicit 'vb version of the PathFinder object ,本地变量 Private mJpGeometricNetwork As esriGeoDatabase.IGeometncNetwork Private mJpMap As esriCarto.IMap Private mJpPoints As esriGeometry.IPointCollection Private m_ipPointToEID As esriNetworkAnalysis.IPointToEID ,返回结果变量 Private m_dblPathCost As Double Private m_ipEnumNetEID_Junctions As esriGeoDatabase.IEnumNetEID Private m_ipEnumNetEID_Edges As esriGeoDatabase.IEnumNetEID Private mJpPolyline As esriGeometry.IPolyline 'Optionally set the Map (e.g. the current map in ArcMap), 'otherwise a default map will be made (for IPointToEID). 表示参数,参数是指在运行批处理文件时在文件名后加的以空格(或者 Tab)分隔的字符串。变量可以从%0到%9, %0表示批处理命令本身,其它参 数字符串用%1到%9顺序表示。 例2: C:根目录下有一批处理文件名为f.bat,内容为: @echo offformat %1 如果执行C:\>f a: 那么在执行f.bat时,%1就表示a:,这样format %1就相当于format a:,于是 上面的命令运行时实际执行的是format a: 例3: C:根目录下一批处理文件名为t.bat,内容为: @echo offtype %1 type %2那么运行 C:\>t a.txt b.txt %1 :表示 a.txt%2 :表示 b.txt 于是上面的命令将顺序地显示a.txt和b.txt文件的内容。 ====注===============参数在批处理中也作为变量处理,所以同样使用百分号作为引导符,其后跟0-9 中的一个数字构成参数引用符.引用符和参数之间(例如上文中的%1与a:) 的关系类似于变量指针与变量值的关系.当我们要引用第十一个或更多个参数 时,就必须移动DOS的参数起始指针.shift命令正充当了这个移动指针的角色, 它将参数的起始指针移动到下一个参数,类似C语言中的指针操作.图示如下: 初始状态,cmd为命令名,可以用%0引用cmd arg1 arg2 arg3 arg4 arg5 arg6 arg7 arg8 arg9 arg 10 AAAAAAAAAAllllllllll %0 %1 %2 %3 %4 %5 %6 %7 %8 %9经过1次shHt后,cmd将无法被引用 cmd arg1 arg2 arg3 arg4 arg5 arg6 arg7 arg8 arg9 arg 10AAAAAAAAAA llllllllll%0 %1 %2 %3 %4 %5 %6 %7 %8 %9 经过2次sh设后,arg1也被废弃,%9指向为空,没有引用意义 cmd arg1 arg2 arg3 arg4 arg5 arg6 arg7 arg8 arg9 arg 10AAAAAAAAA lllllllll%0 %1 %2 %3 %4 %5 %6 %7 %8 遗憾的是,win9x和DOS下均不支持shift的逆操作.只有在nt内核命令行环 境下,shift才支持/n参数,可以以第一参数为基准返复移动起始指针. 特殊命令if goto choice for是批处理文件中比拟高级的命令,如果这几个你用得很熟练, 你就是批处理文件的专家啦。 一、if是条件语句,用来判断是否符合规定的条件,从而决定执行不同的命令。 有三种格式: 1、if [not]“参数"=="字符串”待执行的命令参数如果等于(not表示不等,下同)指定的字符串,那么条件成立,运行命令,否 那么运行下一句。 例:if"%1“=="a"formata: if的命令行帮助中关于此点的描述为: IF [NOT] string1==string2 command在此有以下几点需要注意: 1. 包含字符串的双引号不是语法所必须的,而只是习惯上使用的一种“防空”字 符stringl未必是参数,它也可以是环境变量,循环变量以及其他字符串常量或 变量 2. command不是语法所必须的,string2后跟一个空格就可以构成一个有效的 命令行2、if [not] exist [路径\]文件名 待执行的命令 如果有指定的文件,那么条件成立,运行命令,否那么运行下一句。 如:if exist c:\config.sys type c:\config.sys表示如果存在c:\config.sys文件,那么显示它的内容。 ★★★★★★ ’4j ★★★★★★★★也可以使用以下的用法: if exist commanddevice是指DOS系统中己加载的设备,在win98 F通常有: AUX, PRN, CON, NULCOM1, COM2, COM3, COM4 LPT1, LPT2, LPT3, LPT4XMSXXXXO, EMMXXXX0 1. B: C: CLOCKS, CONFIGS, DblBuff$, IFS$HLP$具体的内容会因硬软件环境的不同而略有差异,使用这些设备名称时,需要保证 以下三点: 1 .该设备确实存在(由软件虚拟的设备除外).该设备驱动程序己加载(aux, pm等标准设备由系统缺省定义) 2 .该设备已准备好(主要是指a: b:com1..."p已…等)可通过命令mem/d | find "device', /i来检阅你的系统中所加载的设备 另外,在DOS系统中,设备也被认为是一种特殊的文件,而文件也可以称作字 符设备;因为设备(device)与文件都是使用句柄(handle)来管理的,句柄就是名 字,类似于文件名,只不过句柄不是应用于磁盘管理,而是应用于内存管理而已, 所谓设备加载也即指在内存中为其分配可引用的句柄. 3、if errorlevel v数字〉待执行的命令很多DOS程序在运行结束后会返回•个数字值用来表示程序运行的结果(或者 状态),通过if errorlevel命令可以判断程序的返回值,根据不同的返回值来决定 执行不同的命令(返回值必须按照从大到小的顺序排列)。如果返回值等于指定的 数字,那么条件成立,运行命令,否那么运行下一句。 如 if errorlevel 2 goto x2====注=========== 返回值从大到小的顺序排列不是必须的,而只是执行命令为goto时的习惯用 法,当使用set作为执行命令时,通常会从小到大顺序排列,比方需将返回码 置入环境变量,就需使用以下的顺序形式: if errorlevel 1 set el=1if errorlevel 2 set el=2 if errorlevel 3 set el=3 if errorlevel 4 set el=4if errorlevel 5 set el=5 当然,也可以使用以下循环来替代,原理是一致的: for %%e in (1 2 3 4 5 6 7 8...) do if errorlevel %%e set el=%%e更高效简洁的用法,可以参考我写的另一篇关于获取errorlevel的文章 出现此种现象的原因是,if errorlevel比拟返回码的判断条件并非等于,而是大 于等于.由于goto的跳转特性,由小到大排序会导致在较小的返回码处就跳出; 而由于set命令的“重复”赋值特性,由大到小排序会导致较小的返回码”覆盖 ”较大的返回码. 另外,虽然if errorlevel=v数字,command也是有效的命令行,但也只是 command 解释命令行时将=作为命令行切分符而忽略掉罢了二、goto批处理文件运行到这里将跳到got。所指定的标号(标号即label,标号 用后跟标准字符串来定义)处,goto语句一般与if配合使用,根据不同的条件来 执行不同的命令组。 如: goto end:end echo this is the end标号用”:字符串”来定义,标号所在行不被执行。 ====w川sort编注label常被译为“标签”,但是这并不具有广泛的约定性. goto与:联用可实现执行中途的跳转,再结合if可实现执行过程的条件分支, 多个if即可实现命令的分组,类似C中switch case结构或者Basic中的 select case结构,大规模且结构化的命令分组即可实现高级语言中的函数功能. 以下是批处理和C/Basic在语法结构上的对照: Batch C / Basicgoto&: goto&: goto&:&if if{}&else{} / if&elseif&endifgoto&:&if... switch&case / select case goto&:&if&set&envar... function() / function(),sub()三、choice使用此命令可以让用户输入一个字符(用于选择),从而根据用户 的选择返回不同的errorlevel,然后于if errorlevel配合,根据用户的选择运行不 同的命令。 注意:choice命令为DOS或者Windows系统提供的外部命令,不同版本的 choice命令语法会稍有不同,请用choice /?查看用法。 choice的命令语法(该语法为Windows 2003中choice命令的语法,其它版本 的choice的命令语法与此大同小异): CHOICE [/C choices] [/N] [/CS] [/T timeout /D choice] [/M text]描述: 该工具允许用户从选择列表选择一个工程并返回所选工程的索引。 参数列表: /C choices指定要创立的选项列表。默认列表是“YN”。 /N在提示符中隐藏选项列表。提示前面的消息得到显示,选项依旧处于启用状态。 /CS允许选择分大小写的选项。在默认情况下,这个工具是不分大小写的。 “timeout做出默认选择之前,暂停的秒数。可接受的值是从0到9999o如果指定了 0,就不会有暂停,默认选项 会得到选择。 /D choice在nnnn秒之后指定默认选项。字符必须在用/C选 项指定的一组选择中;同时,必须用/T指定nnnno/M text指定提示之前要显示的消息。如果没有指定,工具只 显不提不。 /?显示帮助消息。 注意: ERRORLEVEL环境变量被设置为从选择集选择的键索引。列出的第一个选 择返回1,第二个选择返回2,等等。如果用户按的键不是有效的选择, 该工具会发出警告响声。如果该工具检测到错误状态,它会返回255的 ERRORLEVEL值。如果用户按Ctrl+Break或Ctrl+C键,该工具会返回0 的ERRORLEVEL值。在一个批程序中使用ERRORLEVEL参数时,将参数 降 序排列。 例如: CHOICE/? CHOICE/CYNC/M”确认请按Y,否请按N,或者取消请按C。”CHOICE /T 10/C ync /CS /D y CHOICE/C ab/M ”选项1请选择a,选项2请选择b。"CHOICE/C ab/N/M ”选项1请选择a,选项2请选择b。” ====w川sort 编注=============================== 我列出win98下choice的用法帮助,己资区分Waits for the user to choose one of a set of choices. 等待用户选择一组待选字符中的一个 CHOICE [/C[:]choices] [/N] [/S] [/T[:]c,nn] [text]/C[:]choices Specifies allowable keys. Default is YN 指定允许的按键(待选字符),默认为YN /N Do not display choices and ? at end of prompt string. 不显示提示字符串中的问号和待选字符/S Treat choice keys as case sensitive. 处理待选字符时大小写敏感 /T[:]c,nn Default choice to c after nn seco展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




ArcGIS网络分析最短路径分析源代码(VB6.0).docx



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/4479682.html