Аватар для softonet
32 / 32 / 8
Регистрация: 17.04.2011
Сообщений: 201

Неправильно удаляет строки из StringGrid

09.04.2013, 14:59. Показов 1308. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
он вместо удаления переносит в конец таблицы
C++
1
2
3
4
5
6
 class TProxyGrid : public TStringGrid
    {
        public:
         using TStringGrid::DeleteRow;
    };
    ((TProxyGrid*)StringGrid1)->DeleteRow(StringGrid1->Row);
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.04.2013, 14:59
Ответы с готовыми решениями:

Неправильно удаляет узел из бинарного дерева
Помогите подправить фунцию SearchDelete...Почему-то не работет. //13. Побудувати довільне бінарне дерево, зчитавши числові значення...

StringGrid неправильно закрашиваются ячейки
mtx - динамический двумерный массив, в котором хранятся координаты ячеек (номер столбца и строки), count - количество ячеек, переменніе...

Неправильно выводится результат в StringGrid
Здравствуйте. Помогите найти ошибку в программе. Дана целочисленная квадратная матрица. Расположить столбцы матрицы по возрастанию суммы...

9
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33395 / 21505 / 8236
Регистрация: 22.10.2011
Сообщений: 36,901
Записей в блоге: 12
09.04.2013, 15:08
"Он" вообще-то это и должен делать:
Delphi
1
2
3
4
5
procedure TCustomGrid.DeleteRow(ARow: Longint);
begin
  MoveRow(ARow, RowCount - 1);
  RowCount := RowCount - 1;
end;
Так что работает, как раз, правильно. Другое дело - что это не то, что тебе нужно, но это уже твои проблемы. Очищай Row, который только что был удален, и не будет подобных забот.
1
 Аватар для softonet
32 / 32 / 8
Регистрация: 17.04.2011
Сообщений: 201
10.04.2013, 10:57  [ТС]
Цитата Сообщение от UI Посмотреть сообщение
"Он" вообще-то это и должен делать:
Delphi
1
2
3
4
5
procedure TCustomGrid.DeleteRow(ARow: Longint);
begin
  MoveRow(ARow, RowCount - 1);
  RowCount := RowCount - 1;
end;
Так что работает, как раз, правильно. Другое дело - что это не то, что тебе нужно, но это уже твои проблемы. Очищай Row, который только что был удален, и не будет подобных забот.
и мне бы код С++
а можно поподробнее что и куда вставить?

Добавлено через 19 часов 45 минут
Тема актуальна
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
10.04.2013, 11:57
просто в h-файле вписываете__
C++
1
2
3
4
5
6
7
8
9
class CG : public TStringGrid
{
public:
  using TStringGrid::DeleteRow;
};
class TForm1 : public TForm
{
__published:
 . . .
и затем, например, в обработчике (в файле .cpp) __
C++
1
2
3
4
void __fastcall TForm1::Button1Click(TObject *Sender)
{
   ((CG*)StringGrid1)->DeleteRow(StringGrid1->Row);
}
1
 Аватар для softonet
32 / 32 / 8
Регистрация: 17.04.2011
Сообщений: 201
10.04.2013, 12:13  [ТС]
nick42, в какой h файл и в какое место?
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
10.04.2013, 12:21
место, по моему, очевидно...( в примере для Unit1.h видно: перед определением класса TForm1, хотя это и не принципиально)
1
 Аватар для softonet
32 / 32 / 8
Регистрация: 17.04.2011
Сообщений: 201
10.04.2013, 12:25  [ТС]
разобрался но всё равно неправельно работает
он вместо удаление перемещает в конец вот скрины
я взял удалил САХАРОВА а он просто переместился
Миниатюры
Неправильно удаляет строки из StringGrid   Неправильно удаляет строки из StringGrid  
0
 Аватар для softonet
32 / 32 / 8
Регистрация: 17.04.2011
Сообщений: 201
10.04.2013, 12:35  [ТС]
nick42, в чём может быть проблема?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33395 / 21505 / 8236
Регистрация: 22.10.2011
Сообщений: 36,901
Записей в блоге: 12
10.04.2013, 12:39
Лучший ответ Сообщение было отмечено volvo как решение

Решение

Ну ты код видел, который выполняется при DeleteRow? Он перемещает строку с указанным индексом в конец грида, и уменьшает число строк, за счет чего создается иллюзия удаления строки. Зачем ты после этого опять увеличил RowCount? Либо, если уж увеличиваешь RowCount - то делай так:
C++
1
2
3
    ((TProxyGrid*)StringGrid1)->DeleteRow(StringGrid1->Row);
    StringGrid1->Rows[StringGrid1->RowCount]->Clear(); // Удаляешь все данные из строки принудительно
    StringGrid1->RowCount = StringGrid1->RowCount + 1;
1
 Аватар для softonet
32 / 32 / 8
Регистрация: 17.04.2011
Сообщений: 201
10.04.2013, 12:47  [ТС]
Ребят всем огромное спасибо помогло!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.04.2013, 12:47
Помогаю со студенческими работами здесь

Содержимое выделенной строки из первого StringGrid-а перенести во второй StringGrid
Нужно написать программу которая выполняет следующие действия. Есть два StringGrid. По нажатия на кнопку, Содержимое выделенной строки из...

ListBox & StringGrid. Неправильно работает код
Добрый день! Вот отрезок кода, в котором при нажатии на 1 строку ListBox'a происходит загрузка файла в StringGrid2 и некоторые ячейки из...

StringGrid неправильно отображает русские буквы из текстового файла базы txt
StringGrid неправильно отображает русские буквы из текстового файла базы txt. Программу писал когда была установлена винда 8.1. Все...

Не удаляет строки из таблицы
Всех с наступающим! Не понимаю почему не удаляет строки из бд. $query=mysql_query("SELECT * FROM `screenshots` WHERE...

Макрос не удаляет строки по условию:(
Добрый день! Суть: есть файл, из которого нужно удалить строки, сумма в которых меньше 1 млн. Эта сумма расположена в определённом столбце....


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера 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. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru