使WPS文本文件正确显示

Author: 广西 梁春波 Date: 1993-05-21

        一、用D命令调入已输入的文件时,能读出文件内容,但显示混乱并死机。用PCTOOLS校验文件无误,DIR文件长度不变。
        此类错误通常是文本文件的文件头错误所致,WPS文本文件(WPS2.1版)在文件开头处的1024字节存放了文件的长度、时间、光标位置、密码及标志、路径等内容,当这部分内容发生错误时,将导致上述错误的发生。本人使用DEBUG调试工具对这类文件进行修复,效果很好。
        1、首先编辑一个不包含任何内容的空文件OK.WPS备用,文件长为1025字节。
        2、调用DEBUG调试工具进行修复(设错误文件的文件名为ERROR.WPS)。步骤如下:
        C>DEBUG
        -NERROR.WPS
        -L100;调入错误的文件
        -RCX
        CX:4111
        :
        -RBX
        BX:0001
        :
        ;记下文件长度为14111字节
        -NOK.WPS
        -L100;调入空文件,使其文件头覆盖原错误文件的文件头
        -E500;
        5C70:05001A.2083.20
        ;  将 原 空 文 件 的 文 末 标 记 改 为
        -RCX;空格
        CX:0401
        :4111
        -RBX
        BX:0000
        :0001
        ;改回原文件的长度14111字节
        -  N E R R O R .  W P S
        ;改回原错误文件的文件名
        -W;存盘
        Writing14111bytes
        -Q;退出
        注:如文件长度不超过64K字节,可不查询及修改BX。
        3、用WPS的D命令调入原错误文件,文件内容完好无损,表明文件已被修复,将此文件重新存盘后,文件头有关参数亦同时恢复。
        因加密的文本文件密码、标记等均放置在文件头中,故用以上办法可对已加密的文本文件进行解密。
        二、文件能正常读出,但只能显示前面一段文字,其后部分全部丢失,DIR文件目录时文件长度正常。
        此类错误通常是由于文件中文末标记(码值为1A)错位而引起的。
        使用DEBUG调试工具软件可方便地对其进行修复,步骤如下:
        C>DEBUG
        -NERROR.WPS
        -L100;调入错误的文件
        -RCX
        CX:A222
        ;文件长度为A222字节
        :
        -  S 1 0 0 ,  A 2 2 2    1 A
        查找文末标记
        5C70:103B
        5C70:A222
        -E103B
        ;将文末标记改为空格或汉字内码,以不造成汉字错位为准
        5C70:103B1A.20;
        -W;存盘
        WritingA222Bytes
        -Q;退出
        用WPS的D命令调入文件,文件内容完好无损,表明文件已被修复。
        以上操作均在PC-286机型、WPS2.1版环境下通过。
        (广西  梁春波)