Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 03.12.2012
Сообщений: 13

Программа должна загружать фамилии из таблицы, и первые буквы фамилий помещать в combobox без повторений

04.03.2014, 22:38. Показов 1492. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Программа должна загружать фамилии из таблицы, и первые буквы фамилий помещать в combobox без повторений
то что сделал я работает неправильно, картинка во вложении
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void __fastcall TForm2::Button1Click(TObject *Sender)
{
    TAnketa->First();
    AnsiString S[22];
    vector<char> al(TAnketa->RecordCount);
 
    int i = 0;
    while(!TAnketa->Eof)
    {
        S[i] = TAnketa->Fields->FieldByName(AnsiString("ФИО"))->AsString;
        for(int j = 0; j < TAnketa->RecordCount; j++)
        if((al[j] != S[i][1]))
        {
           al[j] = S[i][1];
           ComboBox1->Items->Add(static_cast<AnsiString>(al[j]));
        }
        TAnketa->Next();
        ++i;
    }
}
Изображения
 
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.03.2014, 22:38
Ответы с готовыми решениями:

Вывести из введенного списка фамилий фамилии, начинающиеся на буквы А и Б
Вывести из введенного списка фамилий фамилии, начинающиеся на буквы А и Б пс. заранее спасибо

Написать функцию с диапазоном фамилий в качестве аргумента, которая возвращает этот диапазон без повторений
Написать функцию КОМАНДЫ, аргументом которой является диапазон, содержащий фамилии студентов. Перед вызовом функции пользователь выделяет...

Первые буквы имени и фамилии в верхний регистр
Подскажите как сделать чтобы Имя Фамилия пользователя всегда выходили первые буквы в верхнем регистре например Иван Иванов, а не иван...

6
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
04.03.2014, 23:26
1.Делаешь запрос с DISTINCT и с ORDER BY
2.Затем пробегаешm циклом по строкам и загоняешь первые буквы в ComboBox таким образом
C++
1
2
3
4
5
6
ComboBox1->Items->Clear();
while(!TAnketa->Eof)
    {       
        ComboBox1->Items->Add(TAnketa->Fields->FieldByName("ФИО")->AsString[1]);
    }
      TAnketa->Next();
0
0 / 0 / 0
Регистрация: 03.12.2012
Сообщений: 13
05.03.2014, 16:52  [ТС]
вот сделал так, но проект зависает
SQL
1
2
3
4
5
       
                ADOQuery1->SQL->Clear();
        ADOQuery1->SQL->ADD("SELECT DISTINCT LEFT(ФИО, 1)");
        ADOQuery1->SQL->ADD("FROM Анкета");
        ADOQuery1->SQL->ADD("ORDER BY LEFT(ФИО, 1)");
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
05.03.2014, 17:29
Что это?
Цитата Сообщение от Adept_Abdulova Посмотреть сообщение
LEFT(ФИО, 1)
1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33404 / 21514 / 8236
Регистрация: 22.10.2011
Сообщений: 36,914
Записей в блоге: 12
05.03.2014, 17:33
Лучший ответ Сообщение было отмечено Adept_Abdulova как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
    ADOQuery1->Active = false;
    ADOQuery1->SQL->Clear();
    ADOQuery1->SQL->Add(L"SELECT DISTINCT LEFT(ФИО, 1) AS Letter");
    ADOQuery1->SQL->Add(L"FROM Анкета");
    ADOQuery1->SQL->Add(L"ORDER BY LEFT(ФИО, 1)");
    ADOQuery1->Active = true;
 
    ComboBox1->Items->Clear();
    while (!ADOQuery1->Eof)
    {
        ComboBox1->Items->Add(ADOQuery1->FieldByName("Letter")->AsString);
        ADOQuery1->Next(); // Внутри цикла
    }
2
0 / 0 / 0
Регистрация: 03.12.2012
Сообщений: 13
05.03.2014, 17:44  [ТС]
Sasha, насколько я понял возвращает указанное количество символов слева

UI, спасибо все заработало
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
05.03.2014, 17:44
Да чё-то я завтыкал по поводу вот этого
Цитата Сообщение от UI Посмотреть сообщение
ADOQuery1->Next(); // Внутри цикла
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.03.2014, 17:44
Помогаю со студенческими работами здесь

С заглавной буквы написать только фамилии и первые слова в предложениях
По программированию в универе задали делать лабу. Задание: Ввести список фамилий студентов в группе, запросить связный текст,...

Как из таблицы составить список фамилий, отсортировать его и вывести в ComboBox?
Добрый день! Не могу реализовать программный код, есть компонент ComboBox1 в него из БД Access определенной таблицы считываются в...

Откорректировать текст, чтобы с заглавной буквы были написаны только фамилии и первые слова в предложениях
1. Ввести список фамилий студентов в группе, запросить связный текст, состоящий из нескольких предложений, где используются ранее введенные...

Найти и вывести все гласные буквы без повторений
Найти и вывести все гласные буквы ( без повторений ), которые встретились в словах и количество слов.

Вывести все гласные латинские буквы без повторений
Разработать функцию MakeStr(const S:string):string, вывести все ее гласные латинские буквы без повторений. Гласными считаются следующие...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru