Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.10.2007, 16:17   #1
monushka
Форумчанин
 
Аватар для monushka
 
Регистрация: 26.10.2007
Сообщений: 112
По умолчанию Сортировка в StringGrid'е, копирование строк из одного SG в другой

Задача состоит в следующем. Имеется таблица со следующими данными: 1 столбец - наименование оборудования; 2 столбец - место расположения; 5 столбец - оценка тех. состояния; 6 столбец - рекомендации. Необходимо все строки, в которых стоит оценка 3, скопировать во второй стринггрид. Я это сделала вот так:
begin
SG2.Visible:=True;
Label13.Visible:=True;
for i:=1 to SG1.RowCount do
begin
if (SG1.Cells[4,i]='__________3__________') then
begin
for x:=2 to SG2.RowCount do
for y:=0 to 5 do
begin
SG2.Cells[0,x-1]:=SG1.Cells[0,i];
SG2.Cells[1,x-1]:=SG1.Cells[1,i];
SG2.Cells[2,x-1]:=SG1.Cells[2,i];
SG2.Cells[3,x-1]:=SG1.Cells[3,i];
SG2.Cells[4,x-1]:=SG1.Cells[4,i];
SG2.Cells[5,x-1]:=SG1.Cells[5,i];
end;
SG2.RowCount:=SG2.RowCount+1;
end;
SG1.RowCount:=SG1.RowCount+1;
end;
end;

Но в итоге получается, что копируется только значения строки с последней тройкой и столько раз, сколько строк всего имело тройки в оценке.
Помогите пожалуйста! Я уже просто не знаю, что еще можно сделать...
If you wanna make the world a better place take a look at yourself and then make a change!
monushka вне форума Ответить с цитированием
Старый 29.10.2007, 16:59   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Вот здесь решение твоих проблем:http://delphiworld.narod.ru/base/sg_col_sort.html

(Читать внимательно!)

А копирование это в цикле )

Код:
procedure TForm1.Button1Click(Sender: TObject);
var k:integer;
begin
//********* FOR ******************
StringGrid2.RowCount:=2;
for k :=0  to StringGrid1.RowCount-1  do
begin
 if StringGrid1.Cells[1,k]='__________3__________' then begin
  StringGrid2.Rows[StringGrid2.RowCount].Text:=StringGrid1.Rows[k].Text;
  StringGrid2.RowCount:=StringGrid2.RowCount+1
 end;
end;
//******* END FOR ****************{}
end;
P.S. Я домой, пока, если что завтра допокажу чегонить )
I'm learning to live...

Последний раз редактировалось Stilet; 29.10.2007 в 17:04.
Stilet вне форума Ответить с цитированием
Старый 29.10.2007, 17:22   #3
monushka
Форумчанин
 
Аватар для monushka
 
Регистрация: 26.10.2007
Сообщений: 112
По умолчанию

Stilet, спасибо, что пытаетесь мне помочь! Но то, что Вы предложили, не работает. Вообще ничего не копируется.
If you wanna make the world a better place take a look at yourself and then make a change!
monushka вне форума Ответить с цитированием
Старый 29.10.2007, 23:54   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Сообщение от monushka Посмотреть сообщение
Stilet, спасибо, что пытаетесь мне помочь! Но то, что Вы предложили, не работает. Вообще ничего не копируется.
Просто не нужно бездумно переносить тот код, который вам предлагают. Ведь это только вы "с ушами" погрязли в своей проблеме...
У вас было указано условие:
if (SG1.Cells[4,i]='__________3__________') then
Стилет немного перепутал (так у него своих дел хватает):
if StringGrid1.Cells[1,k]='__________3__________' the
Вроде бы нетрудно?
Чуть повнимательнее к своей собственной проблеме и все будет оки...

Последний раз редактировалось mihali4; 29.10.2007 в 23:56.
mihali4 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вставить данные из одного листа (таблицы) в другой kartol Microsoft Office Excel 30 11.08.2008 10:43
Перенос проги с одного ПК на другой Azef Помощь студентам 2 13.05.2008 18:07
Как мне из формы одного проекта запустить другой Diimka Помощь студентам 2 13.12.2007 21:41
Передача файла с одного компа на другой Kocapb Фриланс 4 18.11.2007 18:37
Перенос из одного Image в другой Dimitriys Компоненты Delphi 5 14.07.2007 23:32