• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

文本文件是怎样转换为EXE文件的

发布: 2007-5-26 13:55 | 作者: 佚名 | 来源: 互连网 | 查看: 128次 | 进入软件测试论坛讨论

领测软件测试网
  在很多软件包中都存在一个README.COM或README.EXE文件, 这些文件不用任何文本文件, 单独运行即可以清晰地显示该软件的安装或使用说明, 为用户提供了很大的方便。这是一种特殊的编技术, 即把文本文件转换为可执行文件,也可以叫做TXT2EXE 功能。此编程方法不仅具有极高的实用价值,而且熟练掌握这种编程技术将使编程水平有所提高。把文本文件转换为COM 和EXE 文件都可以达到单独直接运行的目的,但COM 文件的特殊结构限制了它的长度必须小于长规内容的容量, 即65536 个字节, 所以把TXT 转换为 COM文件只能处理一些小型文本文件。EXE 文件则没有这种限制,本文仅以用 TURBO C为例, 阐述如何把一般文本文件转换为EXE 文件编程原理, 并给出一个完善的TXT2EXE 通用程序源代码。
  
  一、基本原理:
  完成此操作的基本原理, 就是在文本文件头部加上一段具有文本显示能力的程序段, 当运行合并后的程序时,打开此文件本身, 并移动文件指针到文本数据段,依次读出内容显示即可。所以一个完整的TXT2COM程序内部, 应该同时具有显示文本功能及合并文件的功能,其中的合并文件功能负责把其中的显示文本程序段与文本文件进行合并处理, 而显示文本功能只有在合并后的 EXE文件运行时才能得到执行。
  
  二、需要解决的问题:
  首先是文件显示程序的编制,为了达到良好的显示效果,此段显示程序中需要具有如下功能:
  
  1.彩色显示能力, 可根据汉字、西文字符、数字等采用不同的颜色, 以达到一目了然的效果;
  2.颜色修改能力, 每个人都会偏爱某一种颜色, 显示过程中应该允许随意调整屏幕底色及其它字符颜色;
  3.页号显示能力, 以便随时了解阅读进度;
  4.进度调整能力, 可随时上翻或下翻内容;
  5.标题填加能力, 针对不同的文本内容, 应该在标题栏显示指定的标题内容;
  
  另外就是文件指针的调整问题,当进行文件显示时,必须把文件指针移到正确位置, 即跳过显示程序段部分,但由于程序调试时显示程序段长度是不定的, 无法确定具体的数值,此时可以采取一种动态记录显示程序段的方法,即合并显示程序与文本文件时, 把显示程序长度记录在程序未尾, 当运行合并后的程序时, 首先从文件尾部读出显示程序长度, 即可移到正确位置。另外显示标题也可以采取类似的处理方法,把标题信息存放在文本文件之后。
  
  颜色的调整问题也是编程中的一个关键,为了达到按不同的字符种类使用不同的颜色目的,必须对文件中的字
  
  符进行逐个判断,此处需要对字符编码有必要的了解,比如汉字是由大于A0H 的编码组成, 30H-39H为数字编码等;在实时调整屏幕背景颜色及其它字符颜色时, 为了使程序具有良好的通用性, 使用了各种显示系统通用的调色板寄存器方法, 比如可事先设置背景使用0号调色板,汉字使用2 号调色板, 之后通过调整0号和2号调色板寄存器值, 可灵活的改变屏幕颜色特性。
  
  三、程序使用方法:
  此程序运行时需要携带两个或三个参数, 段如程序名为TXT2EXE.EXE,则命令格式:
  TXT2EXE Source Target Title
  如:txt2exe.exe a.txt a.exe hello
  
  其中Source为原文本文件文件名, Target为转换后的目标文件名, 后缀必须为EXE,Title为标题内容,标题可省略,省略时将显示缺省的标题“hello”,运行之后所产生的EXE 文件即可以单独运行, 运行之后屏幕上为标题条,显示指定的标题, 屏幕下面为操作提示条, 之后可按提示信息进行操作, F1改变屏幕背景颜色, F2改变汉字颜色,F3改变西文字符显示, F4改变数字颜色, PGUP键上翻内容,其它键下翻内容, 当显示到文首或文尾时将给出提示, 显示同时在提示行显示页号, 按ESC 键退出程序。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网