微信公众号 
图码生活

每天发布有五花八门的文章,各种有趣的知识等,期待您的订阅与参与
电脑报 1992-2001 十年文章全集
电脑报 1992-2001 十年文章全集
包含从 1992 年 - 2001 年间,两万余篇期刊文章,查询最少输入两个字符
随便看看
读取中
读取中
标题在Turbo Pascal中用IoResult防止程序崩溃
栏目软件大世界
作者赵卫成
发布1997-01-01
  在用Turbo PASCAL语言编程时,常遇到输入输出错误。例如:变量t1若定义为整型,而在执行readln(t1)时,输入了一个字串;在读写软盘时,盘片未插入等,这时程序就可能崩溃。防止程序在此时崩溃的一个办法,就是使用Turbo PASCAL提供的IoResult函数。
  函数IoResult返回最近一次I/O操作的状态值,返回值是0时表示输入输出操作成功。在使用前应加上{$I-},关闭I/O检查;如果IoResult返回值为0,即操作成功,此时应再加上{$I+},以打开I/O检查。程序TEST演示了如何使用IoResult来防止程序崩溃。
  PROGRAM Test;
  VAR t1,t2:INTEGER;f:TEXT;
  BEGIN 
  REPEAT  {判断t1是否为一个整数}  
  Write('请输入一个整数:');  
  {$I-} Readln(t1);t2:=IoResult; 
  UNTIL t2=0;  {只有在输入正确时才跳出循环}  
  {$I+} Writeln('正确!');Writeln; 
  REPEAT  {检查A驱是否准备好写入文件}  
  Writeln('请插入A盘后敲回车键!');Readln;  
  Assign(f,' temp.txt');  
  {$I-} Rewrite(f);  
  t2:=IoResult; 
  UNTIL t2=0;  {只有在A驱中插入软盘而且写保护开关关上时才跳出循环}  
  Writeln(f,'ok!');  
  Close(f);  
  {$I+} Writeln('A盘上写temp.txt正常!');
  END