代码在Pascal中出现106错误,我不知道为什么
我对帕斯卡还是相当陌生的,我会犯这些错误,我不知道为什么。我们将非常感谢您的帮助代码在Pascal中出现106错误,我不知道为什么,pascal,Pascal,我对帕斯卡还是相当陌生的,我会犯这些错误,我不知道为什么。我们将非常感谢您的帮助 Runtime error 106 at $004015DFF $004015DF $004016D2 $004016FD $004078D1 如果你们想看的话,这是我的代码 program BasicReadWrite; type Arra
Runtime error 106 at $004015DFF
$004015DF
$004016D2
$004016FD
$004078D1
如果你们想看的话,这是我的代码
program BasicReadWrite;
type
ArrayOfPersons = record
name: String;
age: String;
end;
procedure WriteLinesToFile(var myFile: TextFile);
begin
WriteLn(myFile, 5);
WriteLn(myFile, 'Fred Smith');
WriteLn(myFile, 28);
WriteLn(myFile, 'Jill Jones');
WriteLn(myFile, 54);
WriteLn(myFile, 'John Doe');
WriteLn(myFile, 15);
WriteLn(myFile, 'Samantha Pritchard');
WriteLn(myFile, 19);
WriteLn(myFile, 'Hans Fredrickson');
WriteLn(myFile, 77);
end;
procedure PrintRecordsToTerminal(personArray: ArrayOfPersons; count:
Integer);
begin
WriteLn('Person name: ', personArray.name);
WriteLn('Age: ', personArray.age);
end;
procedure ReadLinesFromFile(var myFile: TextFile);
var
p: ArrayOfPersons;
number: Integer;
begin
number := 0;
while number <= 19 do
begin
ReadLn(myFile, number);
ReadLn(myFile, p.name[number]);
ReadLn(myFile, p.age);
number := number + 1;
end;
end;
程序基本编写;
类型
ArrayOfPersons=记录
名称:字符串;
年龄:弦;
结束;
过程WriteLinesToFile(var myFile:TextFile);
开始
WriteLn(myFile,5);
WriteLn(我的文件“Fred Smith”);
WriteLn(myFile,28);
WriteLn(我的文件“吉尔·琼斯”);
WriteLn(myFile,54);
WriteLn(我的文件“John Doe”);
WriteLn(myFile,15);
WriteLn(我的文件“Samantha Pritchard”);
WriteLn(myFile,19);
WriteLn(我的文件“Hans Fredrickson”);
WriteLn(myFile,77);
结束;
程序PrintRecordsToTerminal(personArray:ArrayOfPersons;计数:
整数);
开始
WriteLn('人名:',personArray.name);
WriteLn('Age:',personArray.Age);
结束;
过程ReadLinesFromFile(var myFile:TextFile);
变量
p:阵列天线;
数字:整数;
开始
编号:=0;
而数字回答直接问题:
我得到这些错误,我不知道为什么
原因是您正在读取一个非数值,而实际需要的是一个数值
写入文本文件时,第一行记录的数量。然后依次跟踪记录信息
您总是在读取记录计数加上记录信息,并在需要记录数据时读取一个数字
您的arrayofperson
声明有问题。名称表示数组,但声明表示单个记录。数字索引用于读取名称的单个字符,而不是记录的数组元素。修复声明并正确索引记录
const cMaxPersons = 20;
type
TPerson = record
name: String;
age : Integer;
end;
ArrayOfPersons = array[0..cMaxPersons-1] of TPerson;
procedure ReadLinesFromFile(var myFile: TextFile);
var
p: ArrayOfPersons;
i,number: Integer;
begin
ReadLn(myFile, number);
if number <= cMaxPersons then
begin
for i := 0 to number-1 do
begin
ReadLn(myFile, p[number].name);
ReadLn(myFile, p[number].age);
end;
end;
end;
constcmaxpersons=20;
类型
TPerson=记录
名称:字符串;
年龄:整数;
结束;
ArrayOfPersons=TPerson的数组[0..cMaxPersons-1];
过程ReadLinesFromFile(var myFile:TextFile);
变量
p:阵列天线;
i、 数字:整数;
开始
ReadLn(我的文件,编号);
如果数字要回答直接问题:
我得到这些错误,我不知道为什么
原因是您正在读取一个非数值,而实际需要的是一个数值
写入文本文件时,第一行记录的数量。然后依次跟踪记录信息
您总是在读取记录计数加上记录信息,并在需要记录数据时读取一个数字
您的arrayofperson
声明有问题。名称表示数组,但声明表示单个记录。数字索引用于读取名称的单个字符,而不是记录的数组元素。修复声明并正确索引记录
const cMaxPersons = 20;
type
TPerson = record
name: String;
age : Integer;
end;
ArrayOfPersons = array[0..cMaxPersons-1] of TPerson;
procedure ReadLinesFromFile(var myFile: TextFile);
var
p: ArrayOfPersons;
i,number: Integer;
begin
ReadLn(myFile, number);
if number <= cMaxPersons then
begin
for i := 0 to number-1 do
begin
ReadLn(myFile, p[number].name);
ReadLn(myFile, p[number].age);
end;
end;
end;
constcmaxpersons=20;
类型
TPerson=记录
名称:字符串;
年龄:整数;
结束;
ArrayOfPersons=TPerson的数组[0..cMaxPersons-1];
过程ReadLinesFromFile(var myFile:TextFile);
变量
p:阵列天线;
i、 数字:整数;
开始
ReadLn(我的文件,编号);
如果您已将文件包含的记录数写入文件;那是“5”。你要读20张唱片。你应该在while循环之前读“number”,然后从0循环到number-1。哦,但是number不是年龄吗?我希望能够记录多达20个数组,那么我该如何做呢?您的ArrayOfPersons
声明有问题。名称表示数组,但声明表示单个记录。而编号
索引用于读取名称的单个字符,而不是记录的数组元素。修正声明并正确索引记录。ProgramBasicReadWrite;类型ArrayOfPersons=记录名称:字符串数组;年龄:字符串数组;结束那么像这样?我真的不确定如何正确索引记录代码>其中TPerson=记录名称:字符串;年龄:整数;结束代码>。根据pascal编译器的不同,您可能需要有一个静态数组声明:ArrayOfPersons=TPerson的数组[1..xx]
对于数组的索引:personArray[number].name
就是一个例子。您已经将文件包含的记录数写入了该文件;那是“5”。你要读20张唱片。你应该在while循环之前读“number”,然后从0循环到number-1。哦,但是number不是年龄吗?我希望能够记录多达20个数组,那么我该如何做呢?您的ArrayOfPersons
声明有问题。名称表示数组,但声明表示单个记录。而编号
索引用于读取名称的单个字符,而不是记录的数组元素。修正声明并正确索引记录。ProgramBasicReadWrite;类型ArrayOfPersons=记录名称:字符串数组;年龄:字符串数组;结束那么像这样?我真的不确定如何正确索引记录代码>其中TPerson=记录名称:字符串;年龄:整数;结束代码>。根据pascal编译器的不同,您可能需要有一个静态数组声明:ArrayOfPersons=TPerson的数组[1..xx]
对于数组的索引:personArray[number].name
就是一个例子。