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

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

04.03.2014, 22:38. Показов 1468. Ответов 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
33379 / 21503 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru