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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.05.2014, 15:53   #1
Nightway
Пользователь
 
Регистрация: 18.05.2013
Сообщений: 57
По умолчанию Таблица Stringgrid

Как можно сдвинуть все значения на 1 строку вниз?350eacb7df.jpg

вот код заполнения таблицы
Код:
begin
  with strngrd1 do
begin

   rowcount:=Trunc((max-min)/sh2)+1;
  colcount:=6;
  for i:=1 to 100 do
  for j:=1 to 100 do
  cells [j,i]:=floattostrf(ss[i,j],fffixed,5,4);
  strngrd1.rowcount := strngrd1.rowcount + 1;
  for i := 1 to strngrd1.colcount - 1 Do;
  strngrd1.Cols[1][0]:='Ðàéîí ¹1';
  strngrd1.Cols[2][0]:='Ðàéîí ¹2';
  strngrd1.Cols[3][0]:='Ðàéîí ¹3';
  strngrd1.Cols[4][0]:='Ðàéîí ¹4';
  strngrd1.Cols[5][0]:='Ðàéîí ¹5';
  strngrd1.Cols[0][0]:='p(Øàã)\';
  for r:=0 to 100 do
  for d:=1 to 100 do
  strngrd1.Cols [0][r+d]:=strngrd2.Cols[0][r];
  end;
Nightway вне форума Ответить с цитированием
Старый 15.05.2014, 16:08   #2
doktor255
Заблокирован
 
Регистрация: 31.03.2011
Сообщений: 976
По умолчанию

Код:
for r:=0 to 100 do
  for d:=1 to 100 do
  strngrd1.Cols [r][d]:=strngrd1.Cols[r][d - 1];
Может не верно, написал на обум.
doktor255 вне форума Ответить с цитированием
Старый 15.05.2014, 16:23   #3
Nightway
Пользователь
 
Регистрация: 18.05.2013
Сообщений: 57
По умолчанию

Цитата:
Сообщение от doktor255 Посмотреть сообщение
Может не верно, написал на обум.
Это дублирует 1ую строку во все остальные
Nightway вне форума Ответить с цитированием
Старый 15.05.2014, 16:31   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Не for ... to а for ... downto
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 15.05.2014, 16:37   #5
DIONISKA
Форумчанин
 
Регистрация: 07.11.2011
Сообщений: 152
По умолчанию

Делал когда-то так, чтобы облегчить себе жизнь:

Код:
type
TmyStringGrid=class(TStringGrid);
...
strngrd1.RowCount:=strngrd1.RowCount+1; 
with TmyStringGrid(strngrd1) do begin
RowMoved(strngrd1.RowCount-1,0);
DIONISKA вне форума Ответить с цитированием
Старый 15.05.2014, 16:47   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
DIONISKA
Это сдвинет все строки. А автору судя по скрину шапку нужно оставить на месте.
Я бы предложил такой вариант:
Код:
with StringGrid do
 for i:=1 to ColCount-1 do Cols[i].insert(1,'0.0');
P.S. Ну или так:
Код:
var s:TStringList;
begin
 s:=TStringList.Create;
  with StringGrid1 do
   for i:=1 to ColCount-1 do begin
     s.Text:=Cols[i].Text;
     s.Delete(s.Count-1);
     s.Insert(1,'0.0');
     Cols[i].Text:=s.Text;
   end;
  s.Free;
end;
А то Лазарус ругается на первый вариант.
I'm learning to live...

Последний раз редактировалось Stilet; 15.05.2014 в 16:59.
Stilet вне форума Ответить с цитированием
Старый 15.05.2014, 16:55   #7
Nightway
Пользователь
 
Регистрация: 18.05.2013
Сообщений: 57
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Код:
with StringGrid do
 for i:=1 to ColCount-1 do Cols[i].insert(1,'0.0');
Такие дела: db70937011.jpg
Nightway вне форума Ответить с цитированием
Старый 15.05.2014, 17:06   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Такие дела:
См. выше мой пост. Я дописал.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.05.2014, 17:08   #9
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Код:
  StringGrid1.RowCount:=StringGrid1.RowCount+1;
  for i:=StringGrid1.RowCount-1 downto 2 do
    for j:=1 to StringGrid1.ColCount-1 do StringGrid1.Cells[j,i]:=StringGrid1.Cells[j,i-1];
  for j:=1 to StringGrid1.ColCount-1 do StringGrid1.Cells[j,1]:='';
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 15.05.2014, 17:26   #10
Nightway
Пользователь
 
Регистрация: 18.05.2013
Сообщений: 57
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
См. выше мой пост. Я дописал.
спасибо помогло))

p.s

а как можно кнопкой "перезагрузить" программу?
form1.close;
form1.show;
не помогло.
Nightway вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дана таблица StringGrid rostik123 C++ Builder 4 30.09.2012 19:31
Delphi таблица StringGrid Artemij_a Общие вопросы Delphi 2 04.04.2012 23:31
Таблица StringGrid hacker-allv Общие вопросы Delphi 1 26.03.2012 21:43
Delphi7. Таблица StringGrid. Olga67_net Помощь студентам 2 13.05.2010 08:29
таблица stringgrid Hilda Помощь студентам 6 06.05.2010 21:37