-1

デフォルトで3つのアイテムを持つコンボボックスがあり、次のようなアイテムを保存したいと思います。

Item1 //don't save
Item2 //Don't save
Items3 //save
//save all futur items added

なぜ私のコードが機能しないのですか?

if Combobox1.ItemIndex > 2 then // i used 2 for test and it's no work
   Combobox1.Items.SaveToFile('util.conf');
end;

Combobox1.ItemIndex> 2の場合に削除すると、すべてのアイテムが保存されます...

この問題を解決する方法は?

4

1 に答える 1

5

アイテムを一時リストにコピーしてから、その一時リストから削除するものを削除します。次に、それを保存します。たとえば、このコードはリストから最初の2つの要素を削除します。

TempList := TStringList.Create;
try
  TempList.Assign(ComboBox1.Items);
  if TempList.Count>0 then
    TempList.Delete(0);
  if TempList.Count>0 then
    TempList.Delete(0);
  TempList.SaveToFile('util.conf');
finally
  TempList.Free;
end;

リストのどの要素を削除する必要があるかを完全に理解しているかどうかはわかりません。関係なく、別のリストにコピーしてそれを保存するという基本的な考え方は、ほぼ間違いなく必要なものです。どの要素を削除する必要があるかを確実に理解することができます。

于 2012-10-29T21:24:00.080 に答える