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

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

24.01.2012, 20:36. Показов 621. Ответов 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.01.2012, 20:36
Ответы с готовыми решениями:

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

Запись строки в массив, сортировка, удаление и запись в файл
Нужна помощь. Из edit box к нам приходят строки мы их фильтруем. нужно строки записать в массив,...

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

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

6
Почетный модератор
64120 / 47526 / 32736
Регистрация: 18.05.2008
Сообщений: 115,182
25.01.2012, 10:30 2
http://stringgrid-delphi.ru/delete-row.php
2
Житель Земли
2982 / 2969 / 391
Регистрация: 26.07.2011
Сообщений: 11,399
Записей в блоге: 1
25.01.2012, 13:12 3
Цитата Сообщение от Puporev Посмотреть сообщение

Не по теме:

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

0
Почетный модератор
64120 / 47526 / 32736
Регистрация: 18.05.2008
Сообщений: 115,182
25.01.2012, 13:36 4
Цитата Сообщение от DenNik Посмотреть сообщение
Puporev, а есть подобные статьи о других компонентах?
По любому компоненту есть статьи, просто набрать в Гугле типа
компонент StriggGrid в Делфи
0
13080 / 5865 / 1706
Регистрация: 19.09.2009
Сообщений: 8,808
25.01.2012, 13:38 5
Huskar, я как-то раз публиковал набор процедур для работы с TStringGrid. Там, в том числе, есть и процедуры для удаления строк и столбцов.
1
Житель Земли
2982 / 2969 / 391
Регистрация: 26.07.2011
Сообщений: 11,399
Записей в блоге: 1
25.01.2012, 17:23 6
Цитата Сообщение от Puporev Посмотреть сообщение
По любому компоненту есть статьи, просто набрать в Гугле типа
компонент StriggGrid в Делфи

Не по теме:

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

0
Почетный модератор
64120 / 47526 / 32736
Регистрация: 18.05.2008
Сообщений: 115,182
25.01.2012, 17:37 7
Там написано
Сайт из коллекции Компоненты Delphi
А вот где вся коллекция.....
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.01.2012, 17:37
Помогаю со студенческими работами здесь

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

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

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

Как заменить StingGrid на DBGrid
Помогите, пожалуйста. Вот код для Stringgrid: StringGrid1-&gt;Cells = ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru