基于VB.net实现原始水深文件数据格式的转换

合集下载

VB.NET教程

VB.NET教程

教程 - 正则表达式正则表达式是可以与输入文本匹配的模式。

.Net框架提供了允许这种匹配的正则表达式引擎。

模式由一个或多个字符文字,运算符或构造组成。

定义正则表达式的构造有各种类别的字符,运算符和构造,允许您定义正则表达式。

单击以下链接以查找这些结构。

•字符转义••字符类••锚••分组构造••量词••反向引用结构••交替结构••替换••杂项结构正则表达式类正则表达式类用于表示一个正则表达式。

正则表达式类有以下常用方法:SN 方法和说明1 Public Function IsMatch (input As String) As Boolean公共函数IsMatch(输入作为字符串)作为布尔表示在正则表达式构造函数中指定的正则表达式是否发现在指定的输入字符串匹配。

2 Public Function IsMatch (input As String, startat As Integer ) As Boolean公共函数IsMatch(输入作为字符串,startat作为整数)作为布尔指示在Regex构造函数中指定的正则表达式是否在指定的输入字符串中找到匹配项,从字符串中指定的起始位置开始。

3 Public Shared Function IsMatch (input As String, pattern As String ) As Boolean公共共享函数IsMatch(输入作为字符串,图案作为字符串)作为布尔指示指定的正则表达式是否在指定的输入字符串中找到匹配项。

4 Public Function Matches (input As String) As MatchCollection 公共函数匹配(输入作为字符串)作为MatchCollection搜索指定的输入字符串以查找正则表达式的所有出现。

5 Public Function Replace (input As String, replacement As String) As String公共函数替换(输入作为字符串,更换作为字符串)作为字符串在指定的输入字符串中,使用指定的替换字符串替换与正则表达式模式匹配的所有字符串。

vba中数据类型转换

vba中数据类型转换

类型转换函数请参阅示例特性每个函数都可以强制将一个表达式转换成某种特定数据类型。

语法CBool(expression)CByte(expression)CCur(expression)CDate(expression)CDbl(expression)CDec(expression)CInt(expression)CLng(expression)CLngLng(expression)(只在 64 位平台上有效。

)CLngPtr(expression)CSng(expression)CStr(expression)CVar(expression)CStr(expression)必要的expression参数可以是任何字符串表达式或数值表达式。

返回类型函数名称决定返回类型,如下所示:函数返回类型expression参数范围CBool Boolean任何有效的字符串或数值表达式。

CByte Byte0 至 255。

CCur Currency-922,337,203,685,477.5808 至922,337,203,685,477.5807。

CDate Date任何有效的日期表达式。

CDbl Double 负数从 -1.79769313486231E308 至-4.94065645841247E-324;正数从4.94065645841247E-324 至1.79769313486232E308。

CDec Decimal零变比数值,即无小数位数值,为+/-79,228,162,514,264,337,593,543,950,335。

对于 28 位小数的数值,范围则为+/-7.9228162514264337593543950335;最小的可能非零值是 0.0000000000000000000000000001。

CInt Integer-32,768 至 32,767,小数部分四舍五入。

CLng Long-2,147,483,648 至 2,147,483,647,小数部分四舍五入。

.net下简单快捷的数值高低位切换

.net下简单快捷的数值高低位切换

.net 下简单快捷的数值高低位切换做网络通讯中数值传输是很普遍的事情,但数值的存储在不平台和硬件上存储方式都不一样,主要有两大类分别是高位和低位存储;而.net 平台下是低位存储,通过.net 提供的函数读写是低位也不提供设置;对于高位存储的就有比较流行的语言平台有Java 。

由于存储不一样所以在读取和写入的时候就需要另一方面做转换。

在.net 下其实简单地通过反转数组或移位存储的方式可以简单的进行高位转换。

不过程序已经写好了而在读写的时候用了低位,又不想修改读写代码可以简单地通过以下函数对数值转换一下即可.代码(在一个老外网站找到的)1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 class Endian{public static short SwapInt16(short v){return (short)(((v & 0xff) << 8) | ((v >> 8) & 0xff));}public static ushort SwapUInt16(ushort v) {return (ushort)(((v & 0xff) << 8) | ((v >> 8) & 0xff));}public static int SwapInt32(int v){return (int)(((SwapInt16((short)v) & 0xffff) << 0x10) |(SwapInt16((sho rt)(v >> 0x10)) & 0xffff));}public static uint SwapUInt32(uint v){return (uint)(((SwapUInt16((ushort)v) & 0xffff) << 0x10) |1 7 1 8 1 92 0 2 1 2 2 23 24 25 26 27 28 29 3 0 3 1 (SwapUInt16((ushort)(v >> 0x10)) & 0xffff));}public static long SwapInt64(long v){return (long)(((SwapInt32((int)v) & 0xffffffffL) << 0x20) |(SwapInt32((i nt)(v >> 0x20)) & 0xffffffffL));}public static ulong SwapUInt64(ulong v){return (ulong)(((SwapUInt32((uint)v) & 0xffffffffL) << 0x20) |(SwapUInt32 ((uint)(v >> 0x20)) & 0xffffffffL));}}以上这个类是的方法是针对数据高低位相互转换的函数,即高转低和低转高都可行。

VB中各种数据类型转换函数

VB中各种数据类型转换函数

VB中各种‎数据类型转‎换函数1. 各种进制转‎换函数一般的数据‎进制包括十‎进制,二进制,十六进制.十进制就是‎我们日常生‎活用到的数‎据进制,因此也是我‎们最熟悉和‎清楚的;二进制是计‎算机的基础‎进制,主要是因为‎便于用物理‎器件实现二‎进制;八进制和十‎六进制因为‎和二进制的‎天然的亲密‎关系,并且表示比‎二进制更方‎便,因而也成为‎计算机的常‎用表示方法‎.VB中涉及‎到的数据进‎制之间的转‎换函数主要‎有如下几个‎:Hex 函数: 返回代表十‎六进制数值‎的 Strin‎g;Oct 函数: 返回代表一‎数值的八进‎制值的Va‎r iant‎(Strin‎g);Cint函‎数: 强制将一个‎表达式转换‎成-32,768 至32,767的整‎型;CLng函‎数: 强制将一个‎表达式转换‎成-2,147,483,648 至2,147,483,647的长‎整型;Cdec函‎数: 强制将一个‎表达式转换‎成Deci‎m al 数据类型;CDbl函‎数: 强制将一个‎表达式转换‎成Doub‎l e 数据类型;以上这些函‎数是最基本‎的几个数据‎进制之间的‎转换函数,其中以前三‎个函数最常‎用,也最有用.从上面几个‎函数我们可‎以看到,VB中没有‎为我们提供‎专门的函数‎供我们将表‎达式或是数‎据转换成十‎进制和二进‎制,不过十进制‎的转换我们‎可以通过C‎i nt函数‎轻松完成,而二进制的‎实现我们可‎以通过二进‎制和八进制‎,十六进制的‎关系轻松转‎换.下面几个例‎子为Hex‎函数和Oc‎t函数以及‎C int函‎数的实例:(1). A= hex(5) 返回5;(2). B=hex(10) 返回A(3). C=hex(23) 返回17(4). D=oct(5) 返回5(5). E=oct(10) 返回12(6). F=oct(23) 返回27(7). G=Cint(&H17) 返回23(8) . H=Cint(&O12) 返回10以上这些函‎数的应用比‎较简单,就不多说了‎,值得一提的‎是Hex函‎数和Oct‎函数返回的‎都是字符串‎,如果是想将‎十六进制或‎是八进制的‎字符串变量‎转换成十进‎制,可以按如下‎方法进行:C=”17”‎17为十六‎进制数值的‎S trin‎gC=”&H”‎&‎C‎Ic=Cint(C) 返回232. 字符串和数‎字转换函数‎VB中的字‎符串函数比‎较多,也比较方便‎,就不一一介‎绍了.本文主要对‎字符串相关‎的转换函数做‎一些小结.字符串转换‎的函数主要‎有:Str()和V al()用于字符串‎和数字的相‎互转换;Chr()和Asc()用于字符串‎和AscI‎I码的相互‎转换;Chrw()和Ascw‎()用于Uni‎c ode码‎和中文的相‎互转换;Forma‎t()函数用途十‎分广泛的一‎个函数,功能十分强‎大.在这些函数‎中前两对和‎F orma‎t()函数是我们‎经常用到的‎,这里只给出‎前两对的几‎个简单例子‎: (1) MyStr‎i ng = Str(-459.65) ' 返回"-459.65"。

单波束水深测量的定点取样技术实现_邹学海

单波束水深测量的定点取样技术实现_邹学海
参考文献:
[1] JTS131 - 2012. 水运工程测量规范[S]. 北京: 人民交 通出版社,2012.
[2] HYPACK M AX User M anual [ R ]. Coastal Oceanographical Corp. 2002.
[3] 南方 CASS 软件用户手册[R]. 南方测绘仪器有限公 司,2010.
收稿日期: 2013-06-20; 修回日期: 2013-10-24 作者简介: 邹学海( 1978-) ,男,江苏徐州人,工程师,主要从事海道测量研究。
28
海洋测绘
第 34 卷
100835. 831,3832794. 837,463174. 889,9. 997 水深文件( * . vd) 数据格式为: 文件头: 测线名,时间( 年月日) 数据段: 时间( 时分秒) ,水深,定标标识 示例: “25tHD - 0”,#2012 - 11 - 26# 100835. 240,- 20. 13 100836. 226,- 20. 12 100837. 702,- 20. 10,Fix’定标 Fix,一般取样 线定标 PtFix,特征取样线定标 PtFixT 100837. 884,- 20. 06 自动生成的取样线文件( * . qyx) 数据格式为: 文件头: 测线名( 注: 根据测线名确定取样线定 标标识) 数据段: 节点点号,x,y,节点高程 示例: “QYX - PJX1” 1,3844756. 479,454653. 569,0 2,3844773. 955,454726. 061,0 3,3844802. 73,454784. 799,0 4,3844826. 134,454855. 303,0 3. 2 实现步骤 3. 2. 1 自动绘制、生成取样线文件 根据航道、泊 位 港 池 等 基 础 设 施 的 轴 线、坡 脚 线、变坡线,文献[1]要求的测点取样距离以及范围 线,自动绘 制 定 点 取 样 线 并 生 成 定 点 取 样 线 文 件 ( 轴 线 等 特 征 取 样 线 生 成 文 件 名 带 有“PJX ”, “ZZX”,“BPX”标识的文件) ,见图 1。为便于阅读, 没有图上 绘 制 按 文 献[1]要 求 内 插 的 等 距 离 取 样 线、外业测量航迹线,测线按照 300m 间隔垂直于航 道中轴线布设。

vbnet类型转换:从VB

vbnet类型转换:从VB

类型转换:从VB 6.0到的转换(5)疯狂代码 / ĵ:http://VisualBasic/Article15163.html升级向导无需特别处理。

ClipboardVisualBasic 6.0 Clipboard 对象提供了对系统剪贴板的访问。

Visual Clipboard 类提供了在系统剪贴板上放置数据和从其上检索数据的方法。

新的 Clipboard 类提供了更多功能,并且支持的剪贴板格式比 Visual Basic 6.0 Clipboard 对象更多。

对象模块经过了重新构建以支持这些功能。

升级向导由于对象模块之间的差异,现有的剪贴板代码无法自动升级。

Clipboard 语句将标记有升级错误。

动态数据交换VisualBasic 6.0 某些控件具有支持动态数据交换 (DDE) 会话的属性和方法。

Visual Windows 窗体不支持内置 DDE。

升级向导DDE 属性和方法标记有升级警告。

Web 应用程序WebClassVisualBasic 6.0 WebClass 是驻留在 Web 服务器上的 Visual Basic 组件,能够响应浏览器的输入。

WebClass 通常包括 WebItems,用于为浏览器和公开事件提供内容。

Visual Web 窗体具有 .NET 框架功能,可以用来为 Web 应用程序创建基于浏览器的用户界面。

Visual 具有“所见即所得”的设计器,可以使用工具箱中的控件创建图形 Web 窗体。

这样,Web 用户界面开发与Windows 开发具有同样的形式。

此外,当创建项目后,Internet Information Services (IIS) 服务器不必停止并重新启动即可开始部署新内容,而使用 WebClass 则不能。

升级向导WebClass 将升级为 Web 窗体。

所有状态存储调用均标记有升级警告。

可以重新编写这些代码,以使用 状态管理的优势。

您也可以选择继续使用 Visual Basic 6.0 中的 WebClass 应用程序,从 Visual Web 窗体中定位至WebClass 和 WebForm,等等。

从VB6.0到VB.NET的转换

从VB6.0到VB.NET的转换

从VB6.0到的转换Microsoft Visual 是 Microsoft Visual Basic? 的后续版本,它是基于 .NET 框架重新设计的,您可以用它来轻松地创建用于Microsoft Windows? 操作系统和Web 的下一代应用程序。

使用Visual ,可视化开发Web 应用程序、Web 服务、Windows 应用程序和服务器端组件将变得轻而易举。

此外,Visual 使用了 Windows 应用程序的 XCOPY 部署方案,使您不必再担心 DLL 版本问题。

随着 Visual 的发布,“DLL 噩梦”将成为过去。

在设计Visual 时,我们着眼于世界各地Visual Basic 开发者的要求。

Visual Basic 语言现在是真正的面向对象语言,并支持实现继承。

窗体设计器支持可视化继承,并包含窗体自动调整大小、资源本地化和访问选项支持等新特性。

现在的数据工具继续支持 XML 数据,并可以共同使用设计时数据绑定和断开数据。

此外,Visual 是基于 .NET 框架直接创建的,因此可以使用所有的平台特性,并能够与其他 .NET 语言协同工作。

在发布这些功能的同时,我们对产品的几个方面作了修改。

本文档介绍了从 Visual Basic 6.0 到 Visual 的一些变更,并解释了进行这些变更的原因。

本文还介绍Visual 升级向导的功能。

它是作为产品的一部分提供的工具,可以帮助您将现有的应用程序升级为Visual 版本。

有关从 Visual Basic 6.0 升级到 Visual 的其他信息,请参阅白皮书《准备将Visual Basic 6.0 应用程序升级到Visual 》(英文)。

此白皮书介绍了升级过程并提供了尽可能顺利升级的建设性意见。

语言VariantVisual Basic 6.0 Variant 是一种特殊的“通用”数据类型,可以包含除定长字符串之外的各类数据。

vb-net教程

vb-net教程
一个支持下一代Internet的平台
的三种工作模式 设计模式、运行模式、中断模式 组成
组件和代码模块
项目 解决方案 项目
组件和代码模块
本章目录
思考题
1. 什么是.NET框架? 2. 简述的特点 3. 有多种类型的窗口,若想在设计时 看到代码窗口,怎样操作? 4. 如何使各窗口显示或不显示? 5. 如果窗口布局搞乱了,如何恢复默认布局? 6. 解决方案与项目的区别?
本章目录
1.2.4 属性窗口
窗体和控件称为对象,每个对象用一组属性来描 述其外部特征,如颜色、大小等。 属性窗口用于显示和设置所选定的对象的属性。 属性窗口由四部分组成: 对象和名称空间列表框 属性显示排列方式 属性列表框 属性含义说明
本章目录
1.2.5 解决方案资源管理器窗口
项目 一个独立的编程单位(包含窗体文件及其他 一些相关文件),若干项目组成一个解决方案 解决方案可以含有以下类型的文件: 解决方案文件(.sln) 可包括用不同语言开发的项目 项目文件(.vbproj) 由引用的组件和代码模块组成 代码模块文件(.vb) 包括窗体文件、类模块或其他代码文件
1 引例 例1.1简单的动画演示。 一行文字“欢迎使用”在具有背 景图案的窗体中上、下移动。 移动方法有两种:单击手动按钮,移动5 个像素单位 ;单击自动按钮,按定时器 触发频率连续移动;当内容超出窗体范 围时,进行反弹。
本章目录
引例
根据要求, 用工具箱上 的Label、 Button、 Timer等控 件,在窗体 上建立控件 对象,进行 有关的属性 设置。
本章目录
2.2 建立简单的应用程序
例2.2 编写一个人民币与美圆兑换的程序。 建立一个应用程序分为以下几步进行: (1) 建立用户界面的对象 (2) 对象属性的设置 (3) 对象事件过程及编程 (4) 保存和运行程序

VB.NET文件读写操作

VB.NET文件读写操作

这一部分,你将找到更多常用的文件操作的代码实例。

最常用、最基本的操作就是把text写入文件和读回来。

现在的应用程序通常不用二进制文件作存储简单的变量,而用它来存储对象,对象集合以及其他机器代码。

下面,将看到具体操作的例子。

读写文本文件为了把text保存到文件,创建一个基于FileStream的StreamReader对象,然后调用Write方法把需要保存的text写入文件。

下面的代码用SaveFileDialog 提示用户指定一个文件,用于保存TextBox1的内容。

同样采用类似的语句,我们读取一个文本文件,并把内容显示在TextBox控件中。

StreamReader的ReadToEnd方法返回文件的全部内容。

各种对象的存储采用BinaryFormatte以二进制的形式,或者用SoapFormatter类以XML格式都可以序列化一个具体的对象。

只要把所有BinaryFormatter的引用改为SoapFormatter,无需改变任何代码,就可以以XML格式序列化对象。

首先创建一个BinaryFormatter实例:然后创建一个用于存储序列化对象的FileStream对象:接着调用BinFormatter的Serialize方法序列化任何可以序列化的framework 对象:加一个Serializable属性使得自定义的对象可以序列化下面代码创建一个Person对象实例,然后调用BinFormatter的Serialize方法序列化自定义对象:你也可以在同一个Stream中接着序列化其他对象,然后以同样的顺序读回。

例如,在序列化Person对象之后接着序列化一个Rectangle对象:创建一个BinaryFormatter对象,调用其Deserialize方法,然后把返回的值转化为正确的类型,就是整个反序列化过程。

然后接着发序列化Stream的其他对象。

假定已经序列化了Person和Rectangle两个对象,以同样的顺序,我们反序列化就可以得到原来的对象:大多数程序处理对象集合而不是单个的对象。

vbnet编码解码例子

vbnet编码解码例子

Imports System.TextImports System.IOImports System.ThreadingPublic Class Form1Dim openFileDialog As OpenFileDialogDim saveFileDialog As SaveFileDialogDim filePath As String = ""Dim byteString As String = ""Dim textString As String = ""Dim bytecode() As ByteDim inputFilePath As String = ""Dim optionList1 As List(Of String)Private Property tempDragPath As StringPrivate Sub ComboBox1_SelectedIndexChanged(ByVal sender AsSystem.Object, ByVal e As System.EventArgs) HandlesComboBox1.SelectedIndexChangedEnd SubPrivate Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.LoadControl.CheckForIllegalCrossThreadCalls = False'false为a能¨¹跨?进?程¨¬'Dim fromEncod As Encoding = Encoding.GetEncoding("")' MsgBox()'MsgBox("Form1_Load")btnOpenDialog.Visible = FalseComboBox1.BeginUpdate()ComboBox2.BeginUpdate()'MessageBox.Show(optionArray(0).ToString)' MsgBox("123456")optionList1 = ConvertUtil.getEncodingsFromSystem()Dim i As StringFor Each i In optionList1ComboBox1.Items.Add(i)ComboBox2.Items.Add(i)NextComboBox2.EndUpdate()ComboBox1.EndUpdate()ComboBox1.SelectedIndex = optionList1.Count - 1ComboBox2.SelectedIndex = optionList1.Count - 1End SubPrivate Sub btnOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpen.ClickTry'GC.Collect()openFileDialog = New OpenFileDialogopenFileDialog.Filter = "txt files(*.txt)|*.txt|log(*.log)|*.log|All files (*.*)|*.*"If openFileDialog.ShowDialog() = Windows.Forms.DialogResult.OK ThenfilePath = openFileDialog.FileNamefilePathTextBox.Text = filePath'C:\Users\Administrator\Documents\ipmsg.logopenFileDialog.Dispose()'textString = IO.File.ReadAllText(filePath,System.Text.Encoding.GetEncoding("GB2312")) '得Ì?到Ì?文?本À?可¨¦以°?读¨¢取¨?ANSI文?本À?'经-测a算?IO.File.ReadAllText(filePath)只?能¨¹区?分¤?unicode,utf8,不?能¨¹区?分¤?ANSI'MsgBox(textString)' byteTextBox.Text = IO.File.ReadAllText(filePath) '得Ì?到Ì?文?本À?' byteTextBox.Text =IO.File.ReadAllBytes(filePath).ToArray.ToString' byteTextBox.Text =System.Text.Encoding.Default.GetString(IO.File.ReadAllBytes(filePath))textString = IO.File.ReadAllText(filePath)bytecode = IO.File.ReadAllBytes(filePath)'MsgBox("bytecode " + bytecode.Length.ToString + "\r\n" + textString)byteString = BitConverter.ToString(bytecode).Replace("-", " ")byteTextBox.Text = byteString'System.Text.Encoding.Default'Dim str1 As String = System.BitConverter.ToString(System.Text.Encoding.UTF8.Ge tBytes("要°a转Áa换?的Ì?文?字Á?可¨¦以°?是º?任¨?何?数ºy字Á?"))'System.Text.Encoding.Convert()'IO.File.ReadAllBytes("c:/123.txt")' IO.File.ReadAllLines("c:/123.txt")' IO.File.ReadAllText("c:/123.txt")' 上¦?面?是º?读¨¢取¨?()'' IO.File.CreateText("c:/123.txt")' IO.File.WriteAllText("c:/123.txt", "")' IO.File.WriteAllLines("c:/123.txt", New String() {})' IO.File.WriteAllBytes("c:/123.txt", New Byte() {})' 这a几?个?都?可¨¦创ä¡ä建¡§()End IfCatch ex As ExceptionEnd TryEnd SubPrivate Sub filePathText_MouseDoubleClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles filePathTextBox.MouseDoubleClickTryopenFileDialog = New OpenFileDialogIf openFileDialog.ShowDialog() = Windows.Forms.DialogResult.OK ThenfilePath = openFileDialog.FileNamefilePathTextBox.Text = filePath'C:\Users\Administrator\Documents\ipmsg.logopenFileDialog.Dispose()textString = IO.File.ReadAllText(filePath) '得Ì?到Ì?文?本À?bytecode = IO.File.ReadAllBytes(filePath)byteString = BitConverter.ToString(bytecode).Replace("-", " ")byteTextBox.Text = byteStringEnd IfCatch ex As ExceptionEnd TryEnd SubPrivate Sub filePathTextBox_KeyUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles filePathTextBox.KeyUp If e.KeyCode = Keys.Enter Then'MessageBox.Show("filePathTextBox.Enter")inputFilePath = filePathTextBox.Text' Dim s As String = "C:\Users\Administrator\Documents"' If File.Exists(s) Then'MessageBox.Show("文?件t")' ElseIf Directory.Exists(s) Then' MessageBox.Show("路¡¤径?")' Else' MessageBox.Show("什º2么¡ä都?不?是º?")' End IfIf File.Exists(Trim(inputFilePath)) Then'C:\Users\Administrator\Documents\ipmsg.logfilePath = inputFilePathtextString = IO.File.ReadAllText(inputFilePath) '得Ì?到Ì?文?本À?bytecode = IO.File.ReadAllBytes(filePath)byteString = BitConverter.ToString(bytecode).Replace("-", " ")byteTextBox.Text = byteString' Dim tempStr As String' tempStr = UTF8Encoding.Convert(U, )'Encoding.UTF8 .GetBytes ()'Encoding.Unicode.GetBytes("你?的Ì?串ä?")'Encoding.ASCII.GetString()ElseMsgBox("文?件t不?存ä?在¨²,ê?请?重?新?输º?入¨?路¡¤径?!ê?")filePathTextBox.Text = ""End IfEnd IfEnd SubPrivate Sub filePathTextBox_DragDrop(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles filePathTextBox.DragDropDim Files As String() = DirectCast(e.Data.GetData(DataFormats.FileDrop), String())For Each File As String In FilestempDragPath = File' MsgBox("tempDragPath:" + tempDragPath)filePathTextBox.Text = tempDragPathbytecode = IO.File.ReadAllBytes(tempDragPath)byteString = BitConverter.ToString(bytecode).Replace("-", " ")byteTextBox.Text = byteStringNextEnd SubPrivate Sub filePathTextBox_DragEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles filePathTextBox.DragEnter' 確ä_定¡§使º1用®?者?抓Á£¤進M來¨ª的Ì?是º?檔n案ã?If e.Data.GetDataPresent(DataFormats.FileDrop, False) = True Then' 允¨º許S拖ª?拉¤-動¨®作Á¡Â繼¤^續¤m (這@時r滑?鼠º¨®游®?標?應a該?會t顯@示º? +)e.Effect = DragDropEffects.AllEnd If' MsgBox("filePathTextBox_DragEnter")' If e.Data.GetDataPresent(DataFormats.FileDrop) Then' e.Effect = DragDropEffects.Link' Else' e.Effect = DragDropEffects.None' End IfEnd SubPrivate Sub btnOpenDialog_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpenDialog.ClickTryDim myThread As New Thread(AddressOf showProgressDialog)myThread.Start()Thread.Sleep(2000)myThread.Abort()Catch ex As ExceptionMsgBox(ex.Message)End TryEnd SubPrivate Sub showProgressDialog()Dim test As testDialog = New testDialog()test.ShowDialog()End SubPrivate Sub btnConvert_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnConvert.ClickDim ComboBox1Text As String = ComboBox1.Text.TrimDim strArray() As String = ComboBox1Text.Split(" ") '将?文?本À?分¤?割?获?取¨?'strArray(0)=""Dim getEncoingText As String = strArray(0).Trim'MsgBox("bytecode: " + bytecode.Length.ToString + ",encoding :" + encoding + "," + textString)'判D断?原-来¤¡ä的Ì?编À¨¤码?Dim bytecode1(bytecode.Length) As Byte' Array.Copy(bytecode, 0, bytecode1, 0, bytecode.Length)If (optionList1.Contains(ComboBox1Text)) ThenIf (bytecode(0) = 255 And bytecode(1) = 254) Or (bytecode(1) = 255 And bytecode(0) = 254) Then'去¨£¤文?件t头ª¡¤Unicode UnicodeBigEndian ff fe,fe ff'MsgBox("Unicode")Dim fromEncod As Encoding = Encoding.Unicode'Array.Copy(bytecode, 2, bytecode1, 0, bytecode.Length - 2)TryDim targetEncod As Encoding =Encoding.GetEncoding(getEncoingText)Dim targetBytes As Byte() = Encoding.Convert(fromEncod, targetEncod, bytecode)DimtargetEncodChars(targetEncod.GetCharCount(targetBytes, 0, targetBytes.Length) - 1) As ChartargetEncod.GetChars(targetBytes, 0, targetBytes.Length, targetEncodChars, 0)Dim targetString As New String(targetEncodChars)decodeTextBox.Text = targetStringCatch ex As ExceptionMsgBox(ex.Message)End TryElseIf bytecode(0) = Convert.ToInt32("EF", 16) And bytecode(1) = Convert.ToInt32("bb", 16) And bytecode(2) = Convert.ToInt32("bf", 16) Then'ef bb bf UTF-8' MsgBox("UTF8")Dim fromEncod As Encoding = Encoding.UTF8'Array.Copy(bytecode, 2, bytecode1, 0, bytecode.Length - 2)TryDim targetEncod As Encoding =Encoding.GetEncoding(getEncoingText)Dim targetBytes As Byte() = Encoding.Convert(fromEncod, targetEncod, bytecode)DimtargetEncodChars(targetEncod.GetCharCount(targetBytes, 0, targetBytes.Length) - 1) As ChartargetEncod.GetChars(targetBytes, 0, targetBytes.Length, targetEncodChars, 0)Dim targetString As New String(targetEncodChars)decodeTextBox.Text = targetStringCatch ex As ExceptionMsgBox(ex.Message)End TryElse' MsgBox("ANSI")Dim fromEncod As Encoding = Encoding.Default 'ANSI'Array.Copy(bytecode, 2, bytecode1, 0, bytecode.Length - 2)TryDim targetEncod As Encoding =Encoding.GetEncoding(getEncoingText)Dim targetBytes As Byte() = Encoding.Convert(fromEncod, targetEncod, bytecode)DimtargetEncodChars(targetEncod.GetCharCount(targetBytes, 0, targetBytes.Length) - 1) As ChartargetEncod.GetChars(targetBytes, 0, targetBytes.Length, targetEncodChars, 0)Dim targetString As New String(targetEncodChars)decodeTextBox.Text = targetStringCatch ex As ExceptionMsgBox(ex.Message)End TryEnd IfElseMsgBox("请?重?新?输º?入¨?!ê?")ComboBox1.Text = ""End IfEnd SubPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click'MsgBox(ComboBox1.Text.Trim + "," + ComboBox2.Text.Trim)Dim ComboBox1Text As String = ComboBox1.Text.TrimDim strArray() As String = ComboBox1Text.Split(" ") '将?文?本À?分¤?割?获?取¨?'strArray(0)=""Dim getEncoingText1 As String = strArray(0).TrimDim ComboBox2Text As String = ComboBox2.Text.TrimstrArray = ComboBox1Text.Split(" ") '将?文?本À?分¤?割?获?取¨?Dim getEncoingText2 As String = strArray(0).Trim'MsgBox("bytecode: " + bytecode.Length.ToString + ",encoding :" + encoding + "," + textString)'判D断?原-来¤¡ä的Ì?编À¨¤码?Dim bytecode1(bytecode.Length) As Byte' Array.Copy(bytecode, 0, bytecode1, 0, bytecode.Length)Dim targetString As StringDim targetEncod As EncodingIf (optionList1.Contains(ComboBox1Text)) And(optionList1.Contains(ComboBox1Text)) ThenDim fromEncod As Encoding =Encoding.GetEncoding(getEncoingText1)TrytargetEncod = Encoding.GetEncoding(getEncoingText2)Dim tempByteCode() As Byte =fromEncod.GetBytes(decodeTextBox.Text)Dim targetBytes As Byte() = Encoding.Convert(fromEncod, targetEncod, tempByteCode)Dim targetEncodChars(targetEncod.GetCharCount(targetBytes, 0, targetBytes.Length) - 1) As ChartargetEncod.GetChars(targetBytes, 0, targetBytes.Length, targetEncodChars, 0)targetString = New String(targetEncodChars)' MsgBox(targetString)Catch ex As ExceptionMsgBox(ex.Message)End TryElseMsgBox("请?重?新?输º?入¨?!ê?")ComboBox2.Text = ""ReturnEnd IfIf String.IsNullOrEmpty(targetString) ThenReturnEnd IfsaveFileDialog = New SaveFileDialogsaveFileDialog.Title = "保À¡ê存ä?文?字Á?"saveFileDialog.Filter = "Test files(*.txt)|*.txt|All Files|*.*"saveFileDialog.AddExtension() = TruesaveFileDialog.CheckPathExists() = TruesaveFileDialog.FilterIndex = 0Dim ioStream As System.IO.StreamIf saveFileDialog.ShowDialog() = DialogResult.OK ThenioStream = saveFileDialog.OpenFileDim SW As New StreamWriter(ioStream, targetEncod)'SNSISystem.Text.Encoding.DefaultIf Not (ioStream Is Nothing) Then'以°?byte形?式º?保À¡ê存ä?' Dim a(10) As Byte' a(0) = &HA4' a(1) = &HB5'创ä¡ä建¡§FileStream对?象¨®' Dim w As New FileStream("D:\00.aa", FileMode.Create)'创ä¡ä建¡§BinaryWriter对?象¨®' Dim b_Write As BinaryWriter = New BinaryWriter(w)' b_Write.Write(a(0))' b_Write.Write(a(1))' b_Write.Close()' w.Close()SW.Write(targetString)'puter.FileSystem.WriteAllBytes("D:\00.aa", a, True) 'true为a添¬¨ª加¨®方¤?式º?End IfSW.Close()ioStream.Close()End IfEnd SubEnd ClassImports SystemImports System.TextImports Microsoft.VisualBasicPublic Class ConvertUtilPublic Shared Sub convertByteCode(ByVal fromEncoding As String, ByVal targetEncoding As String, ByVal src() As Byte)Dim fromEncod As Encoding =Encoding.GetEncoding(fromEncoding.Trim)Dim targetEncod As Encoding =Encoding.GetEncoding(targetEncoding.Trim)Dim unicodeString As String = "This string contains the unicode character Pi(" & ChrW(&H3A0) & ")"' Create two different encodings.Dim ascii As Encoding = Encoding.ASCIIDim [unicode] As Encoding = Encoding.Unicode' Convert the string into a byte[].Dim unicodeBytes As Byte() = [unicode].GetBytes(unicodeString)' Perform the conversion from one encoding to the other.Dim asciiBytes As Byte() = Encoding.Convert([unicode], ascii, unicodeBytes)' Convert the new byte[] into a char[] and then into a string.' This is a slightly different approach to converting to illustrate' the use of GetCharCount/GetChars.Dim asciiChars(ascii.GetCharCount(asciiBytes, 0, asciiBytes.Length) - 1) As Charascii.GetChars(asciiBytes, 0, asciiBytes.Length, asciiChars, 0)Dim asciiString As New String(asciiChars)' Display the strings created before and after the conversion.Console.WriteLine("Original string: {0}", unicodeString)Console.WriteLine("Ascii converted string: {0}", asciiString) End SubPublic Shared Function getEncodingsFromSystem() As List(Of String) ' For every encoding, compare the name properties with .' Display only the encodings that have one or more different names.Dim ei As EncodingInfoDim encodingList As New List(Of String)For Each ei In Encoding.GetEncodings()Dim e As Encoding = ei.GetEncoding()encodingList.Add(e.BodyName + " " + e.EncodingName) Next eiReturn encodingListEnd FunctionPublic Shared Function byteCodeToString(ByVal targetEncoding As String, ByVal src() As Byte) As StringDim targetEncod As Encoding =Encoding.GetEncoding(targetEncoding.Trim)Dim byteCode() As Byte'If byteCode (0)=Return targetEncod.GetString(src)End FunctionEnd Class。

利用VB.NET编程实现可定制格式数据文档转换

利用VB.NET编程实现可定制格式数据文档转换

信息科学科技创新导报 Science and Technology Innovation Herald134DOI:10.16660/ki.1674-098X.2018.19.134利用编程实现可定制格式数据文档转换刘念原1 谢一丁2*(1.华中师范大学第一附属中学 湖北武汉 430223;2.武汉理工大学 湖北武汉 430063)摘 要:随着计算机和办公软件的普及,在工作中常常利用EXCEL保存和处理数据,再利用WORD来排版打印。

以学生学籍数据为例,教师通常将每个学生的数据存为EXCEL 中的一行,再将相关的数据按每个学生一页的规定格式拷贝到WORD 中。

一页页手工处理量大,而且容易出错。

本文论述了利用编程,实现将EXCEL表格的数据,可选择地按照每一行单独一页的规定格式定制化转换为一个多页WORD文档,提高办公工作效率。

关键词: EXCEL WORD 文档转换中图分类号:TP31 文献标识码:A 文章编号:1674-098X(2018)07(a)-0134-03EXCEL作为常用办公软件之一,可以方便实现对日常生活、工作中的表格的数据处理。

特别是Excel对于所有的数据、信息都以二维表格形式管理,单元格中数据间的相互关系一目了然,从而使数据的处理和管理更直观、更方便、更易于理解。

以学生学籍数据为例,教师通常用一个20~30列的表格存储学生的各种数据信息,表格中一行存储一个学生的信息,以便于修改和查询。

而上交学生明显数据的时候,通常要求每个学生的信息在WORD中用一页的规定打印,如图1所示。

为此,教师必须将一个个的将数据从EXCEL中复制到WORD中。

由于EXCEL的表格的数据行列数较多,必须非常仔细,否则就出现错误,这导致工作效率低下。

是由微软公司开发的结构化、模块化、面向对象的、包含协助开发环境的事件驱动为机制的可视化程序设计语言。

程序员可以轻松地使用提供的组件快速建立一个应用程序。

同时提供对WORD和EXCEL的编程接口,为软件的编制带来很大的便利。

利用VB编程实现不同平差软件间数据格式的转换

利用VB编程实现不同平差软件间数据格式的转换

利用VB编程实现不同平差软件间数据格式的转换赵德良;汤玉兵;佟照辉【摘要】通过对武汉科傻和清华山维两种常用平差软件的特点及数据格式的分析,讨论了两种软件数据格式转换的可行性,最终利用VB编程实现了两种软件间数据格式的转换.实践证明,该程序具有一定的实用性.【期刊名称】《地矿测绘》【年(卷),期】2011(027)003【总页数】3页(P38-40)【关键词】VB;COSA;NASEW;数据格式;转换【作者】赵德良;汤玉兵;佟照辉【作者单位】山东省地质测绘院,山东济南250002;山东省国土测绘院,山东济南250000;山东省地质测绘院,山东济南250002【正文语种】中文【中图分类】P208;TP311.1目前,随着计算机的普及和数字化技术的发展,自动化技术已经渗透到人类生活的各个领域。

而软件之间的数据格式相互转换已成为一种必然,如何实现不同软件间数据格式的相互转换已成为当今很多学者研究的热点。

本文就笔者在工作中遇到的问题,针对武汉科傻和清华山维两种不同的平差软件各自的特点编写程序,以实现两种软件的数据格式的转换。

实践证明,同样的数据在两种平差系统中平差的结果相同,说明达到了相互融汇的效果。

COSA是“地面测量工程控制与施工测量内外业一体化和数据处理自动化系统”的简称,COSAWIN是一套测量控制网通用数据处理软件包,它能完成任意测量控制网常规的平差解算和精度评定等工作,还具有高程网闭合差计算,贯通误差影响值计算,网图显绘,叠置分析,手簿通讯和格式转换等功能。

该控制网平差系统的最大特点是自动化程度高,通用性强,处理速度快,解算容量大。

可以做到由外业数据采集、检查到内业概算、平差和成果报表输出的自动化数据处理;其通用性表现在对控制网的网形、等级和网点编号没有任何限制,可以处理任意结构的水准网和平面网,无须给出冗余的附加信息;其解算速度快,可以解算多达5 000个点的平面控制网。

目前有许多工程建设单位都使用这一软件进行平差计算。

vb让txt行数据变成列

vb让txt行数据变成列

vb让txt行数据变成列摘要:1.背景介绍:文本文件和数据格式2.VBS 的基本概念和用途3.如何使用VBS 将文本文件数据转换为列数据4.实例演示和代码解释5.总结和未来发展趋势正文:1.背景介绍:文本文件和数据格式文本文件是一种计算机数据存储格式,其中包含一系列的字符和字符串。

在计算机中,文本文件通常以.txt 为扩展名。

文本文件广泛应用于各种场景,例如存储源代码、配置文件和数据等。

然而,文本文件的数据格式通常是行数据,这意味着数据按照行顺序排列。

在某些情况下,我们需要将文本文件的数据转换为列数据,以便于进行数据处理和分析。

2.VBS 的基本概念和用途VBS(Visual Basic Script)是一种基于Visual Basic 的脚本语言,用于轻量级的自动化和编程。

VBS 可以嵌入到HTML 页面中,也可以作为独立的脚本文件运行。

VBS 具有简单易学、语法简洁、执行效率高等特点,因此在许多场景下被广泛应用。

3.如何使用VBS 将文本文件数据转换为列数据要使用VBS 将文本文件数据转换为列数据,可以遵循以下步骤:1) 创建一个新的VBS 文件,例如:convert_txt_to_column.vbs2) 在VBS 文件中,使用"Open"语句打开文本文件,并读取文件内容3) 使用"Split"函数将文本文件的数据按行分割为数组4) 使用"For"循环遍历数组,并将每行数据转换为列数据5) 将处理后的列数据保存到新的文本文件中以下是一个简单的VBS 代码示例:```vbsOption ExplicitSub ConvertTxtToColumn()Dim FSO, ts, ws, strFile, strCon, strOut" 设置文件对象和文本文件路径Set FSO = CreateObject("Scripting.FileSystemObject")strFile = "input.txt"strCon = "output.txt"" 打开文件并读取内容Set ts = FSO.OpenTextFile(strFile, 1)strOut = ts.ReadAll" 关闭文件ts.Close" 使用Split 函数将文本文件数据按行分割为数组Dim arrDataarrData = Split(strOut, vbNewLine)" 使用For 循环遍历数组,并将每行数据转换为列数据Dim i, jFor i = 0 T o UBound(arrData)Dim wsSet ws = CreateObject("ADODB.Stream")ws.Openws.Type = 1ws.Write arrData(i)ws.SaveToFile strCon, 2Next iEnd Sub```4.实例演示和代码解释在本示例中,我们首先创建了一个名为"convert_txt_to_column.vbs"的VBS 文件。

全站仪数据格式转换程序设计与实现

全站仪数据格式转换程序设计与实现

全站仪数据格式转换程序设计与实现程会超;张之友【摘要】在分析数据存储文件格式的基础上,设计了数据的读取算法,对观测数据进行自动化识别,生成标准记录格式的观测数据文件和CASS通用编码格式的展点数据文件,从而减轻了内业数据处理工作量,提高了工作效率。

【期刊名称】《地理空间信息》【年(卷),期】2013(000)003【总页数】3页(P67-69)【关键词】全站仪;数据格式;VB编程;数据格式转换【作者】程会超;张之友【作者单位】珠海市测绘院,广东珠海 519015;珠海市测绘院,广东珠海 519015【正文语种】中文【中图分类】P208全站仪具有测量速度快、精度高、操作直接快速、测量数据便于输入计算机和容易实现内外业一体化的特点,已广泛应用于各等级控制测量、变形监测、碎部点采集等。

不同型号的全站仪具有不同的数据格式,原始数据格式很难满足不同后处理软件的要求,一般也不可以直接打印归档。

为了实现对全站仪原始数据文件的自动化提取,本文以徕卡系列全站仪为例,以Visual Basic 6.0语言为开发平台,进行数据格式转换程序的设计,转换后生成传统记录格式的观测数据文件和CASS通用编码格式的展点数据文件 [1]。

1 测量方式和数据格式为实现内业成图自动化,测量时要采用仪器程序记录数据,野外测量时输入自定义的野外操作简码。

各种全站仪记录的数据格式不尽相同,需根据不同的仪器编写相应的程序处理数据,程序的原理相同[2]。

以徕卡全站仪为例,说明内业自动成图及外业观测数据设计和实现。

徕卡型全站仪有2种野外观测数据格式:GSI格式和IDEX格式。

1.1 GSI格式数据*410008+0000000000000000 42....+000000000000000043....+0000000000000000 44....+000000000000000045....+0000000000000000 46....+000000000000000047....+0000000000000000 48....+000000000000000049....+0000000000000000*110009+00000000000000B1 21.324+000000000351012022.324 +0000000008847500 31...0+000000000015159181...0+0000000105179310 82...0+000000244051914783...0+0000000000007829 87...0+0000000000001680*410010+0000000000000007 42....+000000000000000043....+0000000000000000 44....+000000000000000045....+0000000000000000 46....+000000000000000047....+0000000000000000 48....+000000000000000049....+00000000000000001.2 IDEX格式数据IDEX格式数据分为3个部分:坐标、编码信息和测量信息。

利用VB .NET编程软件对新旧图式进行转换

利用VB .NET编程软件对新旧图式进行转换

利用编程软件对新旧图式进行转换【内容提要】利用编程软件对1:500、1:1000、1:2000的各种图式符号在南方CASS9.0平台下读取原图形各符号的基本属性及坐标信息,将其保存,与新图式相应的符号进行对比,再将符合新标准的符号按不同比例尺进行图块的插入、重绘等命令,一步提高原有测绘产品的再利用度。

【关键词】;执行重绘;图形重构Abstract: The use of programming software for 1:500, 1:1000, 1:2000 various symbols in the South under the platform of CASS9.0 to read the original shape of the symbols of the basic attribute and the coordinate information, to save it, and the new type corresponding symbols are compared, and then the new standard symbols according to different scale map insert, heavy drawing commands, and further improve the original mapping product reuse.Key words: ; executive redraw; image reconstruction引言随着科技的进步,各行各业对测绘产品的不同需求,以及满足图纸的美观及合理性的需要,2007年国家下发了新的图式标准。

随着这一新图式标准的下发,势必会对原有测绘产品再利用造成影响。

针对这一问题,利用编程软件对1:500、1:1000、1:2000的各种图式符号在南方CASS9.0平台下进行转换,进一步提高原有测绘产品的再利用度。

基于Visual Basic的水文数据格式的自动转换

基于Visual Basic的水文数据格式的自动转换

1数据 格式转 换 问题 的提 出
笔者 所 在 的单 位 负 责 测 报 长 江 中下 游 的六 个 水 文 站 的 水 位 和 雨 量 数 据 。 照 水 利 部 的 要 求 , 日 8 0 按 当 :0之 前 的 数 据要 在 当 日 8 : 2 0之 前 转报 到武 汉 的上 级 部 门 因此 正 确 及 时 的 处 理 六 个 水 文 站 的 数据 的关 键 是 要 在 2 0分 钟 内完 成 数 据 的 转 发 工作 。 由 于 南 京 水 文 站 正 在 建 设 之 中 , 时不 能够 和其 它 五 个 水 文 站 一 样 采 用 中奥 合 作 项 目的 仪 器 进 行 自动 测 报 , 采 用 了 由南 京 暂 而 水 利 水 文 自动 化 研 究 所 制 作 的 《 情 电话 集 测 系 统 软 件 》 测 量 水 位 的 仪 器 进 行 人 工 召 测 。召 测 的数 据 格 式 如 表 1 示 , 发 到上 水 对 所 转
p o t gt eifr zt n o trc n ev n y b ra s, ip at eh ssnerfrn igvlei emso a a somigi h ed rmoi h o mi i fwae o sr a c u eu t s rci a o l eee cn au tr fdt t nfr n tef l n n ao h c n ar n i
级 部 门 的 数 据格 式 如表 2所 示 . 因此 这 就 存 在 着 数 据 格 式 转 换 的 问题 。
表 1 召 测 的 数 据 格 式
0 . 56 30 9 0 . 56 40 0 0 . 55 50 0 56 56 8 7 55 55 8 8 54 54 9 9 56 6 55 .6 54 7 56 5 55 6 54 7 5 6 .4 5 5 .5 54 .6 56 3 55 4 545 56 3 5 5 3 54 4 56 2 55 1 54 3 56 5 51 54 3

vbnet 二进制 导入 资源文件

vbnet 二进制 导入 资源文件

是一种多范式,面向对象的编程语言,特别适用于物联网应用程序的开发。

它是一种可扩展的语言,可以轻松地与其他语言集成,比如C#和F#。

在中使用二进制方式导入资源文件,可以有效地加快程序的运行速度,提高程序的效率。

下面将介绍如何在中使用二进制方式导入资源文件的方法。

一、准备工作1. 在中使用二进制方式导入资源文件,首先需要准备好要导入的资源文件。

资源文件可以是各种类型的文件,比如图片、音频、视瓶等。

2. 打开的开发环境,创建一个新的项目或打开一个已有的项目。

3. 确保已经安装了.NET Framework,因为是基于.NET Framework的。

二、导入资源文件1. 在的开发环境中,找到“解决方案资源管理器”窗口,右键单击项目名称,选择“添加”-“现有项”,然后选择要导入的资源文件,点击“确定”按钮。

2. 在的开发环境中,找到“解决方案资源管理器”窗口,右键单击项目名称,选择“属性”,然后选择“生成操作”,在“资源”中选择“嵌入的资源”。

这样就可以将资源文件以嵌入的方式导入到项目中。

三、使用资源文件1. 在的代码中,使用以下语句来获取嵌入的资源文件:```vbnetDim resource As Byte() = My.Resources.ResourceName```其中,ResourceName是要获取的资源文件的名称。

2. 使用资源文件的内容。

获取到资源文件后,可以根据需要使用资源文件的内容,比如显示图片、播放音频等。

四、注意事项1. 在使用资源文件时,需要注意资源文件的大小和数量,避免占用过多的系统资源和内存。

2. 在使用资源文件时,需要注意资源文件的版权和授权情况,确保符合法律规定。

以上就是在中使用二进制方式导入资源文件的方法。

通过使用二进制方式导入资源文件,可以有效地提高程序的运行速度和效率,为程序的开发提供了更多的可能性。

希望本文对大家有所帮助。

自2进制方式导入资源文件可以提高程序运行速度和效率,但你可能想了解更多关于如何在中使用这种方法的细节和技巧。

vb.net创建、修改、读取XML的方法

vb.net创建、修改、读取XML的方法

创建、修改、读取XML的方法''' <summary>''' 创建XML文件''' </summary>''' <param name="xmlFileName">要创建的XML文件名</param>''' <remarks></remarks>Private Sub createXML(ByVal xmlFileName As String)TryDim writer As New Xml.XmlTextWriter(Application.StartupPa th & "" & xmlFileName, System.Text.Encoding.GetEncoding("utf-8"))'使用自动缩进便于阅读writer.Formatting = Xml.Formatting.Indentedwriter.WriteRaw("<?xml version=""1.0"" encoding=""utf-8"" ?>")'书写根元素()writer.WriteStartElement("Config")'添加次级元素writer.WriteStartElement("DatabaseSetting")'添加子元素()writer.WriteElementString("DataSource", Me.cmbHostName. SelectedItem.ToString.Trim)'为Datasource添加一个属性为value,值为test 的属性'writer.WriteAttributeString("value","test")writer.WriteElementString("InitialCatalog", Me.cmbDatabase Name.SelectedItem.ToString.Trim)writer.WriteElementString("UserID", Me.txtUserName.T ext.Tri m)writer.WriteElementString("Password", Me.txtPassword.T ext. Trim)'关闭次级元素DatabaseSettingwriter.WriteEndElement()'添加次级元素StationSettingwriter.WriteStartElement("StationSetting")'添加子元素writer.WriteElementString("StoreID", Me.cmbStoreID.Selecte dItem.ToString.Trim)writer.WriteElementString("StationID", Me.cmbStationID.Sel ectedItem.ToString.Trim)'关闭次级元素StationSettingwriter.WriteEndElement()'关闭根元素writer.WriteFullEndElement()'将XML写入文件并关闭writerwriter.Close()Catch ex As ExceptionMsgBox(ex.Message & vbCrLf & ex.StackTrace)End TryEnd Sub''' <summary>''' 修改XML''' </summary>''' <param name="xmlFileName">要修改的XML文件名</param>''' <param name="rootName">XML文件中的根元素名称</param>''' <param name="elementNameArry">要修改的元素数组</param>''' <param name="innerTextArry">对应于要修改的元素数组的修改文本数组</param>''' <remarks></remarks>Public Sub modifXML(ByVal xmlFileName As String, ByVal ro otName As String, ByVal elementNameArry() As String, ByVal in nerTextArry() As String)If puter.FileSystem.FileExists(Application.StartupPat h.Trim & "" & xmlFileName) ThenDim doc As New Xml.XmlDocumentdoc.Load(Application.StartupPath.Trim & "" & xmlFileName) Dim list As Xml.XmlNodeList = doc.SelectSingleNode(rootN ame).ChildNodesFor Each xn As Xml.XmlNode In listDim xe As Xml.XmlElementxe = xnDim nls As Xml.XmlNodeList = xe.ChildNodesFor Each xn1 As Xml.XmlNode In nlsDim xe2 As Xml.XmlElementxe2 = xn1For i As Integer = 0 To elementNameArry.Length - 1If = elementNameArry(i) Thenxe2.InnerText = innerTextArry(i)End IfNextNextNextdoc.Save(Application.StartupPath.Trim & "" & xmlFileName) End IfEnd Sub''' <summary>''' 读取XML文件''' </summary>''' <param name="xmlFileName">要读取的XML文件名</param>''' <remarks></remarks>Private Sub readXMl(ByVal xmlFileName As String)TryIf puter.FileSystem.FileExists(Application.StartupPat h & "" & xmlFileName) ThenDim doc As New Xml.XmlDocumentdoc.Load(Application.StartupPath.Trim & "" & xmlFileName) Dim re As Xml.XmlNodeReader = New Xml.XmlNodeReader (doc)Dim tmpStr As String = ""Dim name As StringWhile re.ReadSelect Case re.NodeTypeCase Xml.XmlNodeType.Elementname = Case Xml.XmlNodeType.TextIf name.Equals("DataSource") ThentmpStr = tmpStr & "Data Source=" & re.ValueEnd IfIf name.Equals("InitialCatalog") ThentmpStr = tmpStr & ";Initial Catalog=" & re.ValueEnd IfIf name.Equals("UserID") ThentmpStr = tmpStr & ";User ID=" & re.ValueEnd IfIf name.Equals("Password") ThentmpStr = tmpStr & ";Password=" & re.Value End IfEnd SelectEnd WhileEnd IfCatch ex As ExceptionMsgBox(ex.Message & vbCrLf & ex.StackTrace) End TryEnd Sub。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(. 云 港港 口工程设 计研 究 院有 限公 司 ,江 苏 连 -港 2 24 ;2 长江 南京航 道 工 程局 。江 苏 南京 2 0 1) 1连 X - 20 2 . 10 1 摘 要 :现 有 多种 水 深 测 量软 件 , 虽然 各 种软 件 能 够 支持 多种 定 位 和 测 深设 备 ,但 因采 集 的 原 始 水 深 文件 数 据 格 式 不 同 , 软 件 之 间 无 法进 行 相 互 处理 。 通过 对 H P C X和 M P 0 0两种 原 始 水 深数 据 格 式 的 分析 , 以 V . t Y A K MA A 20 Bn 为程 序 开发 工具 , e 实现 了 HY A K MA P C X到 MA 20 P 00原 始 水 深 数 据 的 格 式 转 换 。 通 过 此 开发 工 具 及 编 程 思 想 能 够 方便 、 快 捷 进 行 模 块 开发 , 实现 多种 原 始 水 深 文件 数 据格 式的 相 互 转换 :
多测 量 单位 进 行 合作 测 量 ,但 是 各 单位 冈软件 不 同 ,无法 进 行 原 始水 深 的合 并 处 理 ,带 来 了 如潮
位 改 正方 法 、断 面取 样方 式 、水 深注 记不 统一 等
麻 烦 ;在 水深 测 量 监理 中 ,一般 要 求 监 理单 位 人
监 理单 位 使 用 MA 2 0 P业 水 深 采 集 和后 处 理 一 P0 0  ̄
2 N ni hnj n t w yE g er gB ra aj g2 0 1, hn) . aj gC agi gWa ra ni e n ueu N ni 10 C i n a e n i n 1 a
Ab t a t h r r n y e fsf r o ah mer tpe e t Al o g h y s p o ait f s r c :T ee aema y tp so ot e frb ty t a rsn . t u h t e u p f a v r y o wa y h l e
p sto i a d o d n e u p n ,b c u e he a de t fls c l ce a e n ifr n d t oma s h o ii nng n s un i g q i me t e a s t r w p h i e o l td r i d fe e t a a f r t,t e e s f r Su a l o p o e se c t e . e r a ie t e r w e t l s o ma o v r in fo HYP o t e i n b e t r c s a h oh r W e l h a d p h f e f r tc n eso r m wa z i ACK MAX o t MAP2 0 h o g n lzn h wo f r t nd by tk n h 0 0 t r u h a a y ig t e t o mas a a i g t e VB.e st e pr g a de eo me tto ,b s d o n ta h o r m v l p n o l a e n wh c ,we c n c n e e ty c n u tmo u e d v l p n .a e l e t n e —c n e so fd t o as o ih a o v nin l o d c d l e eo me t nd r a i he i t r o v rin o a a f r t f a z m v rey o a de t l s a it fr w p h f e . i
2 0年 1 01 2月
水运 工程
Po t& W ae wa En n e i r tr y gie rng
Dee 201 . 0 No 2 S ralNo 44 .1 e i . 8
第1 2期
总 第 4 8期 4
工 于据 深 基邹式水 V实换件 B柏浩 数现 .宣 文 学的 n原 海, e转 杜 t始 , 格 吴
Ke r :VBn tHY AC y wo ds .e; P K MAX: MAP 0 0 fr t 0 v rin 2 0 : ma n es0 o c
在 施 工水 深 测量 中 ,遇 到 _ 人型项 臼一 般 【许 1 J
并 对原 始 水 深 数据 进 行 后 处理 ,但施 工 单 位外 业 采 集 软件 , PC
ZOU e— i Xu ha .W U —x a Bo H n .DU o Ha
(. in u g n otE gn eigD sg n sac n tueC .Ld, in u g n 2 0 2 Chn ; 1 La y n a gP r n ie rn e ina dRee rhIsi t o, t.La y n a g2 2 4 , ia t
关 键 词 :V . t B n ;HY A K MA e P C X;MA 2 0 ;格 式 转换 P00
中图 分 类号 :T 2 . V2 1 2
文 献标 志 码 :A
文章 编 号 :l0 — 9 2 2 1 )2 0 5 — 6 0 2 4 7 (0 0 1— 0 0 0
Fo m a o e so fr w p h fi a e n VB. t r tc nv r i n o a de t e b s d o i ne
相关文档
最新文档