Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Huskar
31 / 31 / 11
Регистрация: 03.02.2011
Сообщений: 182
1

Запись, StingGrid и удаление

24.01.2012, 20:36. Просмотров 467. Ответов 6
Метки нет (Все метки)

Добрый вечер. Возникла проблема. на форме есть StringGrid в него заносится информация из StringGrid информация заносится запись. В поле Edit2 допустим водим параметр Год издания(например 1968) и из записи удалем все записи с этим годом издания, в StringGrid'e так же удаляем запись и смещаемся. Теперь вопрос, написал, но у меня удаляет только по 1 записи а не сразу все как нужно и в StringGrid удаляет не ту запись которую мы удалили из Записи, а просто последнюю, что не так помогите исправить
Вот код кнопки обработки удаления.
Delphi
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
procedure TForm1.Button6Click(Sender: TObject);
var i,n,g,q:integer;
begin
g:=StrToInt(Edit2.Text);
n:=StringGrid1.RowCount;
for i:=1 to n do
if res[i].yer = g then
begin
while q+1<n+1   do
begin
res[q-1].name:=res[q].name;
res[q-1].author:=res[q].author;
res[q-1].stran:=res[q].stran;
res[q-1].yer:=res[q].yer;
res[q-1].tema:=res[q].tema;
StringGrid1.Cells[0,q-2]:=StringGrid1.Cells[0,q-1];
StringGrid1.Cells[1,q-2]:=StringGrid1.Cells[1,q-1];
StringGrid1.Cells[2,q-2]:=StringGrid1.Cells[2,q-1];
StringGrid1.Cells[3,q-2]:=StringGrid1.Cells[3,q-1];
StringGrid1.Cells[4,q-2]:=StringGrid1.Cells[4,q-1];
q:=q+1;
end;
StringGrid1.RowCount:=n-1;
end;
 
end;
Добавлено через 12 минут
Попробывал вот так
HTML5
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
procedure TForm1.Button6Click(Sender: TObject);
var i,n,g,q:integer;
begin
g:=StrToInt(Edit2.Text);
n:=StringGrid1.RowCount;
for i:=1 to n do
if res[i].yer = g then
begin
q:=i+1;
while q<n   do
begin
res[q-1].name:=res[q].name;
res[q-1].author:=res[q].author;
res[q-1].stran:=res[q].stran;
res[q-1].yer:=res[q].yer;
res[q-1].tema:=res[q].tema;
StringGrid1.Cells[0,q-2]:=StringGrid1.Cells[0,q-1];
StringGrid1.Cells[1,q-2]:=StringGrid1.Cells[1,q-1];
StringGrid1.Cells[2,q-2]:=StringGrid1.Cells[2,q-1];
StringGrid1.Cells[3,q-2]:=StringGrid1.Cells[3,q-1];
StringGrid1.Cells[4,q-2]:=StringGrid1.Cells[4,q-1];
q:=q+1;
end;
end;
StringGrid1.RowCount:=n-1;
end;
но хотябы удаляет, но опять же не как надо, в сринггриде и не все сразу а только по 1, почему?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.01.2012, 20:36
Ответы с готовыми решениями:

Запись данных из stinggrid в одномерный массив
Люди добрые, приветствую, помогите! Необходимо записать данные из stinggrid в...

StingGrid
ВВести 5 целых чисел с помощью StringGrid, нужно сделать программу которая...

SpinEdit и StingGrid
Подскажите пожалуйста. Есть 4 компонента SpinEdit на одной форме и StingGrid да...

Переделать массив. StingGrid
Надо чтобы задачка была без SpinEdit и сокращений вроде SG, а также без...

StingGrid подсветка символов
Добрый день! Кто нибудь знает как сделать так, чтобы при нажатии на кнопку,...

6
Puporev
Модератор
55465 / 42572 / 29422
Регистрация: 18.05.2008
Сообщений: 100,714
25.01.2012, 10:30 2
http://stringgrid-delphi.ru/delete-row.php
2
DenNik
Непрофессионал
2014 / 1497 / 308
Регистрация: 26.07.2011
Сообщений: 8,133
25.01.2012, 13:12 3
Цитата Сообщение от Puporev Посмотреть сообщение

Не по теме:

Puporev, а есть подобные статьи о других компонентах?

0
Puporev
Модератор
55465 / 42572 / 29422
Регистрация: 18.05.2008
Сообщений: 100,714
25.01.2012, 13:36 4
Цитата Сообщение от DenNik Посмотреть сообщение
Puporev, а есть подобные статьи о других компонентах?
По любому компоненту есть статьи, просто набрать в Гугле типа
компонент StriggGrid в Делфи
0
Mawrat
12833 / 5741 / 1700
Регистрация: 19.09.2009
Сообщений: 8,807
25.01.2012, 13:38 5
Huskar, я как-то раз публиковал набор процедур для работы с TStringGrid. Там, в том числе, есть и процедуры для удаления строк и столбцов.
1
DenNik
Непрофессионал
2014 / 1497 / 308
Регистрация: 26.07.2011
Сообщений: 8,133
25.01.2012, 17:23 6
Цитата Сообщение от Puporev Посмотреть сообщение
По любому компоненту есть статьи, просто набрать в Гугле типа
компонент StriggGrid в Делфи

Не по теме:

это понятно. мне просто сайт понравился - просто и со вкусом, как говорится

0
Puporev
Модератор
55465 / 42572 / 29422
Регистрация: 18.05.2008
Сообщений: 100,714
25.01.2012, 17:37 7
Там написано
Сайт из коллекции Компоненты Delphi
А вот где вся коллекция.....
0
25.01.2012, 17:37
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.01.2012, 17:37

Delphi, StingGrid, lines
Помогите пожалуйста, нужно сделать линии В STRINGGRID'е так, как на рисунке,...

Удалить все строки в StingGrid, кроме первой
Как в StingGrid удалить (не очистить) все строки, оставив только первую...

Запись и удаление строк
1. Удалить первые строки из обоих файлов. 2. Писать строку в конец одного...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru