加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

在turbo pascal 5.5中的旧IBM PS / 2上读/写文件

发布时间:2020-12-14 02:47:19 所属栏目:Windows 来源:网络整理
导读:问题:我最近收购了1989年的IBM PS2,我正在尝试通过软盘将大型文件从我新的基于UNIX的机器移到这个IBM.我有一个bash脚本将我的文件分成~2MB块,现在我正在尝试编写一个pascal程序,以便在它们被传输后重建这些文件. 我无法在此计算机上找到正确的读/写文件方法
问题:我最近收购了1989年的IBM PS2,我正在尝试通过软盘将大型文件从我新的基于UNIX的机器移到这个IBM.我有一个bash脚本将我的文件分成~2MB块,现在我正在尝试编写一个pascal程序,以便在它们被传输后重建这些文件.

我无法在此计算机上找到正确的读/写文件方法.我已经尝试过各种pascal教程网站,但它们都适用于较新版本(我跟随File Handling In Pascal的网站).我能够创建一个空文件(如下所述),但我无法写入它.有谁知道这种类型的计算机正确的pascal读写方法?

我知道这是一个晦涩难懂的问题,所以,如果您有任何帮助,请提前感谢您!

细节:

正确创建文件的当前测试代码如下:

program testingFiles;
uses Crt,Win;

const FILE_NAME = 'testFile.txt';
var outFile : File;

begin
writeln('creating file ...');
Assign(outFile,FILE_NAME);
rewrite(outFile);    

end.

这是一些不起作用的测试代码,找不到方法的append()和close():

program testingFiles;
uses Crt,FILE_NAME);

append(outFile);
writeln('this should be in the file');
close(outFile);

end.

这是一个也不起作用的替代方法,writeln()方法只打印到终端.但否则这会编译.

program testingFiles;
uses Crt,FILE_NAME);

rewrite(outFile);
writeln('this should be in the file');
close(outFile);

end.

系统:如前所述,这是一个1989年IBM PS2.

>它安装了Windows 3.0,还可以运行DOS和MS-DOS终端.
>它具有Microsoft SMARTDrive磁盘缓存版本3.06
>它安装了Turbo Pascal 5.5,我使用turbo作为我的命令行pascal编辑器. (自述文件最后更新于1989年)
>它安装了Turbo调试器1.5.

我再次知道这是一个晦涩难懂的问题,所以请提前感谢您提供给我的任何帮助!

解决方法

我的帕斯卡记忆非常生疏…但正如其他人所指出的,这是你应该考虑的:

program testingFiles;
uses Crt,System;
//No need of importin Win Win is for Windows enviorment,however I'm not sure if you need to use System,Sysutils or was there a Dos class???

const FILE_NAME = 'testFile.txt';
var outFile,inFile : File;

begin
writeln('creating file ...');
Assign(outFile,FILE_NAME);
rewrite(outFile);

//Now Open the first chunk of the file you want to concatenate

AssignFile(inFile,"fisrt_chunk.dat");
reset(inFile);

while not eof(inFile) do
 begin
   readln(inFile,s);
   writeln(outFile,s);
 end;
close(inFile);

end.

我没有安装Turbo / Borland Pascal,所以我不能自己编译,不承诺它会工作它更像是一个想法:

>要记住的关键事项是,readln和writeln总是会在字符串/行的末尾添加一个返回值,另一方面读取和写入会将光标留在任何地方而不会跳转到新行.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读