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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.04.2011, 23:26   #1
nulyjarden
Пользователь
 
Регистрация: 03.04.2010
Сообщений: 26
Сообщение Копирование строк в StringGrid

Мне нужно скопировать выделенную строку из SG1 в SG2.
Но столкнулся с проблемой, выделенная в SG1 строка вставляется в строку SG2 с таким же индексом.То есть если выделил 10 строку то в SG2 она запишется в 10 строку.Мне нужно что бы запись в SG2 шла по порядку c 1 строки и до n.
В SG1 ставлю свойство goRowSelect и пишу код:
Код:
procedure TForm2.strngrd1Click(Sender: TObject);
var
  i: Integer;
  x: Integer;
begin
  For i:= 0 to 3 do begin
  strngrd2.RowCount:= strngrd2.RowCount+1;
  strngrd2.Cells[i,x]:=  strngrd1.Cells[i,x];
  end;
end;
Размерность таблицы: 4 столбца и n строк.
Помогите пожалуйста!
nulyjarden вне форума Ответить с цитированием
Старый 30.04.2011, 11:21   #2
GetMax
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 588
По умолчанию

Пробуй так
Код:
procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
  ARow: Integer; var CanSelect: Boolean);
begin
  X:=ARow;
  CanSelect:=True;
end;

procedure TForm1.Button2Click(Sender: TObject);
Var
  i:Byte;
  ipust:Integer;
begin
  ipust:=-1;
  With StringGrid2 do
  Begin
    For i:=0 to RowCount-1 do
    If Cells[1,i] = '' then
    Begin
      ipust:=i;
      Break
    End;
  End;
  If ipust = -1 then
  Begin
    ShowMessage('Таблица заполнена');
    Exit
  End
  Else
  Begin
    For i:=0 to StringGrid1.ColCount-1 do
    StringGrid2.Cells[i,ipust]:=StringGrid1.Cells[i,x]
  End;
end;
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681
GetMax вне форума Ответить с цитированием
Старый 30.04.2011, 11:41   #3
nulyjarden
Пользователь
 
Регистрация: 03.04.2010
Сообщений: 26
По умолчанию

Цитата:
Сообщение от GetMax Посмотреть сообщение
Пробуй так
Код:
procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
  ARow: Integer; var CanSelect: Boolean);
begin
  X:=ARow;
  CanSelect:=True;
end;

procedure TForm1.Button2Click(Sender: TObject);
Var
  i:Byte;
  ipust:Integer;
begin
  ipust:=-1;
  With StringGrid2 do
  Begin
    For i:=0 to RowCount-1 do
    If Cells[1,i] = '' then
    Begin
      ipust:=i;
      Break
    End;
  End;
  If ipust = -1 then
  Begin
    ShowMessage('Таблица заполнена');
    Exit
  End
  Else
  Begin
    For i:=0 to StringGrid1.ColCount-1 do
    StringGrid2.Cells[i,ipust]:=StringGrid1.Cells[i,x]
  End;
end;
Так почему то не заносится ничего, может я напортачил?
nulyjarden вне форума Ответить с цитированием
Старый 30.04.2011, 12:46   #4
GetMax
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 588
По умолчанию

Цитата:
Так почему то не заносится ничего, может я напортачил?
Куда не заносится? Если первый массив не заполняется, то здесь нет кода на его заполнение.(оставил вам сделать это самостоятельно). Если второй массив не заполняется - показывайте код
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681
GetMax вне форума Ответить с цитированием
Старый 30.04.2011, 13:09   #5
nulyjarden
Пользователь
 
Регистрация: 03.04.2010
Сообщений: 26
По умолчанию

Цитата:
Сообщение от GetMax Посмотреть сообщение
Куда не заносится? Если первый массив не заполняется, то здесь нет кода на его заполнение.(оставил вам сделать это самостоятельно). Если второй массив не заполняется - показывайте код
Первый массив заполнен, просто в вашем коде небольшая ошибка( я Вас не сужу, может быть я не правильно объяснил суть задачи).Но в целом код- то что нужно.Под себя все переделал.
Спасибо огромное за помощь!
nulyjarden вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование выделенной области StringGrid DIgorevich Общие вопросы Delphi 8 08.02.2011 19:46
Копирование строк Tim24 Microsoft Office Excel 19 17.12.2010 07:46
копирование строк kakawkin Microsoft Office Access 2 24.06.2010 01:22
Копирование строк Mikola Общие вопросы Delphi 8 21.09.2007 17:21