0 / 0 / 0
Регистрация: 01.11.2013
Сообщений: 70
1

Запись данных из stinggrid в одномерный массив

09.12.2013, 05:36. Показов 719. Ответов 14
Метки нет (Все метки)

Люди добрые, приветствую, помогите! Необходимо записать данные из stinggrid в одномерный массив по-очереди. stinggrid содержит 3 столбца и n строк. Надо сначала записать число из Edit5, потом 1-й столбец, потом 2-й и 3-й. Не могу реализовать цикл, потому что он обращается к несуществующей ячейке...
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
begin
  L:= 3*n+1;
  SetLength(Z, L);
  Z[0]:= StrToFloat(Form2.Edit5.Text);
 
  for i:=1 to n-1 do
   begin
 
     for q:=1 to n do
 
      begin
 
        Z[q+i-1]:= StrToFloat(Form2.StringGrid1.Cells[1, q]);
        Z[(q+i-1)+n]:= StrToFloat(Form2.StringGrid1.Cells[2, q]);
        Z[(q+i-1)+n*2]:= StrToFloat(Form2.StringGrid1.Cells[3, q]);
 
      end;
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.12.2013, 05:36
Ответы с готовыми решениями:

Запись данных с DataGridView в одномерный массив
Здравствуйте всем, как можно записать данные с Грид(двумерный массив) в одномерный массив. До этого...

Запись данных из datagridview в одномерный массив
Добрый вечер! В общем, у меня на форме есть dgv (состоящая из одного столбца), в которую...

поиск в базе данных и запись значений строки в одномерный массив
Помогите Поожалуста))) У меня есть база данных access через ADO соединяется с Delphi мне нужно...

Запись, StingGrid и удаление
Добрый вечер. Возникла проблема. на форме есть StringGrid в него заносится информация из StringGrid...

14
Почетный модератор
64227 / 47529 / 32736
Регистрация: 18.05.2008
Сообщений: 115,182
09.12.2013, 12:08 2
Вот пример. Количество строк=3, фиксированных строк и столбцов нет.
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
27
28
procedure TForm1.Button1Click(Sender: TObject);
var i,j:byte;
begin
randomize;
Edit5.Text:=floattostrF(5*random,fffixed,5,2);
for i:=0 to 2 do
for j:=0 to 2 do
stringgrid1.Cells[j,i]:=floattostrF(5*random,fffixed,5,2);
end;
 
procedure TForm1.Button2Click(Sender: TObject);
var n,L,i,q,k:byte;
    Z:array of real;
begin
n:=3;
L:= 3*n+1;
SetLength(Z,L);
Z[0]:= StrToFloat(Edit5.Text);
k:=0;
for i:=0 to n-1 do
for q:=0 to n-1 do
 begin
  inc(k);
  Z[k]:= StrToFloat(StringGrid1.Cells[q,i]);
 end;
for i:=0 to L-1 do
stringgrid2.Cells[i,0]:=floattostrF(z[i],fffixed,5,2);
end;
0
0 / 0 / 0
Регистрация: 01.11.2013
Сообщений: 70
10.12.2013, 05:44  [ТС] 3
Спасибо большое! Приведенный вами код работает) но в моей проге не хочет((

Добавлено через 6 минут
Это наверное, потому что у меня фиксированные столбцы и строки есть?
0
Почетный модератор
64227 / 47529 / 32736
Регистрация: 18.05.2008
Сообщений: 115,182
10.12.2013, 06:30 4
Цитата Сообщение от Shkiperr88 Посмотреть сообщение
потому что у меня фиксированные столбцы и строки есть?
Естественно, индексы же ячеек с числами увеличатся на 1 по строкам и столбцам
0
0 / 0 / 0
Регистрация: 01.11.2013
Сообщений: 70
10.12.2013, 06:33  [ТС] 5
24 Z[k]:= StrToFloat(StringGrid1.Cells[q+1,i+1]); вот так?
0
Почетный модератор
64227 / 47529 / 32736
Регистрация: 18.05.2008
Сообщений: 115,182
10.12.2013, 06:36 6
Да, так
0
0 / 0 / 0
Регистрация: 01.11.2013
Сообщений: 70
10.12.2013, 06:38  [ТС] 7
А не подскажите, во что можно вывести эти параметры, кроме этой же таблицы. Может, как-то в EDIT можно?
0
Почетный модератор
64227 / 47529 / 32736
Регистрация: 18.05.2008
Сообщений: 115,182
10.12.2013, 06:51 8
Цитата Сообщение от Shkiperr88 Посмотреть сообщение
Может, как-то в EDIT можно?
Можно и в Эдит.
Delphi
1
2
for i:=0 to L-1 do
Edit1.Text:=Edit1.Text+'  '+ floattostrF(z[i],fffixed,5,2);
0
0 / 0 / 0
Регистрация: 01.11.2013
Сообщений: 70
10.12.2013, 08:22  [ТС] 9
Благодарю за помощь)

Добавлено через 1 час 16 минут
Цитата Сообщение от Puporev Посмотреть сообщение
Edit1.Text:=Edit1.Text+' *'+ floattostrF(z[i],fffixed,5,2);
этой строчкой он выводить только первое значение (из эдита) и последнее из массива, а надо все...
0
Почетный модератор
64227 / 47529 / 32736
Регистрация: 18.05.2008
Сообщений: 115,182
10.12.2013, 08:33 10
Не знаю что ты там творишь, у меня все выводит
Миниатюры
Запись данных из stinggrid в одномерный массив  
0
0 / 0 / 0
Регистрация: 01.11.2013
Сообщений: 70
10.12.2013, 08:53  [ТС] 11
Код в точности, как у вас, может DELPHI барахлит?)
Миниатюры
Запись данных из stinggrid в одномерный массив  
0
Почетный модератор
64227 / 47529 / 32736
Регистрация: 18.05.2008
Сообщений: 115,182
10.12.2013, 08:56 12
Цитата Сообщение от Shkiperr88 Посмотреть сообщение
Код в точности, как у вас,
Этого не может быть. Просто скопируйте его и выложите.
0
0 / 0 / 0
Регистрация: 01.11.2013
Сообщений: 70
10.12.2013, 09:04  [ТС] 13
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
27
28
29
30
31
32
33
34
procedure TForm1.Button1Click(Sender: TObject);
var i,j:byte;
begin
randomize;
Edit1.Text:=floattostrF(5*random,fffixed,5,2);
for i:=0 to 2 do
for j:=0 to 2 do
stringgrid1.Cells[j+1,i+1]:=floattostrF(5*random,fffixed,5,2);
end;
 
 
 
procedure TForm1.Button2Click(Sender: TObject);
 
var n,L,i,q,k:byte;
    Z:array of real;
begin
n:=3;
L:= 3*n+1;
SetLength(Z,L);
Z[0]:= StrToFloat(Edit1.Text);
k:=0;
for i:=0 to n-1 do
for q:=0 to n-1 do
 begin
  inc(k);
  Z[k]:= StrToFloat(StringGrid1.Cells[q+1,i+1]);
 end;
for i:=0 to L-1 do
Edit2.Text:=Edit1.Text+'; '+ floattostrF(z[i],fffixed,5,2);
 
end;
 
end.
0
Почетный модератор
64227 / 47529 / 32736
Регистрация: 18.05.2008
Сообщений: 115,182
10.12.2013, 09:23 14
Delphi
1
Edit2.Text:=Edit2.Text+'; '+ floattostrF(z[i],fffixed,5,2);//не Edit1.Text+'; '
0
0 / 0 / 0
Регистрация: 01.11.2013
Сообщений: 70
10.12.2013, 09:25  [ТС] 15
ммм сори, за невнимательность)) Все робит, спасибо)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.12.2013, 09:25
Помогаю со студенческими работами здесь

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

Запись в одномерный динамический массив
Доброго времени суток! Записываю в одномерные динамические массивы строки из Excel. Все строки...

Запись в одномерный массив не с нулевого элемента
Добрый день, форумчане. Уже как с неделю учусь CPP и пишу свою программу для вычисления ...

Запись из выбранной строки DataGridView в одномерный массив
Здрвствуйте, у меня такая проблема. У меня есть dataGridView1, заполненная значениями (double) с...


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

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

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