Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/14: Рейтинг темы: голосов - 14, средняя оценка - 4.86
patrol0

Не могу понять в чем дело,выдает ошибку [Warning] Unit1.pas(90): For loop control variable must be simple local variable

05.12.2010, 12:38. Показов 2828. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids;
 
type
  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    Edit1: TEdit;
    Edit2: TEdit;
    StringGrid2: TStringGrid;
    StringGrid3: TStringGrid;
    Label1: TLabel;
    Label2: TLabel;
    Button1: TButton;
    Button2: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 const
  Nmax=10;
Type
Mas2 = array[1..Nmax,1..Nmax] of extended;   // Îáúÿâëåíèå òèïà
                                             //äâóõìåðíîãî ìàññèâà ðàçìåðíîñòüþ Nmax
Mas1 = array[1..Nmax] of extended;          // Îáúÿâëåíèå òèïà
                                           //îäíîìåðíîãî ìàññèâà ðàçìåðíîñòüþ Nmax
 
var
  Form1: TForm1;
   A : Mas2;            // Îáúÿâëåíèå äâóõìåðíîãî ìàññèâà
  B, Y : Mas1;          // Îáúÿâëåíèå îäíîìåðíûõ ìàññèâîâ
  N, M, i, j : byte;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.FormCreate(Sender: TObject);
begin
 N:=3;       // ×èñëî ñòðîê â ìàññèâå
 M:=3;       // ×èñëî ñòîëáöîâ â ìàññèâå
      Edit1.Text:=FloatToStr(N);
      Edit2.Text:=FloatToStr(M);
 {Çàäàíèå ÷èñëà ñòðîê è ñòîëáöîâ â òàáëèöàõ}
   StringGrid1.RowCount:=N+1;
   StringGrid1.ColCount:=M+1;
   StringGrid2.RowCount:=N+1;
      StringGrid3.RowCount:=N+1;
    {Ââîä â ëåâóþ âåðõíþþ ÿ÷åéêó òàáëèöû íàçâàíèÿ ìàññèâà}
   StringGrid1.Cells[0,0]:='Ìàññèâ A:';
   StringGrid2.Cells[0,0]:='Ìàññèâ B:';
   StringGrid3.Cells[0,0]:='Ìàññèâ Y:';
    {Çàïîëíåíèå âåðõíåãî è ëåâîãî ñòîëáöîâ ïîÿñíÿþùèìè ïîäïèñÿìè}
   for i:=1 to N do begin
    StringGrid1.Cells[0,i]:=' i= '+IntToStr(i);
    StringGrid1.Cells[i,0]:=' j= '+IntToStr(i);
                    end;
 
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
    N:=StrToInt(Edit1.Text);
    M:=StrToInt(Edit2.Text);
 {Çàäàíèå ÷èñëà ñòðîê è ñòîëáöîâ â òàáëèöàõ}
   StringGrid1.RowCount:=N+1;
   StringGrid1.ColCount:=M+1;
   StringGrid2.RowCount:=N+1;
   StringGrid3.RowCount:=N+1;
 {Çàïîëíåíèå âåðõíåãî è ëåâîãî ñòîëáöîâ ïîÿñíÿþùèìè ïîäïèñÿìè}
   for i:=1 to N do StringGrid1.Cells[0,i]:=' i= '+IntToStr(i);
   for i:=1 to M do StringGrid1.Cells[i,0]:=' j= '+IntToStr(i);
end;
 
 
 
procedure TForm1.Button2Click(Sender: TObject);
begin
     try
  {Çàïîëíåíèå ìàññèâà À ýëåìåíòàìè èç òàáëèöû StringGrid1}
  for i:=1 to N do
   for j:=1 to M do
     A[i,j]:=StrToFloat(StringGrid1.Cells[j,i]);
  {Çàïîëíåíèå ìàññèâà B ýëåìåíòàìè èç òàáëèöû StringGrid2}
  for i:=1 to N do
     B[i]:=StrToFloat(StringGrid2.Cells[0,i]);
 
     except
      on ERangeError do begin ShowMessage('Âûõîä çà ïðåäåëû
ìàññèâà. Óìåíüøèòå ðàçìåð ìàññèâà'); Exit; end;
      on EConvertError do begin ShowMessage(' ÿ÷åéêå îòñóòñòâóåò
çíà÷åíèå, ëèáî ÷èñëî ââåäåíî íå ïðàâèëüíî'); Exit; end;
      else begin ShowMessage('Âîçíèêëà íåèçâåñòíàÿ 
èñêëþ÷èòåëüíàÿ ñèòóàöèÿ!'); Exit; end;
     end;
 
      try
     {Óìíîæåíèå ìàññèâà À íà ìàññèâ Â}
  for i:=1 to N do begin
      Y[i]:=0;
   for j:=1 to M do Y[i]:=Y[i]+A[i,j]*B[j];
                   end;
       except
        on EInvalidOp do begin MessageDlg('Íåïðàâèëüíàÿ îïåðàöèÿ ñ ïëàâàþùåé òî÷êîé',mtError,[mbCancel],0);Exit; end;
        on EOverFlow do begin MessageDlg('Ïåðåïîëíåíèå ïðè âûïîëíå-íèè îïåðàöèè ñ ïëàâàþùåé òî÷êîé',mtError,[mbCancel],0); Exit; end;
         else begin MessageDlg('Âîçíèêëà íåèçâåñòíàÿ èñêëþ÷èòåëüíàÿ ñèòóàöèÿ! ',mtError,[mbCancel],0); Exit; end;
       end;
      {Âûâîä ðåçóëüòàòà â òàáëèöó StringGrid3}
   for i:=1 to N do StringGrid3.Cells[0,i]:=FloatToStrf(y[i],fffixed,6,0);
end;
 
 
End.[QUOTE][DELPHI][DELPHI][DELPHI]
[/DELPHI][/DELPHI][/QUOTE][/DELPHI]
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.12.2010, 12:38
Ответы с готовыми решениями:

Warning: For loop control variable must be simple local variable
Реализация метода ДП - программирования для задачи о рюкзаке выдает ошибку Project1.dpr(16): For loop control variable must be simple...

Исправить ошибку For loop control variable must be simple local variable
var q,s,n:integer; a:array of integer; i:integer; Form1: TForm1; implementation {$R *.dfm} procedure...

Ошибка: For loop control variable must be simple local variable
Добрый день , дело вот в чем , написал я процедурку : procedure TForm1.DrawClock; var t:TDateTime; Color : TColor; ...

2
Фрилансер
 Аватар для Mad_Dog
452 / 433 / 117
Регистрация: 01.06.2010
Сообщений: 1,314
05.12.2010, 13:05
Язык учить надо! И не только прогрммирования, но еще и аглицкий в минимальном объеме хотя бы...
Оно тебе пишет, что параметр цикла должен быть локальной переменной
Вот и разбирайся с областью видимости перемнных i,j...
1
12 / 11 / 7
Регистрация: 28.05.2009
Сообщений: 56
05.12.2010, 13:32
Тем более это не ошибка, а всего предупреждение.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.12.2010, 13:32
Помогаю со студенческими работами здесь

Предупреждение: For loop control variable must be simple local variable
Помогите у меня проблема,когда я запускаю программу на Delphi. На Diagram выходит надпись. Unit2.pas(59) For loop control variable must be...

Ошибка For loop control variable must be simple local variable
Добра всем! Ошибка, указанная в топике темы, возникает в таком контексте: function ParseMath (commands : String) : TStringArray; ...

Предупреждение: For loop control variable must be simple local variable
дан массив 3x6 найти максимальный элемент главной диагонали. unit Unit1; interface uses Windows, Messages, SysUtils,...

Ошибка "For loop control variable must be simple local variable"
Товарищи,по какой причине в заданной функции невозможно деление, при умножении программа работает, выдает ошибку grfunc_.pas(101): For...

Ошибка: "for loop control variable must be simple local variable"
как избежать эту ошибку, если массив динамический? procedure TForm1.Button3Click(Sender: TObject); begin randomize; ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru