Delphi中ReadLn未赋值所有变量原因何在?
- 内容介绍
- 文章标签
- 相关推荐
本文共计407个文字,预计阅读时间需要2分钟。
当使用Delphi的ReadLn从制表符分隔的文件中读取值到一系列变量时,如果在我单步执行调试器时,某些变量没有获得合适的值,可能是以下原因:
1. 文件内容问题:文件中的数据可能格式不正确,例如缺少制表符或存在多余的制表符。
2.读取方式问题:在读取时没有正确处理分隔符,导致读取的数据不完整或错误。
3.变量初始化问题:在读取数据之前,变量可能没有被正确初始化,导致它们包含未定义的值。
例如,如果代码如下:
delphi
x, y, z: Integer;ReadLn(fh, x, y, z);MessageBox(intToStr(y));可能需要检查以下几点:
- 确保文件`fh`正确打开且可读。- 确保文件内容格式正确,例如每行应该包含三个由制表符分隔的整数。- 在读取前确保变量`x`、`y`、`z`已初始化,或使用默认值,以防未读取到的数据影响后续逻辑。
当使用Delphi的ReadLn从制表符分隔的文件中读取值到一系列变量时,为什么在我单步执行调试器时,某些变量没有被赋值给适当的值?即
x, y, z: Integer; ... ReadLn(fh, x, y, z); MessageBox(int2Str(y)); ...
只有y有一个值,x和z是0 …
注意:这是在Mason Wheeler完全有效的答案之后编辑的
Readln将解析输入以及它可以为您提供的变量类型,但如果您的第一个(名称)是一个字符串,它将读取所有内容直到换行.如果要加载制表符分隔文件,我将使用TStringList并将分隔符字符设置为#9.本文共计407个文字,预计阅读时间需要2分钟。
当使用Delphi的ReadLn从制表符分隔的文件中读取值到一系列变量时,如果在我单步执行调试器时,某些变量没有获得合适的值,可能是以下原因:
1. 文件内容问题:文件中的数据可能格式不正确,例如缺少制表符或存在多余的制表符。
2.读取方式问题:在读取时没有正确处理分隔符,导致读取的数据不完整或错误。
3.变量初始化问题:在读取数据之前,变量可能没有被正确初始化,导致它们包含未定义的值。
例如,如果代码如下:
delphi
x, y, z: Integer;ReadLn(fh, x, y, z);MessageBox(intToStr(y));可能需要检查以下几点:
- 确保文件`fh`正确打开且可读。- 确保文件内容格式正确,例如每行应该包含三个由制表符分隔的整数。- 在读取前确保变量`x`、`y`、`z`已初始化,或使用默认值,以防未读取到的数据影响后续逻辑。
当使用Delphi的ReadLn从制表符分隔的文件中读取值到一系列变量时,为什么在我单步执行调试器时,某些变量没有被赋值给适当的值?即
x, y, z: Integer; ... ReadLn(fh, x, y, z); MessageBox(int2Str(y)); ...
只有y有一个值,x和z是0 …
注意:这是在Mason Wheeler完全有效的答案之后编辑的
Readln将解析输入以及它可以为您提供的变量类型,但如果您的第一个(名称)是一个字符串,它将读取所有内容直到换行.如果要加载制表符分隔文件,我将使用TStringList并将分隔符字符设置为#9.
