Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.64/22: Рейтинг темы: голосов - 22, средняя оценка - 4.64
0 / 0 / 1
Регистрация: 05.10.2009
Сообщений: 19

Выборка эл-ов в StringGrid

06.11.2009, 23:28. Показов 4217. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго вам.
Задача такая. Таблица состоит из 4 столбцов и n строк. Нужно провести сделать следующее- Нужно поочередно выбрать все повторяющиеся эл-ты в столбце 1, и вывести их без повторений. Для наглядности, если допустим столбец 1 содержит:
1
2
1
То после той "операции" должно получиться
1
2
Но нужно по крайней мере сохранить число повторений для каждого эл-та, так как это понадобится для вычислений. У меня были идеи, но они с треском провалились. Может быть не смог правильно реализовать. Если кто в силе, помогите плз.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.11.2009, 23:28
Ответы с готовыми решениями:

выборка в StringGrid
Добрый день, Предположим, есть StringGrid (40 колонок на, примерно, 1000 строк), содержащий данные о заказах, оплатах и т.д... И...

Выборка tabcontrol в stringgrid
Здравствуйте, делаю записную книжку в tabcontrol.... нужно что бы при нажатии на определенную страницу tabcontrol... на ней указана...

выборка из файла в StringGrid
ребят, мне из файла надо сделать выборку строк по определённому параметру и занести их все в StringGrid. for i:=1 to...

23
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
06.11.2009, 23:34
Baka-kun, я правильно понял что вам нужно каждое значение в столбце встречалось только один раз??? или я не понял вашего вопроса?
Цитата Сообщение от Baka-kun Посмотреть сообщение
и вывести их без повторений
и как это понять? куда вывести?
0
0 / 0 / 1
Регистрация: 05.10.2009
Сообщений: 19
06.11.2009, 23:44  [ТС]
Пардон. Вывести надо в него же. И да, мне нудно чтобы значения встречались без повторений.
0
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
06.11.2009, 23:57
Baka-kun, под выражением "вывести" ты что понимаешь?

Добавлено через 2 минуты
Потому как я не понимаю как можно вывести повторяющиеся элементы в StGr при этом сделать без повторений в ней же...
0
0 / 0 / 1
Регистрация: 05.10.2009
Сообщений: 19
07.11.2009, 00:04  [ТС]
Грубо говоря, есть таблица1 содержащая всего один столбец и n строк. Есть другая таблица2, с одним столбцом, и пока еще не известным кол-вом строк. Из таблицы1 в таблицу2 должны быть скопированы значения, без повторов, но необходимо знать (сохранить) количество повторов для дальнейших вычислений.
0
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
07.11.2009, 00:06
ну так и надо же писать что их таблицы 2 а не одна...
0
0 / 0 / 1
Регистрация: 05.10.2009
Сообщений: 19
07.11.2009, 00:11  [ТС]
Цитата Сообщение от Inadequate Посмотреть сообщение
ну так и надо же писать что их таблицы 2 а не одна...
Я совсем запутался. Последняя моя попытка на данный момент основана была на идеи, вывода всех эл-ов, их сортировки по убыванию. Затем сравнению между собой, сдвиганием, и удалением ненужных(лишних) строк. Ниасилил как говорится.
Если описать задачу подробнее то:
В из таблицы1 в таблицу2 переносятся значения "код" "количество" "цена". сколько бы не было одинаковых значений "Код" в первой таблице, во второй каждое из них(значений) должно быть единственным. А вот значения "Количество" и "Цена" должны складоваться меду собой.
0
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
07.11.2009, 00:20
Тут как говорится много вариантов. Вот некоторые:
1) реализовать перенос через множества, т.е. элемент встречается впервые тогда переносим его во вторую таблицу и во множество, и последующие проверяем на принадлежность множеству.
2) второй более простой идем по столбцу stringgrid1... допустим значение равно 3 мы проходим циклом от i:=0 to stringgrid1.rowcount-1 по второй таблице и проверяем встретится ли нам 3. Если нет то увеличиваем (Stringgrid2.rowcount:=stringgrid2.rowco unt+1) на единицу, и в новую строку вставляем 3, а если встретился то просто переходим к следующему элементу stringgrid1
вот пожалуй и всё
1
0 / 0 / 1
Регистрация: 05.10.2009
Сообщений: 19
07.11.2009, 00:25  [ТС]
(касаемо 2 варианта решения) годно конечно, но мне нужно еще и суммировать некоторые из элементов у которым тоже значение по которому идет выбор равно 3... я написал выше, но насколько понятно...
А 1 вариант я увы, не понял...
0
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
07.11.2009, 00:32
Цитата Сообщение от Baka-kun Посмотреть сообщение
А вот значения "Количество" и "Цена" должны складоваться меду собой
то есть во вторую таблицу должна идти неповторяющаяся сумма? или я не так опять понял...?
0
0 / 0 / 1
Регистрация: 05.10.2009
Сообщений: 19
07.11.2009, 00:34  [ТС]
Да, так. Мне сложно объяснить чтоб было понятней...
0
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
07.11.2009, 00:46
Цитата Сообщение от Baka-kun Посмотреть сообщение
А 1 вариант я увы, не понял...
ну может в вашем случае это и лучше потому как количество элементов множества может меняться в пределах от 0 до 256 (т.е. если таблица большая этот метод не подойдет)

Добавлено через 4 минуты
Цитата Сообщение от Baka-kun Посмотреть сообщение
Да, так. Мне сложно объяснить чтоб было понятней...
ну там тоже самое что и с "Кодом" только сначала нужно сложить значения и переносить их во второй столбец второй таблицы по второму методу... что конкретно вам непонятно по 2 методу?
0
0 / 0 / 1
Регистрация: 05.10.2009
Сообщений: 19
07.11.2009, 00:59  [ТС]
Простимулировав мозг никотином, я пришел к выводу что с помощью второго метода смогу сделать то что нужно. Покрайней мере я представляю это так
Сперва сравнивается StringGrid1.Cells[2,i] таблицы, со всеми эл-ми из втрой. Если повторений не находится, то все нужные эл-ты в его строке вносятся во вторую таблицу. И переход к StringGrid1.Cells[2,i+1]. Если такой эл-т уже был, то элементы просто прибавляются к уже существующим во второй таблице. и опять же StringGrid1.Cells[2,i+1]. И так до проверки всех эл-ов из 1 таблице.
Я правильно вас понял?
0
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
07.11.2009, 01:01
Baka-kun, сейчас кину проект для "Код" остальное допишешь сам...
1
0 / 0 / 1
Регистрация: 05.10.2009
Сообщений: 19
07.11.2009, 01:03  [ТС]
буду премного благодарен
0
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
07.11.2009, 01:05
вот значит загружаешь проект вписываешь в столбец "Код" свои числовые значения среди них повторяющиеся, потом давишь на кнопку между таблицами и смотришь результат...
Вложения
Тип файла: zip StringGrid.zip (7.8 Кб, 29 просмотров)
0
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
07.11.2009, 01:07
да забыл написать у меня rad 2009 поэтому если будет ругаться на вот эту строчку:
Application.MainFormOnTaskbar := True;
просто удали её и нажми F9
0
0 / 0 / 1
Регистрация: 05.10.2009
Сообщений: 19
07.11.2009, 01:09  [ТС]
[Fatal Error] Unit1.pas(7): File not found: 'RpDefine.dcu'
Такие дела...
0
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
07.11.2009, 01:14
Baka-kun, а какая delphi?
0
0 / 0 / 1
Регистрация: 05.10.2009
Сообщений: 19
07.11.2009, 01:16  [ТС]
Delphi 7
на всякий случай
Build 4.453
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.11.2009, 01:16
Помогаю со студенческими работами здесь

Выборка данных из StringGrid и их построчный поиск в StringList
Здравствуйте, прошу вашей помощи, ибо сам я уже отчаялся найти решение. Суть такая: У меня из екселя переносится таблица в...

Delphi 7 Stringgrid Нужно сделать цикл для заполнения Stringgrid данными из другого Stringgrid
Нужно чтобы из Stringgrid1 данные переносились в Stringgrid2 Но ТОЛЬКО ПО УСЛОВИЮ Таблицы Stringgrid2 На рис всё показано. За работающий...

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

Выборка данных из StringGrid
Здравствуйте, Уважаемые Форумчане! Заранее извиняюсь за возможно глупый вопрос и кривость кода, но программист я начинающий. Собственно...

Выборка данных в StringGrid
Надо выбрать данные с условием <4, но почему то не проверяются все данные float var_prog, var_elt; int k; k=0; for (int...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru