当前位置:首页 > 蜗牛程序 > 第一章 章节有错,我要报告!
广告图片:言情小说吧

第一章

?蜗牛程序

蜗牛中如何调用DOS并得到返回文本

源程序如下:

子程序:_启动子程序

返回值类型:整数型

备注:本子程序在程序启动后最先执行

cmd    =    读环境变量    (“ComSpec”)

子程序:执行dos命令行

返回值类型:文本型

参数:参数    数据类型:文本型

局部容器:文件长度

局部容器:文件号

局部容器:句柄

句柄    =    执行    (主窗口.取窗口句柄    ()

“open”

cmd

“    /c    ”    +    参数    +    “>”    +    临时文件名

当前目录

0)

延时    (1000)

如果真    (句柄    =    0)

返回    (转换为字节集    (“执行命令行失败!”))

如果真结束

文件号    =    打开文件    (临时文件名

#读入

)

文件长度    =    取文件长度    (文件号)

延时    (250)

判断循环首    (文件长度    ≠    取文件长度    (文件号))

*备注:等待命令行运行完毕

文件长度    =    取文件长度    (文件号)

延时    (250)

判断循环尾    ()

返回信息    =    读入文本    (文件号

)

关闭文件    (文件号)

写到文件    (临时文件名

{;    };)

*备注:清除文件内容

返回    (返回信息)

本来有更好的方法调用DOS的,那就是匿名管道技术。但因为易语言在自定义数据类型和DLL的一些限制,没有办法实现。

现在或者方法只是将DOS命令输出到文本,然后再读取来取回命令的返回信息。

这样有两个缺点:

1.命令行中不能够再有“”字符

2.不能够得到错误信息的输出

蜗牛中寻找窗口子程序

子程序:寻找窗口

返回值类型:文本型

局部容器:窗口标题            数据类型:文本型

局部容器:窗口句柄            数据类型:整数型

局部容器:标题长    数据类型:整数型

返回信息    =    “窗口句柄                    窗口标题”    +    换行符    +    “===========================================================”    +    换行符

窗口句柄    =    取窗口句柄    (GetDesktopWindow    ()

5)

判断循环首    (窗口句柄    ≠    0)

标题长    =    GetWindowTextLength    (窗口句柄)

如果    (标题长    ≤    0)

窗口标题    =    “”

否则

窗口标题    =    取空白文本    (标题长)

标题长    =    GetWindowText    (窗口句柄

窗口标题

标题长    +    1)

如果结束

如果真    (窗口标题    ≠    “”    且    窗口标题    ≠    “DDE    Server    Window”    且    窗口标题    ≠    “Default    IME”    且    窗口标题    ≠    “OleMainThreadWndName”    且    窗口标题    ≠    “Program    Manager”)

*备注:过滤无标题窗口和一部分系统窗口

返回信息    =    返回信息    +    “    ”    +    到文本    (窗口句柄)    +    取重复文本    (10    -    取文本长度    (到文本    (窗口句柄))

“-”)    +    窗口标题    +    换行符

如果真结束

窗口句柄    =    取窗口句柄    (窗口句柄

2)

判断循环尾    ()

返回    (返回信息    +    “===========================================================”    +    换行符)

蜗牛中用到的进制转换程序

包括从十进制到其他进制和从其他进制到十进制

子程序:十转其他

返回值类型:文本型

参数:需转换数值    数据类型:长整数型

参数:进制

局部容器:余数        数据类型:长整数型

局部容器:循环容器

局部容器:返回容器            数据类型:文本型

循环判断首    ()

余数    =    需转换数值    %    进制

如果    (余数    <    10)

返回容器    =    到文本    (余数)    +    返回容器

否则

返回容器    =    字符    (55    +    余数)    +    返回容器

如果结束

需转换数值    =    需转换数值    \    进制

循环判断尾    (需转换数值    ≠    0)

返回    (返回容器)

------------------------------

子程序:其他转十

返回值类型:长整数型

参数:文本    数据类型:文本型

参数:进制

局部容器:字符        数据类型:文本型

局部容器:返回容器            数据类型:长整数型

局部容器:循环容器

计次循环首    (取文本长度    (文本)

循环容器)

字符    =    到大写    (取文本中间    (文本

循环容器

1))

如果    (取代码    (字符

)    <    58)

返回容器    =    返回容器    +    文本到数值    (字符)    ×    求次方    (进制

取文本长度    (文本)    -    循环容器)

否则

返回容器    =    返回容器    +    (取代码    (字符

)    -    55)    ×    求次方    (进制

取文本长度    (文本)    -    循环容器)

如果结束

计次循环尾    ()

返回    (返回容器)   

新书推荐

近期最受关注书籍

[历史] 明朝上门女婿 [仙侠] 天道计划 [玄幻] 圣灵创造
[仙侠] 洪荒之因果缠身 [仙侠] 道骨 [都市] 弄潮
[都市] 重活之圆梦人生 [历史] 朱门风流 [游戏] 贼胆
[都市] 史上第一妖 [都市] 超级成长 [仙侠] 掌天地
[玄幻] 灭世法神 [都市] 逛荡 [历史] 大宋之风流才子
[都市] 重返都市 [仙侠] 仙吟 [都市] 国医