13 / 13 / 0
Регистрация: 17.08.2011
Сообщений: 172
1

Доступ к конкретному элементу ComboBox

19.09.2014, 10:14. Показов 4145. Ответов 5
Метки нет (Все метки)

Добрый день. Как получить значение элемента из ComboBox?
Пытался сделать так:

C++
1
2
String S;
S=ComboBoxEx1->Items[3];
При компиляции выдаёт ошибку: "E2285 Could not find a match for 'operator UnicodeString::=(TStrings)'"

Нашёл такой вариант:
C++
1
S=ComboBoxEx1->Items[3].ToString();
Компилируется, программа запускается, но сразу же вылетает с сообщением: "Project ... raised exception class ... with message 'access violation at ..."

Вот код, что я написал для примера:

C++
1
2
3
4
5
6
7
8
9
10
11
12
void __fastcall TForm1::FormCreate(TObject *Sender)
{
    String S;
    for (int i = 0; i < 10; i++) {
        S="item_"+IntToStr(i);
        ComboBox1->Items->Add(S);
        ComboBoxEx1->Items->Add(S);
    }
 
    S=ComboBoxEx1->Items[3].ToString();
    Form1->Caption=S;
}

Вообще, по идее, надо получать элементы из ComboBoxEx (хочу сделать сортировку), но экспериментирую пока с ComboBox (полагаю, что доступ к элементам будет аналогичным).
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.09.2014, 10:14
Ответы с готовыми решениями:

Обращение к конкретному элементу ListView
Ребята подскажите почему вот так работает: ShowMessage(ListView1-&gt;Selected-&gt;Caption); А вот так не...

Обращение к конкретному элементу ArrayList
Здраствуйте, я хочу получать доступ к конкретному элементому, если это делать с обычными массивами,...

Обращение к конкретному элементу двумерного вектора
Здравствуйте. Делаю лабу и не могу разобраться в некоторых вопросах. Нужно обратиться к...

vector<int>* v; обращение к конкретному элементу
vector&lt;int&gt; *v; v = new vector&lt;int&gt;(); v-&gt;push_back(6); v-&gt;push_back(6); v-&gt;push_back(6);...

5
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32245 / 20885 / 8086
Регистрация: 22.10.2011
Сообщений: 36,126
Записей в блоге: 7
19.09.2014, 10:39 2
Лучший ответ Сообщение было отмечено Obert как решение

Решение

C++
10
    S = ComboBoxEx1->Items->Strings[3];
1
13 / 13 / 0
Регистрация: 17.08.2011
Сообщений: 172
19.09.2014, 10:47  [ТС] 3
Спасибо!
0
13 / 13 / 0
Регистрация: 17.08.2011
Сообщений: 172
20.09.2014, 15:50  [ТС] 4
Да, вот что я подумал, может кому-то потребуется функция сортировки ComboBoxEx, которую я написал? Поскольку в свойствах ComboBoxEx она отсутствует, в отличие от ComboBox.


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
void ComboBoxExSort (TComboBoxEx *C) // сортировка ComboBoxEx
{
    int L=C->Items->Count;
    if (L<2) return;
    String *Itm=new String[L];
 
    for (int i = 0; i < L; i++) Itm[i]=C->Items->Strings[i];
 
    // сортировка пузырьком
    String tmp;
    for (int i = 0; i < L-1; i++) {
        for (int j = 0; j < L-1; j++) {
            if (Itm[j+1]<Itm[j]) {
                tmp=Itm[j+1];
                Itm[j+1]=Itm[j];
                Itm[j]=tmp;
            }
        }
    }
 
    C->Clear();
    for (int i = 0; i < L; i++) C->Items->Add(Itm[i]);
    delete []Itm;
}
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32245 / 20885 / 8086
Регистрация: 22.10.2011
Сообщений: 36,126
Записей в блоге: 7
20.09.2014, 16:11 5
Obert,
C++
1
2
    ComboBoxEx1->ItemsEx->SortType = Listactns::stText;
    ComboBoxEx1->ItemsEx->Sort();
не пробовал? Содержимое ItemsEx прекрасно сортируется по содержимому Caption... Если нужна какая-нибудь хитрая сортировка - переопределяй метод ComboBoxEx1->ItemsEx->OnCompare
1
13 / 13 / 0
Регистрация: 17.08.2011
Сообщений: 172
20.09.2014, 16:25  [ТС] 6
Не пробовал. Спасибо, попробую. Значит, можно стандартными методами? Странно, почему в свойствах для ComboBoxEx отсутствует сортировка...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.09.2014, 16:25
Помогаю со студенческими работами здесь

Задание значения конкретному элементу массива
Доброго времени суток,товарищи.Столкнулся с проблемой на поиски которой уже потратил неделю,но так...

Как обратиться к конкретному элементу массива?
не понимаю, как используя дженерики, вывести конкретный элемент массива. в виде: номер...

Перейти с одной html страницы на другую, но к конкретному элементу
У меня была идея реализовать это через javascript, можно при клике на ссылку менять ссылку на место...

Каким образом обращаться к конкретному элементу в массиве структур?
Предположим, есть структура: struct product { char name double urojay; }; И есть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru