zoukankan      html  css  js  c++  java
  • 重温DOS下的小作品:回忆过去,展望将来

    今天整理磁盘,发现了我以前在DOS下编写的一些小软件,于是萌发了一种将其发布到博客以表纪念的想法。纯粹是为了回忆和纪念,正如我们会经常回忆那些80后所看的经典动画片、所吃过的零食那样,当我看到这些曾经为之振奋而充满激情的“作品”时,不免会回想起当时写这些软件时的情景,进而感叹:时间过的真快,软件技术发展得真快。这些软件基本上是基于Quick Basic和C/C++编写的,BASIC语言嘛,是我的入门语言。98年考全国计算机等级考试二级时,我选的就是BASIC语言。之后在99年,我自学了PASCAL,转而进入Delphi的领地,而那一年正好是我参加高考,OMG,对计算机编程的热衷,使我在高考中发挥失常,结果如何,可想而知。如今,我把全部的精力都放在专研.NET与企业应用开发相关的领域,我是在2002年开始接触并学习.NET的,至今也仍然在不断的学习、思考、摸索、实践之中。

    言归正传,现在开始把这些小软件晒出来。

    1、打字测速程序TT45.BAS

    在DOS下,打字测速程序非常普遍,有基于英文的,有基于中文的。我编写的这个TT45,只支持英文的。不过与那些英文的打字测速程序相比,TT45多了两个有趣的功能:能够支持用户自定义的界面风格,而且支持样文的自定义,用户可以自己编辑指定的文本文件来添加需要练习的文章。

    image

    2、五子棋双人对战程序GOBANG.BAS

    一个简单的五子棋双人对战程序,非常简单,支持两个人同时游戏,程序只负责输赢的判断,不支持人机对战和人工智能,所以不要对这个程序抱有太大期望。

    image

    3、函数图象描绘系统FUNDRAW.BAS

    一个用来描画函数图象的小软件。由于当时没有CodeDom技术,而且自己也没有写编译器的本事,所以为了支持用户自己填写函数表达式,这个软件会调用Quick Basic的编译器来编译事先定义好的代码文件并执行编译后的可执行程序。在图象显示的界面中,还可以使用+/-键来放大/缩小比例,还可以使用方向键来准确定位图象上的某个点,进而获得函数值的近似读数。这对当时正在读高中的我来说,在验证一些数学题的答案上帮了不少忙。在我进大一以后,进一步完善了这个程序(所以你看到的About上的时间是2000年),当时还打算开发一个基于Windows系统的函数图象描绘软件,不过之后当我得知有更成熟的类似产品后,我就放弃了这种想法。

    image

    4、硬盘探险家(Hard Disk Explorer)

    一个用C语言结合汇编语言编写的硬盘数据浏览和编辑软件,这个软件在当时的一个网站上下载量还是在很前面的。当时对于硬盘的磁盘格式、文件分配表FAT16/32、中断调用和TSR(Terminate Stay Recident,内存驻留程序)有着深入的研究。我研究这些东西的兴趣来自于当时流行的KV200/300杀毒软件,KV软件里有一个非常详细的电子文档,讲解了与磁盘、内存和病毒相关的一些知识。“硬盘探险家”是我模拟Central Point PC Tools软件的界面编写的,并且模拟了Borland Turbo C++ 3.1的菜单界面,好像之后Central Point公司就被赛门铁克收购了。

    image

    5、硬盘隐藏扇区编辑软件(HSEDIT.C)

    其实这个软件要比“硬盘探险家”更早。这个软件仅支持整个硬盘的MBS前64个隐藏扇区以及DBS的一个隐藏扇区。在我解决了LBA的兼容问题和硬盘访问的扩展中断后,才编写了上面的“硬盘探险家”。我记得当时为了解决LBA的问题,专门跑到图书馆借来了求伯君先生编写的《DOS中断大全》一书。这个软件的一个有趣的地方是,在没有启动汉字系统的情况下,在“帮助”中实现了汉字的显示。

    image

    当然,当时写的小软件远不止这些,还有一些是基于DOS命令行的,我就不贴图了,比如,有支持将文本文件转换为C语言文件,通过C语言编译器编译后就能生成专业效果的README程序的TXT2C,还有支持爱普生1600K针式打印机的打印程序等等。所有的这些,见证了我在软件行业的成长过程。

    随着Windows的逐步普及、OOAD/OOP的迅速发展,我的重点也慢慢地从小程序、系统程序转变到企业应用上了,或许你会说:傻了吧,现在做系统底层开发的多吃香啊,但我并不觉得这是件很大的事,因为兴趣使然。软件种类很多,要学的东西太多了,能够做好一个领域、做精一个领域,就不是件容易的事情。只要你把事情做好,你的价值就自然会体现出来。

    最后再勉励一下自己,朝着目前的方向,继续努力!

  • 相关阅读:
    sublime开启vim模式
    git命令行界面
    搬进Github
    【POJ 2886】Who Gets the Most Candies?
    【UVA 1451】Average
    【CodeForces 625A】Guest From the Past
    【ZOJ 3480】Duck Typing
    【POJ 3320】Jessica's Reading Problemc(尺取法)
    【HDU 1445】Ride to School
    【HDU 5578】Friendship of Frog
  • 原文地址:https://www.cnblogs.com/daxnet/p/1939659.html
Copyright © 2011-2022 走看看