Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 07.01.2017
Сообщений: 21
1

Ошибки в коде

26.01.2017, 10:43. Показов 770. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Не могу понять в чём суть ошибки

[Pascal Warning] Unit1.pas(38): W1036 Variable 'j' might not have been initialized
[Pascal Error] Unit1.pas(67): E2081 Assignment to FOR-Loop variable 'i'
[Pascal Error] Unit1.pas(68): E2081 Assignment to FOR-Loop variable 'j'

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
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls;
 
type
  TForm1 = class(TForm)
    PaintBox1: TPaintBox;
    Timer1: TTimer;
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
Const size = 40;
  csize = 12; 
  Colors: array [1..16] of TColor =  
(clRed, clGreen, clYellow, clBlue, clWhite, clGray, clFuchsia, clTeal, 
 clNavy, clMaroon, clLime, clOlive, clPurple, clSilver, clAqua, clBlack); 
var
  Form1: TForm1;
 Points: array[1..size, 1..size] of Integer;
implementation
 
{$R *.dfm}
 
procedure TForm1.FormCreate(Sender: TObject);
var i, j : Integer;
begin
Randomize; 
for i := 1 to size do begin end; {инициализация массива пикселов}
for i := 1 to size do 
Points[i, j] := 1 + Random (csize); {Минимально возможное значение элемента 
массива равно 1}
end;
 
procedure TForm1.Timer1Timer(Sender: TObject);
var i, j : Integer; 
c, l, r, u, d : Integer; 
newPoints: array [1..size, 1..size] of Integer;
begin
{Вычислить, какого цвета будет клетка на следующем шаге}
for i := 1 to size do
for j := 1 to size do 
begin
c := Points[i, j] + 1;{Вычисляется «следующий цвет» и запоминается в переменной с} 
if c > csize then c := 1; {После последнего цвета идет первый} 
{Вычисляются индексы для клеток, примыкающих к данной сверху, снизу, слева и 
справа. Края узора как бы «склеены» друг с другом} 
u := i-1;
if u = 0 then u := size;
d := i + 1; 
if d > size then d := 1; 
l := j-1;
if l = 0 then l := size; 
r := j + 1;
if r > size then r := 1;
newPoints [i, j] := Points [i, j]; {Если среди «соседей» цвет отсутствует, то клетка 
остается без изменений}
{Если хотя бы один из «соседей» имеет такой цвет, клетка перекрашивается}
if (Points [u, j] = c) or (Points [d, j] = c) or (Points [i, l] = c) or (Points [i, r] = c)
then new Points [i, j] := c;
c := 320 div size; {Выбирается размер клетки так, чтобы узор занимал, по возможности,
всю область рисования}
{Обновляется узор на экране}
for i := 1 to size do
for j := 1 to size do
begin
 Points [i, j] := newPoints [i, j];
{Настроить цвет контура прямоугольника и цвет закраски}
 PaintBox1.Canvas.Pen.Color := Colors[Points[i, j]];  
 PaintBox1.Canvas.Brush.Color := Colors[Points[i, j]]; 
 {Выполнить рисование} 
 PaintBox1.Canvas.Rectangle (c*(i - 1), c*(j - 1), c*i – 1, c*j – 1);
 {Параметры метода Rectangle подобраны так, чтобы между клетками оставался
небольшой зазор. Чтобы клетки располагались вплотную друг к другу, заменить
(c*(i - 1), c*(j - 1), c*i – 1, c*j – 1) на (c*(i - 1), c*(j - 1), c*i , c*j }
end;
end;
 
end;
 
end.
Миниатюры
Ошибки в коде  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.01.2017, 10:43
Ответы с готовыми решениями:

Ошибки в коде
Доброго времени суток. Программа должна удалять по выбору или четную букву, или четное слово, или...

Ошибки в коде
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics,...

Ошибки в коде
Помогите пожалуйста с кодом программы, не могу никак устранить данные ошибки.ndows,...

ошибки в коде
возникла проблемка. вот код: unit Unit3; interface uses Windows, Messages, SysUtils,...

1
57 / 29 / 8
Регистрация: 03.06.2016
Сообщений: 284
26.01.2017, 10:48 2
Цитата Сообщение от Crockett Посмотреть сообщение
[Pascal Warning] Unit1.pas(38): W1036 Variable 'j' might not have been initialized
[Pascal Error] Unit1.pas(67): E2081 Assignment to FOR-Loop variable 'i'
[Pascal Error] Unit1.pas(68): E2081 Assignment to FOR-Loop variable 'j'
Нельзя в цикле изменять счётчик цикла или использовать его для вложенного цикла как счётчик... Короч, ты пишешь:
Delphi
1
2
3
4
{Вычислить, какого цвета будет клетка на следующем шаге}
for i := 1 to size do
for j := 1 to size do 
begin
А дальше не закрывая цикл пишешь
Delphi
1
2
3
4
{Обновляется узор на экране}
for i := 1 to size do
for j := 1 to size do
begin
Но, i и j уже используются выше стоящим кодом...
1
26.01.2017, 10:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.01.2017, 10:48
Помогаю со студенческими работами здесь

Ошибки в коде
Здравствуйте. Я уже голову сломал с этим примером. Нашел в интернете решение на свой вопрос, в виде...

ошибки в коде
Нашел код чтоб снифферы закрывал но ошибки показывает( unit Unit1; interface uses ...

Исправить ошибки в коде
делаю в делфи прогу находит ашипку в 12 строке, пачиму так? procedure...

Ошибки в коде программы
Такая проблема,срочно нужно в скором времени сдавать программу,вроде доделал основное что нужно...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru