Автор | Дэлфи7 |
if ComboBox1.Items='ComboBox' then
скажите плиз в чем ошибка=(
через индекс работать не вариант
какую функцию надо использовать вместо итемс? |
ComboBox1.Items
Это скорее всего коллекцию возвращает, а коллекцию сравнивать со строкой не вариант. Там свойств текст или селектед итем нет? |
ComboBox.Items как наследник класса TStrings имеет много различных свойств и методов. Среди них есть IndexOf
Код:
s: string; //здесь должен быть текст который ищем (добавляет)
k:=combobox1.items.indexof(s);
if k<0 then
k:= combobox1.items.add(s);
// а если мы еще к тому хотим выбрать эту строчку
combobox.itemIndex:=k;
з.ы. какой вопрос, такой ответ. |
ComboBox1.Items.IndexOf('ComboBox');
вернёт индекс элемента с таким значением или -1 если его нет. |
в общем есть комбобокс с элементами.
один из элементов называется ComboBox
в процедуре
procedure TForm1.ComboBox1Change(Sender: TObject);
ставится условие при выборке (пост1)
надо чтоб реагировал по стринговому итемсу.
с индексом все слишком просто, вот видать и дали такую хрень.. |
var
i: Integer;
begin
for i := 0 to ComboBox1.Items.Count - 1 do
if Trim(ComboBox1.Items[i]) = 'ComboBox' then
ShowMessage('Профит!');
end;
Без индексов все еще тупее и проще. |
Items это массив, или список, короче не единичный элемент |
Поле Text задает выбор пользователя или текст, который он ввел.
Свойство ItemIndex задает индекс элемента списка, который выбрал пользователь,
это свойство станет равным -1, если в окне проводилось редактирование.
Если подразумевается, что заранее не известно, что будет в списке. |
для Finardin:
действительно просто.о перечислении Я как-то не подумал.
благодарю) |
0_о
if ComboBox1.Items.IndexOf('ComboBox') >= 0 then
ShowMessage('Профит!'); |
if ComboBox1.Items.IndexOf('ComboBox') >= 0 then
ShowMessage('Профит!');
Или так. ) |