powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как избавиться от повторений???в ComboBox->Items
8 сообщений из 8, страница 1 из 1
Как избавиться от повторений???в ComboBox->Items
    #32369500
'FaTsO'
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пишу такую вешь:
Form1->Table1->First();
ComboBox2->Items->Clear();
while (!Form1->Table1->Eof)
{
ComboBox2->Items->Add(Form1->Table1->FieldByName(ComboBox1->Text)->AsString);
Form1->Table1->Next();
}
а от повторений как избавиться...у мну Builder 6
...
Рейтинг: 0 / 0
Как избавиться от повторений???в ComboBox->Items
    #32369529
123456789098
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
во первых у тебя извращенный цикл прохода по таблице
Код: plaintext
1.
2.
3.
4.
5.
Form1->Table1->First(); 
while (!Form1->Table1->Eof) 
{ 
...
Form1->Table1->Next(); 
} 

так по-моему красивей
Код: plaintext
1.
2.
for(Form1->Table1->First();!Form1->Table1->Eof;Form1->Table1->Next()){
...
};


а насчет повторяющихся значений могу предложить вытягивать данные SQL запросом (у SELECT есть парамтр DISTINCT который говорит выкидывать повторяющиеся значения).
и раз уж ты данные берешь из базы то тебе навернное стоит обратить внимание на компонент TDBComboBox ... возможно это то что тебе надо
...
Рейтинг: 0 / 0
Как избавиться от повторений???в ComboBox->Items
    #32369546
'FaTsO'
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помоему все равно какой цикл...кому как легче...))) суть от этого не меняется...)))
А что за TDBComboBox чем он лучше...????.
...
Рейтинг: 0 / 0
Как избавиться от повторений???в ComboBox->Items
    #32369551
'FaTsO'
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На счет дистинкта и так вроде все понятно...
только я хотел это программно как нить без запроса дополнительного...))
...
Рейтинг: 0 / 0
Как избавиться от повторений???в ComboBox->Items
    #32369622
Monax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вначале нужно даные подготовить (отфильтровать, SELECT) , а потом вставлять в ComboBox.
Ненужных повторений не будет.
...
Рейтинг: 0 / 0
Как избавиться от повторений???в ComboBox->Items
    #32369668
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Используй DBLookUpComboBox и юзай ListSource
____
...
Рейтинг: 0 / 0
Как избавиться от повторений???в ComboBox->Items
    #32370236
123456789098
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 FaTsO мой тебе совет найди где нибудь (толи книгу, то ли где в тырнете) описание ВСЕХ входящих в комплект билдера (или дельфей) компонентов и посмотри какие есть и какая чего умеет.
Как показывает опыт (сужу по себе, и по седящему рядом менее опытному программеру) если не знаешь что уже есть готовое, то начинаешь придумывать такую хрень что потом страшно подумать (сам на заре программирование в билдере писал вункцию которая работала так же как ShowMessage)

и раз уж ты че та делаешь с базой то в первую очередь обрати внимание на закладки Data Access и Data Control
...
Рейтинг: 0 / 0
Как избавиться от повторений???в ComboBox->Items
    #32372262
RubinDm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
TTable* pTable = Form1->Table1;
TField* pField = pTable->GetFieldByName(ComboBox1->Text);
AnsiString Value;
pTable->First();
while(!pTable->Eof)
{
    AnsiString Value = pField->AsString;
    // Есть ли Value в ComboBox2 ?
    if(ComboBox2->IndexOf(Value) == - 1 )
    {
       // Значения Value в ComboBox2 еще НЕТ!
       // Добавляем Value в ComboBox2 ...
    } // if(ComboBox2->IndexOf(Value) == - 1 )
    else  /* НЕ добавляем Value в ComboBox2 ... */ ;
    pTable->Next();
} // while(!pTable->Eof)

ps: не компилявил, не проверял, но суть должна быть ясна.
И не стоит по сто раз вызывать GetFieldByName в цикле, все
равно возвращается каждый раз указатель на одно и то же
поле.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как избавиться от повторений???в ComboBox->Items
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]