




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
智能手机开发Basic4ppc教程第一章Basic4ppc简介Basic4ppc是一种用于Windows Mobile移动设备开发应用程序的编程工具。 通过Basic4ppc 你能直接地开发在Pocket PC / Window Mobile或桌面电脑上的应用程序。.Basic4ppc包括一可视化程序设计环境。Basic4ppc应用程序可以把代码编译成可运行文件(EXE文件)而不需要其他运行库。 (Windows Mobile 2003 SE设备需要安装微软的Net Framework 1.0 )Basic4ppc支持:Pocket PC 2000, Pocket PC 2002, Smartphone 2003, Windows Mobile 2003, Windows Mobile5.0, Windows Mobile Smartphone 5.0, Windows Mobile Classic 6.0, Windows Mobile Standard 6.0 (智能手机) 和 Windows Mobile Professional Basic4ppc特色及优势可以在桌面或设备上编写程序代码,方便代码的调试。桌面不需安装Windows Mobile虚拟机。而且在桌面可以把代码编译成可执行文件,在设备上没有编译功能。可视化的编成设计系统本身提供了大量的可视化控件,可以很方便的使用可视化方式直接绘制用户的图形界面,直观动态的调整位置,直到用户满意为止,不必用大量的代码来描述界面控件的外观和位置。面向对象的编程思路。事件驱动的编程机制。可扩展性:系统提供了特殊的控件和函数,属性、方法和事件。Basic4ppc 6.50版本引入了新概念的模块。您可以把项目分割到几个模块里编写,更利于开发和维护大型项目和代码组件在不同项目中的重复使用。每个模块可以包含任意数量的窗体、 控件和对象。自动完成功能 (Ctrl+Space ) 键完善对所有关键字以及模块的支持。查找和替换对话框修改以支持新的选项卡式的界面链接库文件会在调用时自动复制到源代码文件夹里。 编译应用程序兼容Vista 64位新版本是完全向下兼容,但有两个例外:GetControls 关键字-返回控件完整的名称 (包括模块前缀) 。Door.FromLibrary - 第一个参数应该开始与对象的模块。1.2 安装与运行Basic4ppc系统程序可以到www. B网站下载。分别为桌面和设备使用的程序。设备上的提供了两种安装方式的文件,一种是cab文件拷贝到设备里直接安装。另一种是在桌面上运行通过数据线连接设备使用Microsoft ActiveSync服务安装到设备上。不论是桌面还是设备都需要安装Microsoft Net Framework2.0 因为Basic4ppc的编译器是Microsoft Net Framework提供的,编译好的程序也需要调用Net Framework库。 第二章开发环境在桌面上运行DBasic.exe或设备上运行Basic4ppc.exe出现如下界面。最上面是菜单栏,依次是工具栏、模块标签。左面窗口是代码编辑窗,右边是工程资源管理创,下面是信息提示窗。通过编写一个程序来说明:首先打开菜单designer-create new form-add to this module为当前代码模块添加一窗体这时会出现窗体设计器。打开菜单controls创建image、imagelist各一个button两个,image图像显示控件的image mode显示模式选择成cCenterImage这样图像会适应控件大小。Button和form的text属性分别填上上一幅、下一幅和图片浏览,这样我们的程序界面就设计好了。向ImageList1控件的image files里添加若干图片文件名,编译时ImageList1控件里的图片会编译进程序里。在窗体设计器里选中button控件打开菜单events-click在代码里就添加了button控件的click事件。下面就该自己完成代码了。代码如下:Sub Globals 我的图片浏览器 i=0End SubSub App_Start Form1.Show image1.Mode = cStretchImageEnd SubSub Button1_ClickIf i=2 Then i=-1i=i+1image1.Image = imagelist1.Item(i)End SubSub Button2_Clicki=i-1If i=-1 Then i=2image1.Image = imagelist1.Item(i)End Sub书写代码时,当写到image1.的“.”时会弹出该控件的所有属性供选择。当写到imagelist1.Item的“(”时在信息提示窗会显示参数的类型和格式。代码写完了该调试了,打开菜单debug-run或工具栏最右边的蓝三角,代码将运行。basic4ppc有详细的帮助文件,你可以随时查看所用的控件的属性和其事件。第三章basic4ppc编程语言及语法是程序设计的基础和根本,只有熟练掌握了它才能在编程时运用自如。3.1语句语句使用与实现具体任务的指令,程序代码的基础。程序代码由语句、表达式、函数、以及函数或变量的声明组成。最简单的语句就是赋值语句,使用的格式是:变量名或对象的属性名 = 表达式该语句的意思就是将(“=”)右边表达式的值赋于左边的变量或对象。例如:Form1.text = “我的程序” 设置窗体的名称X = Button1.Width 按钮1的宽度指赋于变量XY = (X-Z)/23.2约定程序的注释,提高代码段的可读性,说明代码段的作用和功能.只能以英文单引号“”开始,编译时忽略其内容.整个项目中所有变量名和对象名都是唯一的,命名时第一个字符必须是26个英文字母,不区分大小写(如a和A是同一个名称),与不能使用系统本身特有的词和操作符(如:public、End、Return.等)。3.3项目一个程序就是一个项目,项目是由一个主文件(*.sbp),和任何数量的模块文件组成(*.bas)。主文件就是主模块。模块可以包括变量和函数声明、事件和控制对象的代码。在桌面菜单Modules里可以添加一新模块或已有的模块。3.4常量与变量常量,根据数据类型的不同,可分为数值常量、字符常量、日期/时间型常量和布尔常量(如系统提供的cRed 、cPI )。变量的定义及作用域:变量可以使任意类型的数值或字符串,它分为本地变量和全局变量。本地变量只能在当前模块或过程中使用,不能被其他模块使用也叫局部变量。能被项目中的任何过程所使用的是全局变量。在Sub Globals 过程(程序运行时所有模块中的此过程都要运行一次)中声明的变量是全局变量,其他过程中声明的是本地变量。使用变量前必须声明,本地变量(以赋值方式声明)在过程中未被使用也会出错。3.5运算符:包括数学运算符逻辑运算符关系运算符.+,-,*,/ 基本数学运算符(加减乘除) 指数运算mod 取模运算返回相除取余数& 字符串连接AND 与运算OR 或运算NOT 非运算= 等于 不等于= 大于等于3.6函数包括数学函数、字符串函数、日期/时间型函数和随机数函数。绝对值语法:Abs (Number)示列:: x = Abs (-4)结果: x = 4反余弦函返回角度 (以弧度表示)。语法:ACos (Number)反正弦返回角度 (以弧度表示)。语法:ASin (Number)若要将弧度转换为度,乘以 180 / cpi反正切函数返回角度 (以弧度表示)。语法:ATan (Number)余弦函(以弧度表示)语法: Cos (Radians)若要将度转换为弧度乘以 cpi / 180取整语法: Int (Number)示例: a = int (4.8)结果是:a = 4自然对数(e 为低的对数)。语法:LN (Number)常用对数(以10为低的对数)。语法:Log (Number)返回两个数中较大的数。语法:Max (Number, Number)示例: a = Max (12, 33)结果是: a = 33返回两个数中较小的数。语法:Min (Number, Number)示例: a = Min (12, 33)结果是: a = 33返回一个小数指定的位数。 默认位数为0 ,并四舍五入。 语法:Round (Number ,Number of digits)示例: Msgbox (Round (4.8256,3)结果是: 显示 4.826正弦函数以弧度表示)。语法: Sin (Radians)平方根函数。语法:Sqrt (Number)示例:Msgbox(Sqrt(16)将显示4.返回字符串中第一个字符的 ASCII 码。语法: Asc (String)示例: I = Asc (0) I = 45返回给定数表示的ASCII 字符。语法:Chr (Integer) Integer 范围 0 到 255.示例:Msgbox (Chr(34) & Hello & Chr(34) 此示例消息框显示:Hello(包括引号)。返回一个给定的数以特定格式表示的字符串。语法:Format (Number, Format String)Format String取值及意义: Dn - 整数最小的n位数。如果需要,它将添加前导零。 En - 小数点后n位数字的科学计数 (d.dddde-010) Fn - 固定小数点后 n 位数字。 Nn - 数字小数点后n位数字的格式(dd,ddd,ddd.dddddd) Pn - 百分比设置格式。 将数乘 100 添加百分比符号。示例:Msgbox (Format(1234.5678,N2)将显示: 1,234.57字符串中的第一个字符是一个数字则返回 true。语法:IsDigit (String)示例:If IsDigit (StrAt (TextBox1.Text,2) = True Then .如果TextBox1控件中的第三个字符是一个数字,将返回 true。字符串中第一个是字符的则返回 true。语法:IsLetter (String)示例:If IsLetter (StrAt (TextBox1.Text,2) = True Then .如果TextBox1控件中的第三个字符是一个字符,将返回 true。字符串是一个数字,返回 true。语法:IsNumber (String)示例:If IsNumber(TextBox1.Text) = true ThenMsgbox (TextBox1.Text * 20)End If字符串中的第一个字符是标点符号则返回 True。语法:IsPunctuation (String)示例:If IsPunctuation (StrAt (TextBox1.Text,2) = True Then .如果第三个字符是标点符号符号,将 true。字符串中指定位置取字。语法:StrAt (String, Index)Index从 0 开始到字符串的长度-1。示例:a = StrAt (abcdef , 3)结果是:a = d比较两个字符串大小,字符串的大小取决于词法顺序。语法:StrCompare (String, String ,Compare Constant)Compare Constant 取值是: cCaseSensitive 或 cCaseUnsensitive。StrCompare 返回一个小于零的数字第一个字符串是小于第二个字符串。如果返回零表示字符串相等,如果大于零第一个字符串大于第二个字符串。如果省略Compare Constant ,比较时将不区分大小写。示例:i = StrCompare (TextBox1.Text, TextBox2.Text, cCaseSensitive)If i = 0 ThenMsgbox(两个相同)Else If i TextBox2 Then Msgbox (Bigger) Else Msgbox (Smaller)注意: 他之间您不能使用行分隔符:。2. 多行:If Condition Then.Else If Condition Then.Else.End If示例:If TextBox1TextBox2 ThenMsgbox (Bigger)Else If TextBox1TextBox2 ThenMsgbox (Smaller)ElseMsgbox (Equal)End If循环语句。语法: For variable = Value To Value Step Value步长默认值为 1。示例:For i = 10 To 0 Step -1Msgbox (i)Next结果是: 将显示从 10 到 0 的倒数跳转语句。Labels:标签语法是一个以字母开始的单词以冒号结束。示例:Sub Button1_Click.StartingPlace:.Goto StartingPlaceEnd Sub结果: 程序到达了 goto 时将跳转到StartingPlace关键字后第一行 。Do . Loop While | Until 条件循环语句。至少执行一次循环体。语法:Do.Loop While | Until conditon示例:Doi=i+1Loop Until Msgbox (Add another?,cMsgboxYesNo) = cNoMsgbox (i)3.8过程定义Sub 过程,通用过程的结构事件的结构类似,格式如下:public|private Sub 过程名 (参数)End Sub public|private关键字用于定义过程的作用域,public用于全局通用过程,private或省略仅供模块内部使用的通用过程。不论有没有参数,每个过程都可以返回一个值(过程是不需要返回值得,函数必须返回值),使用关键字Return。示例:Main主模块:Sub GlobalsDeclare the global variables here.End SubSub App_StartForm1.ShowEnd SubSub Button1_Clicka=TextBox1.Text 因为程序简单在TextBox1文本控件中必须输入数字b=TextBox2.Tex 同上TextBox3.Text = lx.Jisuan (a ,b) 显示a+b的结果End SubLX 次模块:Sub GlobalsDeclare the global variables here.End SubPublic Sub Jisuan(x,y)Return(x+y)End Sub说明:Return(x+y)意思就是Jisuan=x+y因为过程中不能调用自身,Return返回过程名的值。Public Sub Jisuan(x,y)过程如果省略掉Public那末在其他模块中将不能被调用,调用格式:模块名.过程名(参数)。3.9数组变量Basic4ppc支持多达三维度的数组。数组变量总是全局性的,必须使用之前声明。数组可以存储某一数据类型的项目。通过外部链接库可以得到更多的类型。声明全局变量 Dim 关键字, Array 初始化,相同的数组可以不同的过程中多次声明不同大小。 但是,首先在Sub Globals声明(即使是0项目也须要). 。一个数组索引从0开始到数组大小- 1 。示例:Sub GlobalsDim Books (20)Dim Buffer (100) As ByteEnd Sub3.10结构变量结构变量与自定义字段。使用结构的代码可以更清晰和更好的组织。结构变量必须在Sub Globals过程中声明。见 Dim 关键字的资料,声明结构。Array 初始化结构变量使用结构变量与使用控件的属性相似在变量名称之后键入.会弹出列表框供选择。示例:Sub GlobalsDim Type(Name, ID, Age) persons (100)End SubSub App_Startpersons(0).Name = Johnpersons(0).ID = 1234567persons(0).Age = 30End Sub第四章窗体设计窗体(Form)是windows应用程序最常用、最基本的工具、是用户进行程序设计的窗口,是程序界面的框架,是各种组件和控件及代码的载体。Basic4ppc可以编写无窗体的程序,那将意味着程序运行过程中一般不允许用户干预。Basic4ppc新建项目默认是没有加入图形控件窗体,要想在设计阶段就看到程序界面式样,在菜单designer-create new form下为当前模块创建一个新窗体,然后再窗体设计器里向窗体上添加其他图形控件。不过你也可以使用窗体的动态生成技术AddForm为程序添加窗体。在Basic4ppc中窗体是所有控件的“父类”,第一个显示的窗体就是主窗体。当用户关闭主窗体或使用 AppClose时,程序就结束了。关闭非主窗体,窗体实际上隐藏,使用 Form.Show可以再次显示出来,窗体控件是一个唯一可以在上边绘制图形的控件。窗体拥有下面的属性和方法:CancelClose 取消关闭Circle 绘制圆Close 关闭Color 颜色DrawImage 绘制图像DrawString 绘制字符串Enabled 启用FCircle 在上图层绘制圆FDrawImage 在上图层绘制图像FDrawString 在上图层绘制字符串FErase 清除上图层FGetPixel 获取上图层指定点的颜色FLine 在上图层绘矩形Focus 焦点ForeLayer 上图层FPolygon 在上图层绘制多边形GetPixel 获取窗体上指定点颜色。Height 高度Image 获取或设置图像。Line 层绘矩形LoadPicture 背景Name 名称Polygon 绘制多边形Refresh 重新绘制自身Show 显示Text 文本Width 宽度事件:Close 关闭KeyPress 按键MouseDown 笔(鼠标点击窗体)接触屏幕MouseMove 笔(鼠标窗体上移动)在屏幕移动MouseUp 笔(鼠标点击窗体)离开屏幕Show 显示下面以示例讲解绘制图象语句:(代码见图)在窗体上绘制一个字符串。语法: DrawString (String, FontSize, X1,Y1,X2,Y2, (R,G,B | Color Constant)字符串绘制起点为矩形的X1,Y1。DrawString 只绘制字符串,并不包括任何其他操作。这意味着,如果要绘制只一行字符串,需要设置X2,Y2,。窗体上绘制圆 (实心或空心)。语法:Circle (X,Y,Radius, (R,G,B | Color Constant) ,F)X,Y - 圆心坐标颜色可以是 R、 G、 B 或颜色常量之一如果您添加 F 参数绘制的圆形将会被填充。窗体上绘制线或框(空心或填充)语法: Line (X1,Y1,X2,Y2, (R,G,B | Color constant) ,BF)B - 空心BF - 填充在窗体上绘制多边形。语法: Polygon (XArray, XStart, YArray, YStart, Count, (R,G,B | Color Constant) ,F) Polygon (Points Structure, Start, Count, (R,G,B | Color Constant) ,F)XArray - 存储 x 坐标的数组。可以是一维数组或 ArrayList。XStart - 索引的第一个的 X 坐标。YArray - 存储 y 坐标的数组。可以是一维数组或 ArrayList。YStart - 索引的第一个的 Y 坐标。本例程序创建一个窗体,窗体的text属性设置为“模拟时钟”。添加一个定时器,他的time 时间隔间 (毫秒)属性设置为1000。本例程序的代码在代码图像文件里,文件大小196,858字节。把图片下载回来把文件后缀改称rar,用winrar解压可得到:模拟时钟.sbp其他属性方法事件说明如下CancelClose 允许您停止窗体关闭进程。必须在 Sub Form_Close 中使用 CancelClose。语法:CancelClose示例:Sub Form1_Close If Msgbox (Do you want to quit?, cMsgBoxYesNo) = cNo Then Form1.CancelClose End IfEnd Sub同按一个窗体的 X 按钮。关闭窗体,并引发关闭事件。如果窗体不是主窗体,窗体将隐藏并不关闭 (仍将触发关闭事件)。获取或设置控件的背景色。颜色可以在 R G,B 或颜色常量也可以是另一个控件颜色属性的语法。语法:Color示例: Button1.Color = 255,0,0 红颜色示例:Button1.Color = cRed示例: Button1.Color = Form1.Color从文件在窗体上绘制图像。语法: DrawImage (Image | File , X1,Y1 ,X2, Y2)如果只有 X 1 Y1起点 (图像的左顶部角将为这一点) 的原始大小。如果有 X2,Y2 图像将被拉伸以适合矩形。支持图像文件: BMP GIF,JPEG PNG,TIFF。示例:Form1.DrawImage (ImageList1.Item(0) 100,100)Form1.DrawImag (smiley.gif,200,200,240,240)关闭事件。使用 CancelClose 取消关闭进程。语法:Sub FormName_Close按键事件。窗体(不同于其他控件) 可以收到 SpecialKeys 常量之一,可以处理硬件方向键。语法:Sub ControlName_KeyPress (key)key 是按下键的键值.窗体为:Sub ControlName_KeyPress (SpecialKey)SpecialKey 可以是下列值: cDownKey 向下键 cLeftKey 向左键 cMiddleKey 中间键 cRightKey 向右键 cUpKey 向上键笔触及屏幕时发生的事件。语法:Sub ControlName_MouseDown (X,Y)X,Y - 笔点的位置。.笔触及屏幕并移动时发生的事件。语法: Sub ControlName_MouseMove (X,Y)X,Y - 当前点笔离开屏幕时发生的事件。语法:Sub ControlName_MouseUp (X,Y)X,Y - 笔最后离开点显示事件。第一个窗体显示将主窗体。语法: Show示例: Form 1.Show第五章基本控件按钮控件系统提供普通按钮(Button)和图像按钮(ImageButton)。属性和方法:显示到最上层(如果被其他控件覆盖)Color 颜色Dispose 释放 Enabled 启用Focus 焦点FontColor 字体颜色FontSize 字体大小Height 高度Left 左边距Name 名称Refresh 刷新强制重新绘制自身的控件Text 文本Top 顶部(距离)Visible 可见Width 宽度事件:Click 单击KeyPress 按键除了上述的属性外,图像按钮还有Image 图像Transparent 透明Mode 显示方式属性和ButtonDown 按下按钮ButtonUp 松开按钮事件。由于移动设备的特殊性,小小的窗口放置控件一多难免有重叠现象。在下层的控件即使可见属性是真,用户也无法看到更别说操作了。在这里可用BringToFront方法把控件放到最上层上来显示。Dispose(释放)Visible(可见)在网上曾有朋友觉得这两个属性是一回事 ,我在论坛里讲过,这是两个不同的属性和方法。用Visible属性false让用户看不到控件了,那它只是被隐藏起来了他还存在,还在占用着系统资源。可以把属性值改为True让他再次显示出来。Dispose就不同了用它把控件释放后不但用户看不到了,就连他占用的系统资源也被释放了。打个简单的比喻,就像在房间里放一张桌子,不管你用那种方法把他遮挡或隐藏其他人是看不到他了,但是他毕竟还在房间里占用着一定的空间,去掉遮挡或隐藏后又展现在人前。如果你要是把他从房间里搬出去,不但在房间里看不到他,就连他原来占据的空间也腾出来了。正确使用Dispose方法能节省系统资源,使程序运行的更快。Windows Mobile Smartphone 设备不支持这两个控件。也就是说非触摸屏的设备在编程时不能使用。Enabled (启用) 属性是用户能否使用它 ,当他设置为false时用户将不能使用它,这是用户看到的是灰色按钮。Left(左边距)Top(顶边距)Height(高度)Width(宽度)它们的值是象素点的多少。Name(名称)是控件的名,在项目里每个名都是唯一的。Text(文本)是显示给用户看的,用于告诉用户控件是干什么的。Color(颜色)设置或获得控件显示颜色的值FontColor(字体颜色)FontSize (字体大小)Refresh(重新绘制自身)ArrayList 根据需要动态改变大小的数组控件.访问 ArrayList 中的存储值是使用 Item 属性。动态添加新的ArrayList 控件使用 Add 方法。在模拟时钟代码里就能看到用法实例。Focus (焦点)窗体上的控件,在任何时候只会有一个控件获得焦点,只用获得焦点的控件才能在按下按键时引发按键事件。为了程序界面的友好,在按下确认键后自动转到下一个要操作的控件,既需要在这个控件的按键事件里设置下一个控件的属性为True 。示列:Sub TextBox1_KeyPress(key)If key = chr(13) then 按下Enter键TextBox1.IgnoreKeyTextBox2.FocusEnd IfEnd Sub所有的图形控件都是窗体的子类并继承了父类的属性方法和事件。所以所有控件的同名属性方法和事件的功能及作用差别不大。文本输入框控件TextBox 主要用于接收用户的输入。TextBox 控件可以是一行或输入多行。在 Visual 设计器底部的属性屏幕 (MultiLine 文本字段)中设置输入多行文本。Label标签控件,用于显示一个文本内容用户不能更改。 Calendar控件允许用户从一个打开的日历选择一个日期。将格式属性指定的格式显示日期。日期值存储在值属性中,它存储为Ticks数CheckBox 复选框进行多个选项的选择。ComboBox 组合框不支持 Text 属性,用户无法写入任何内,ComboBox 组合框使用可视化设计器来添加项 (属性的数据)Image图像控件用于显示从文件的图像。ImageList 是图像的动态数组。ImageList 在内存中存储图像,并允许其他控件从内存中检索图像。使用可视化设计器是您可以将图像添加到ImageList里。在编译过程中,将图像文件合并到可执行文件中。ListBox 是的列表框,用户可以选择其项目之一。您可以使用可视化设计器添加项 (属性的数据)。NumUpDown此控件允许用户在特定范围中编写用键盘推向上和向下箭头或使用硬件钥匙输入一个数字。值必须 Minimum 属性和 Maximum 属性之间。RadioBtn 单选框允许用户选择 (与 CheckBox不同) ,多选一。您可以通过将它们放在同面板里分组。Panels 面板控件用于其他控件分组。将控件添加到面板,选择面板,然后添加新的控件。在设计菜单-工具-更改控件可以改变空间的父级。属性 FontColor、 FontSize 和文本不更改面板外观。Panels是一个容器控件,如在使用RadioBtn 单选框控件时就的使用,每一个Panels控件里放置一组单选框。第六章文件操作在实际编程中,不可避免的需要显示或访问目录、文件,系统提供了两个图形控件OpenDialog、SaveDialog及一些对文件操作的语句或函数。下面就谈谈他们的作用及用法.我们编好的程序在不同的设备上运行时,他的位置在哪呢?在代码里使用 AppPath语句就可以得到程序在设备上的当前位置。我们在设备上安装的一些程序,如QQ,一旦运行一次后会多出一些文件夹和文件。DirCreate(Folder Path)语句就是创建一个新的文件夹。如果该文件夹已经存在,就什么都不会作的。如果在应用程序文件夹内(源代码或编译的文件夹)创建一个名为Images的文件夹。就写如下代码DirCreate (Images)。我编写的一个安全软件,在手机开机时就运行,提供2分钟输入密码时间,不论你是否输入正确的密码都将自动进入后台工作,密码一旦不正确将自动删除特定的文件,并把联系人信息以短信的方式发给预先设定的号码并清楚。一旦有新的联系人信息还会发出去。如果使用了电话通话记录也会以短信的方式发给预先设定的号码。删除文件或删除文件夹使用下例语句:删除指定的文件夹语法: DirDel (Path ,Including Files)(路径 ,包括文件)包括文件可以是 True 或 False。如果省略包括文件或将其设置为 False DirDel 将只删除空文件夹。示例:DirDel (Images, False)FileDel 删除一个文件。语法:FileDel (FileName)示例: FileDel (file.txt)我们如何才知道某个文件或文件夹是否存在呢?就得用:检查特定文件夹是否存在并返回 true 或 false。语法:DirExist (Folder Name)(文件夹名称)示例:If DirExist (Images) = True Then .检查指定文件是否存在并返回 true 或 false。语法:FileExist (File Name)示例:If FileExist (myFile.txt) = true Then FileOpen (c,myFile.txt,cRead)我们有时会对特定的文件定时备份,那么复制的使用FileCopy (Source File, Target File ,Overwrite)(源文件、 目标文件 ,覆盖)默认值覆盖为 true 如果它存在这意味着它将覆盖目标文件。示例:If OpenDialog1.Show cCancel ThenFileCopy (OpenDialog1.File, FileName(OpenDialog1.File)End If将此示例将文件复制到当前应用程序路径用户所选中。.还有一些如:搜索匹配指定路径中的所有子目录添加到ArrayList并返回找到数。语法:DirSearch (ArrayList, Path ,Search Pattern)如果省略搜索模式 DirSearch 将返回在目录中的所有子目录。搜索模式可以包括 * 和?字符。*-查找零个或多个字符。? -查找一个字符。示例:(alDir 是一个 ArrayList 控件)FileSearch (alDir, My Documents)此示例将向 ArrayList alDir 在我的文档 (设备) 中文件夹中添加所有子目录。读写文件的操作:要读取或写入文件必须首先用 FileOpen 打开它的连接。您可以打开一个只读的连接、 只写的连接或随机访问连接。连接名称可以是任何字符开头。您读取或写入文件时使用连接名称不是文件名。操作文件工作完成后不要忘记把他关闭,以解除文件锁定。语法:FileOpen (Connection Name, File Name, cRead | cWrite | cRandom ,cAppend ,cASCII)cAppend 是只写模式,它意味着,如果文件已经存数据将追加到最后。如果不使用 cAppend 将创建一个新的文件不论是否存在该文件。打开该文件默认为 Unicode 文件或 ASCII 文件处理。Unicode 文件支持多种语言,但不是所有应用程序支持 Unicode 文件。如果要使用 ASCII 文件,请使用 cASCII 参数。FileRead / FileReadToEnd / FileWrite 是只读或只写连接有关。.FilePut / FileGet / FilePutByte / FileGetByte 是随机访问连接有关。示例:If FileExist (Data.txt) = true ThenFileOpen (c1,Data.txt,cRead , cASCII)r = FileRead (c1)Do Until r = EOFsum = sum + rr = FileRead (c1)LoopMsgbox (sum)FileClose (c1)End if示例:FileOpen (c1,Data.txt,cWrite,cASCII)FileWrite (c1,20)FileWrite (c1,30)FileWrite (c1,TextBox1)FileClose (c1)FileGet 从打开的文件连接中的指定位置读取一个数字或字符串。语法:FileGet (Connection name, Position ,String length)(连接名称,位置 ,字符串长度)位置是指要读取文件数据的字节位置。如果您没有指定字符串长度 FileGet 返回数目。每个数字格式保存在 8 个字节。如果您指定字符串长度 FileGet 返回指定长度的字符串。若要获取文件大小 (以字节为单位) 使用 FileSize 关键字。示例:FileOpen (c1, data.dat,cRandom)x = FileGet (c1, 16) x value will be of the third number stored in the fileFileClose(c1)示例:FileOpen (c1, text.dat,cRandom)s = FileGet (c1, 5,10) s 得到从文件第六个字节开始连续的10个字节。FileClose(c1)返回存储在指定位置字节。字节值可以是 0 到 255。语法:FileGetByte (Connection Name, Position)若要使用 FileGetByte / FilePutByte 您需要先打开文件作为随机。示例:FileOpen (c,data.dat,cRandom)b = FileGetByte (c,0) 在文件中返回第一个字节。FileClose (c)FilePut 写入一个数字或字符串在文件连接中的指定位置。语法:FilePut (Connection name, Position, Text - True | False, String | Number)写入每个数值占 8 个字节。字符串中的每个字母占 1 字节。示例:FileOpen (c1, data.dat, cRandom)FilePut (c1, 8, false, 2323313.2563) 写入此编号位置起 8 至 15FilePut (c1,16,true,this is a string)写入位置16 至31 字节。FileClose (c1)在指定位置中保存一个字节。字节值可以是 0 到 255。语法:FilePutByte (Connection Name, Position, Byte)要使用 FileGetByte / FilePutByte 需要作为随机先打开文件。示例:FileOpen (c,data.dat,cRandom)FilePutByte (c,0,100) 保存在第一个字节值为100。FileClose (c)从一个打开的文件返回一行。指针移动到下一行。当它到达文件末尾时返回 EOF 常量。语法:FileRead (Connection Name)从一个打开的文件返回的所有剩余数据。 (从当前指针位置开始)语法:FileReadToEnd (Connection Name)返回文件长度 (字节数)。语法:FileSize (File)示例:FileOpen (c1, Data.dat, cRandom)MaxN = FileSize (Data.dat)For i = 0 to MaxN step 8ListBox1.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年元宇宙社交平台虚拟社交圈层构建与用户体验研究报告
- 2025年医院信息化建设中的电子病历系统优化:医疗信息化产业发展现状与趋势分析报告001
- 水电行业2025年技术进步动态与大型水电项目投资效益研究报告
- 政策导向下农业绿色发展技术与农村生态环境治理模式创新与实施效果研究
- 探索2025年:有声读物市场需求与内容创作模式创新研究报告
- 2025年二手交易电商平台信用评价体系深度研究报告
- 2025年医药企业研发外包(CRO)模式药物研发生物技术产品研发报告001
- 2025年医药企业研发外包(CRO)绿色研发与环保要求报告
- 2025年医药流通行业报告:线上线下融合与市场格局变化
- 乳制品创新产业提升建设项目可行性研究报告写作模板-申批备案
- T/CSPSTC 112-2023氢气管道工程施工技术规范
- 24春国家开放大学《农业推广》调查报告参考答案
- 应急救援物资检查维护保养记录表(月度)
- 机械原理课程设计-冲压机构及送料机构设计说明书
- 押金收据条(通用版)
- [甘肃]最新甘肃省造价文件汇编(310页)
- 钢框架结构计算书毕业设计
- 品牌中国产业联盟简介ppt课件
- 肝素钠生产工艺综述
- 压力管道氩电联焊作业指导书
- 屋面防水质量控制培训课件(共63页).ppt
评论
0/150
提交评论