0 / 0 / 0
Регистрация: 15.09.2014
Сообщений: 55

Чтение массива из StringGrid

29.11.2017, 20:37. Показов 1240. Ответов 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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids;
 
type
  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    Vvedenya: TButton;
    Obchuslenya: TButton;
    Edit1: TEdit;
    Label1: TLabel;
    Edit2: TEdit;
    Label2: TLabel;
    procedure VvedenyaClick(Sender: TObject);
    procedure ObchuslenyaClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
   n,m, j,i,s,k,a: integer;
   mass: array of array of integer;
   mass1: array of integer;
 
 
implementation
 
{$R *.dfm}
 
procedure TForm1.VvedenyaClick(Sender: TObject);
begin
 
n:=StrToInt(Edit1.Text);
 
m:=StrToInt(Edit2.Text);
 
SetLength(mass,n,m);
SetLength(mass1,n);
 
StringGrid1.ColCount:=m+1;
 
StringGrid1.RowCount:=n+2; 
 
 
 
 
 for i:=1 to m do
 
      begin
 
         StringGrid1.Cells[i,0]:=IntToStr(i-1);
 
      end;
 
 StringGrid1.Cells[0,n+1]:='dobutok';
 
  for j:=1 to n do
 
  begin
 
        StringGrid1.Cells[0,j]:=IntToStr(j-1); 
 
  end;
 
 
  for i:=0 to n-1 do
 
 begin
 
   for j:=0 to m-1 do
 
       begin
          mass[i,j]:= Random(50)-20;
 
          StringGrid1.Cells[j+1,i+1]:=IntToStr(mass[i,j]);
       end;
 end;
 
 
 
   for i:=1 to n do
 
   begin
 
   StringGrid1.Cells[i,n+1]:='';
 
   end;
 
 
end;
 
procedure TForm1.ObchuslenyaClick(Sender: TObject);
 
begin
 
     for j:=0 to m-1 do 
 
begin
               mass1[j]:=1;
 
              for i:=0 to n-1 do
 
          begin
 
      mass1[j]:=mass1[j]*mass[i,j];
 
 
          end;
 
 
StringGrid1.Cells[j+1,n+1]:=IntToStr(mass1[j]);
end;
 
 
end;
 
for i:=0 to m-1 do
 
 
for j:=0 to n-1 do
  begin
 a[i,j]:=StrToInt(StringGrid1.Cells[j,i]);
 
 end;
 
end.
с 124 строки идет код который должен отвечать за чтение из StringGrid

Добавлено через 3 часа 10 минут
Актуально
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.11.2017, 20:37
Ответы с готовыми решениями:

Чтение массива из Stringgrid
как считать элементы массива, введенные в Stringgrid вручную? :scratch:

Чтение из StringGrid
Подскажите пожалуйста,в чем ошибка: procedure TForm1.Button7Click(Sender: TObject); var numbers2:TMass; n,k,b:integer; ...

Чтение из файла в StringGrid
Нужно прочитать данные из файла .txt , занеся в StringGrid (т.е вносим данные в колонки и столбцы), а потом вывести в файл .txt (т.е вывод...

3
5930 / 4510 / 1090
Регистрация: 29.08.2013
Сообщений: 28,058
Записей в блоге: 3
29.11.2017, 20:44
2 пути

правильный
при изменении грида вносить изменение в массив процедурой SaveToArray
далее выводим из массива на форму процедурой LoadFormArray, заодно выполняя процедуру CalculateColumns

неправильный
при изменении грида пересчитываем произведение

Событие на изменение грида сам найдешь?
0
0 / 0 / 0
Регистрация: 15.09.2014
Сообщений: 55
29.11.2017, 23:04  [ТС]
Да найду, спасибо за помощ
0
 Аватар для Matan!
1882 / 1016 / 228
Регистрация: 31.05.2013
Сообщений: 6,645
Записей в блоге: 6
30.11.2017, 09:33
Цитата Сообщение от qwertehok Посмотреть сообщение
неправильный
при изменении грида пересчитываем произведение
Почему он неправильный?
При клике по следующей ячейке, либо при выходе из текущей ячейки производится перерасчёт. Норм практика для расчёта типа "runtime".
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.11.2017, 09:33
Помогаю со студенческими работами здесь

StringGrid чтение из файла
Добрый день, подскажите пожалуйста. Есть таблица StringGrid1 (10 колонок) и файл из которого она заполняется в файле строки выглядят...

Сохранение из StringGrid массива в файл и загрузка из файла в StringGrid
Всем доброго времени суток =) У меня есть загрузка массива из StringGrid на Delphi 2010: //загрузка из файла procedure...

Чтение данных из StringGrid
Здравствуйте, товарищи. Имею гембель - есть StringGrid (одна строка, неопределённое кол-во столбцов), в которое могут ввести 4-5 целых...

Сохранение/чтение StringGrid
Приведите пожалуйста примеры сохранения и чтения из файла StringGrid'а, прогуглив,не нашел нормального примера

Сохранение и чтение из StringGrid
Есть следующий код: struct { AnsiString Familia; int NumGroup; int Valuation; }Student; ...


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

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

Новые блоги и статьи
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
PowerShell и онлайн сервисы. Валюта (floatrates.com руб.)
iNNOKENTIY21 11.11.2025
PowerShell функция floatrates-rub Примеры вызова: # Указанная валюта 'EUR' floatrates-rub -Code 'EUR' # Список имеющихся кодов валют floatrates-rub -Available function floatrates-rub {
PowerShell и онлайн сервисы. Погода (RP5.ru)
iNNOKENTIY21 11.11.2025
PowerShell функция Get-WeatherRP5rss для получения погоды с сервиса RP5 Примеры вызова Get-WeatherRP5rss с указанием id 5484 — Москва (восток, Измайлово) и переносом строки:. . .
PowerShell и онлайн сервисы. Погода (wttr)
iNNOKENTIY21 11.11.2025
PowerShell Функция для получения погоды с сервиса wttr Примеры вызова: Погода в городе Омск с прогнозом на день, можно изменить прогноз на более дней, для этого надо поменять запрос:. . .
PowerShell и онлайн сервисы. Валюта (ЦБР)
iNNOKENTIY21 11.11.2025
# Получение курса валют function cbr (] $Valutes = @('USD', 'EUR', 'CNY')) { $url = 'https:/ / www. cbr-xml-daily. ru/ daily_json. js' $data = Invoke-RestMethod -Uri $url $esc = 27 . . .
И решил я переделать этот ноут в машину для распределенных вычислений
Programma_Boinc 09.11.2025
И решил я переделать этот ноут в машину для распределенных вычислений Всем привет. А вот мой компьютер, переделанный из ноутбука. Был у меня ноут асус 2011 года. Со временем корпус превратился. . .
Мысли в слух
kumehtar 07.11.2025
Заметил среди людей, что по-настоящему верная дружба бывает между теми, с кем нечего делить.
Новая зверюга
volvo 07.11.2025
Подарок на Хеллоуин, и теперь у нас кроме Tuxedo Cat есть еще и щенок далматинца: Хочу еще Симбу взять, очень нравится. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru