Об игре
Новости
Войти
Регистрация
Рейтинг
Форум
7:50
2415
 online
Требуется авторизация
Вы не авторизованы
   Форумы-->Форум для внеигровых тем-->

АвторДэлфи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('Профит!');


Или так. )
К списку тем
2007-2025, онлайн игры HeroesWM