function classes(o:integer): String;
var allclasses : array[1..7] of String;
begin
allclasses[1]:= 'class1';
allclasses[2]:= 'class2';
allclasses[3]:= 'class3';
allclasses[4]:= 'class4';
allclasses[5]:= 'class5';
allclasses[6]:= 'class6';
allclasses[7]:= 'class7';
classes := allclasses[o];
end;
上に、整数を受け取り、配列に格納された文字列の結果を与える関数を示します。
procedure loadthis(chosen : string);
var f: text;
i : integer;
begin
Assign(f, 'files\'+chosen+'.txt');
Reset(f);
ReadLn(f, i);
MyChar.clas := classes[i];
end;
このプロシージャが呼び出されると、「クラス」関数が呼び出されます。Mycharはグローバル変数であることに注意してください。
begin
loadthis(FileName);
ReadLn;
Readln
end.
Ant thisは、「loadthis」プロシージャを呼び出すメインプログラムです。
何が悪いのかわかりませんが、次のエラーが発生します。
- 指定されたパラメーターの量が間違っています
- 不正な修飾子
両方のエラーは次の行から発生します:
MyChar.clas := classes[i];
。何が悪いのか本当にわかりません。プロシージャから関数を呼び出せないのではないでしょうか。助けてください。