我有一个文件,我想读取该文件并将新值应用于对象。如何使用字符串名称查找所需的对象并更新值。请注意,file.txt中的内容可能超过1000行,并且顺序会更改,因此我没有if语句来检查每个条件。
file.txt
>A 1
>B 2
>D 5
。
desired result
Sample.A := 1;
Sample.B := 2;
Sample.D := 5;
答案 0 :(得分:1)
一种方法是将您的对象声明为由枚举类型(其值为标识符)索引的数组。例如,如果标识符是符号A到Z,则可以将数组定义为:
subtype Index is Character range 'A'..'Z';
type Collection is array(Index) of Integer;
Idx : Index;
Value : Integer;
The_Collection : Collection;
while not End_Of_File(Input_File) loop
Get(Idx);
Get(Value);
Skip_Line;
The_Collection(Idx) := Value;
end loop;
当然,您将需要“附带”适当的I / O包。