こんにちは私は文字列リストにいくつかの値を書いています。そして、文字列リストから値を削除したいと思います。
現在、このように文字列リストに書き込んでいます。
FGamePlay.Locations.strings[0] := ('NumberOfLocations='+inttostr(NOL+1)); //add one to total
FGameplay.Locations.Add(inttostr(Position.x)+inttostr(Position.Y)+'=pos'); //add the location to list
これは私にそのようなリストを返します
INDEX VALUE
[0] NumberOfLocations=4
[1] 23=pos
[2] 34=pos
[3] 24=pos
[4] 52=pos
今、私はこのようにそれを削除しようとします
FGamePlay.Locations.Delete(FGamePlay.Locations.IndexOf(inttostr(ePosition.x)+inttostr(ePosition.Y)));
ePosition.x + ePosition.Yは23、34、24、または52に等しくなります。したがって、その行を削除する必要がありますが、代わりにこの削除行を追加すると、インデックスが範囲外-1になります。この行の直前でコードを停止し、Locations()を調べたところ、これらすべての数値が含まれていました。また、epostionを見て、X、Y値は34だったので、これも正しいです。何か案が?グレンありがとう