Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069

Обратный цикл for не коректно работает

25.10.2019, 10:39. Показов 1910. Ответов 4

Студворк — интернет-сервис помощи студентам
Добро всем
Мелочь но не могу догнать...
Я вывожу в StringGrid данные с таблицы и хочу их отобразить чтоб с верху была последняя запись и по убыванию, я сделал обратный цикл но результат тотже. Как без сортировки отобразить таблицу чтоб записи шли с последней к первой?
подозреваю дело в этой строке ADOQuery1->Next(); ?
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
25
26
27
//пробегаю по данным в запросе
for (int i = ADOQuery1->RecordCount - 1; i >= 0; i--)
    {
    //вывожу в StringGrid1
    StringGrid1->Cells[iCol][iRow] = ADOQuery1->Fields->Fields[0]->AsString;      // 0
    iCol++;
    StringGrid1->Cells[iCol][iRow] = ADOQuery1->Fields->Fields[1]->AsString;      // 1
    iCol++;
    StringGrid1->Cells[iCol][iRow] = ADOQuery1->Fields->Fields[2]->AsString;      // 2
    iCol++;
    StringGrid1->Cells[iCol][iRow] =  ADOQuery1->Fields->Fields[3]->AsString;     // 3
    iCol++;
    StringGrid1->Cells[iCol][iRow] =  ADOQuery1->Fields->Fields[4]->AsString;     // 4
    iCol++;
    StringGrid1->Cells[iCol][iRow] =  ADOQuery1->Fields->Fields[5]->AsString;     // 5
    iCol++;
    StringGrid1->Cells[iCol][iRow] =  ADOQuery1->Fields->Fields[6]->AsString;     // 6
    iCol++;
    //добавляю строку в StringGrid1
    StringGrid1->RowCount++;
    //перехожу на следующую строку в StringGrid1
    iRow++;
    //выставляю первый столбец в StringGrid1
    iCol = 0;
    //перехожу на следующую строку в ADOQuery1
    ADOQuery1->Next(); 
    }
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.10.2019, 10:39
Ответы с готовыми решениями:

Gets не коректно работает
gets не коректно работает в следующем коде смысл программы в 2-ух 4 значных строках найти одинаковые символы стоящие в одинаковых...

JS не коректно работает
Привет! Помогите!!!!! Проблема такова. Разробатывал сайт на своем компе. Выложил на hosting. Форма заказа сделана на JavaScript. У меня...

1С 7,7 не работает коректно
Всем здрав, столкнулся с проблемой, 1С 7,7 работает только на 1 из компов. Ошибка "порядок сортировки отличается от системного"...

4
2743 / 1669 / 269
Регистрация: 19.02.2010
Сообщений: 4,420
25.10.2019, 11:19
Лучший ответ Сообщение было отмечено Samrisbe как решение

Решение

Перед циклом:
C++
1
2
StringGrid1->RowCount=ADOQuery1->RecordCount;
iRow=ADOQuery1->RecordCount - 1;
Внутри цикла:
Убрать строку
C++
1
StringGrid1->RowCount++;
Вместо инкремента делать декремент, т.е. iRow--;

Первые строки в указанных парах изменений - чисто для ликвидации возможного мерцания грида при постоянном изменении его размера. Но должно сработать и без них, т.е. только изменением работы с iRow.
1
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
25.10.2019, 12:19  [ТС]
Я забыл написать что есть заголовки столбцов и они слетают,кроме этого все как надо выводит
0
Модератор
 Аватар для D1973
9929 / 6467 / 2457
Регистрация: 21.01.2014
Сообщений: 27,423
Записей в блоге: 3
25.10.2019, 16:15
Samrisbe, если Вы пользуетесь ADOQuery - значит Вы используете SQL-запросы... Если так, что мешает сразу результат запроса отсортировать по нужному полю "по убыванию" (ORDER BY <FieldName> DESC) и выводить без ненужных телодвижений?
1
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
25.10.2019, 22:38  [ТС]
Цитата Сообщение от D1973 Посмотреть сообщение
что мешает сразу результат запроса отсортировать по нужному полю "по убыванию"
Да но у меня тогда отсортируются по порядку а мне надо чтоб с конца в начало писало, я сейчас решу задачу))

Добавлено через 6 минут
Так исполняется как надо:
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
25
26
27
28
//выставляю количество строк в StringGrid1
  StringGrid1->RowCount=ADOQuery1->RecordCount +1;
  iRow=ADOQuery1->RecordCount;
  //пробегаю по данным в запросе
  for (int i = ADOQuery1->RecordCount - 1; i >= 0; i--)
    {
    //вывожу в StringGrid1
    StringGrid1->Cells[iCol][iRow] = ADOQuery1->Fields->Fields[0]->AsString;      // 0
    iCol++;
    StringGrid1->Cells[iCol][iRow] = ADOQuery1->Fields->Fields[1]->AsString;      // 1
    iCol++;
    StringGrid1->Cells[iCol][iRow] = ADOQuery1->Fields->Fields[2]->AsString;      // 2
    iCol++;
    StringGrid1->Cells[iCol][iRow] =  ADOQuery1->Fields->Fields[3]->AsString;     // 3
    iCol++;
    StringGrid1->Cells[iCol][iRow] =  ADOQuery1->Fields->Fields[4]->AsString;     // 4
    iCol++;
    StringGrid1->Cells[iCol][iRow] =  ADOQuery1->Fields->Fields[5]->AsString;     // 5
    iCol++;
    StringGrid1->Cells[iCol][iRow] =  ADOQuery1->Fields->Fields[6]->AsString;     // 6
    iCol++;
    //перехожу на следующую строку в StringGrid1
    iRow--;
    //выставляю первый столбец в StringGrid1
    iCol = 0;
    //перехожу на следующую строку в ADOQuery1
    ADOQuery1->Next();
    }
Добавлено через 2 часа 43 минуты
Цитата Сообщение от D1973 Посмотреть сообщение
(ORDER BY
Спасибо это тоже дописал
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.10.2019, 22:38
Помогаю со студенческими работами здесь

Не коректно работает домен
Добрый день.у меня вот такая вот проблема,прикрепил домен к сайту , а он у меня не работает...думал проблемы на стороне сервера,а они...

Не коректно работает mmcontrol
Помогите, на моем компе перестал работать mmcontrol.(на форму добавляется этот компонент, но но при запуске звук/видео возпроизводить не...

.hover в мозиле работает не коректно
Проблема в мозиле. Вот сайт http://452121.ru. В шапке выпадающее меню. Собственно выпадает меню, одновременно выпадает фон по событию...

Проверить коректно ли работает программа
Задание: Задание: написать программу, реализующую следующие задания, и реализовать ее графический интерфейс Дан массив размера N. Найти...

Изображение ссылка не коректно работает
Здравствуйте, делаю навигационную панель для сайта по типу: &quot;Главная&quot; &quot;Каталог&quot; &quot;О нас&quot; &quot;Контакт&quot; вывожу списком...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru