3 года назад

Вопрос про Delphi 7

Почему выдает предупреждение [Warning] Unit1.pas(34): For loop control
variable must be simple local variable на строке
game[i].OnClick:=GameClick; в коде
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Pole: TButton;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
game:array[0..15] of TButton;
d,i:integer;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
Var
row,col:integer;
Begin
d:=50;// ?acia? eiiiee
For i:=0 to 15 do
Begin
game[i] := TButton.Create(pole) ;
game[i].Parent := Form1;
game[i].Width :=d ; game[i].Height :=d ;
game[i].Font.Style :=pole.Font.Style ;
game[i].Font.Size :=pole.Font.Size ;
game[i].Caption :=inttostr(i);
col:=i mod 4; //iiia? noieaoa aey eiiiee
row:=i div 4; //iiia? no?iee aey eiiiee
game[i].Top :=d*row;
game[i].Left :=d*col;
game[i].OnClick:=GameClick;
End;
game[0].Caption :=''; End;
Procedure TForm1.GameClick(Sender: TObject);
Var
x0,y0,x,y,index:integer;
Begin
//ii?aaaeaiea iiia?a ia?aoie eiiiee
For i:=0 to 15 do
If game[i].Focused =true Then index:=i;;
// eii?aeiaou ionouoee
x0:=game[0].left;
y0:=game[0].Top;
//eii?aeiaou ia?aoie eiiiee
x:=game[index].left;
y:=game[index].Top;
//anee ninaae ii noieaoo, oi iaiai
If (x0=x) and (abs(y-y0)=d) Then
Begin
game[0].Left :=x; game[0].Top:=y;
game[index].Left :=x0; game[index].Top:=y0;
End;
//anee ninaae ii no?iea, oi iaiai
If (y0=y) and (abs(x-x0)=d) Then
Begin
game[0].Left :=x; game[0].Top:=y;
game[index].Left :=x0; game[index].Top:=y0;
End;
End;
end.

НиЧеГо ЛиЧнОгО (Гость) Компьютеры, Интернет
3

Компьютеры, Интернет: Вопрос про Delphi 7

2 года назад Delphi вопрос

Такой вопрос возник. пишу программу на Delphi(среда программирования Delphi7). Нужно заменить "вид" строки edit1. Чтобы допустим, у меня есть нарисованная в фотошопе строка ввода, вот он должна заменить по "виду" edit1. Думаю, выразился внятно. Заранее спасибо! Скрин:
h t tp: / /hk ar.r u/n 8 c B (убрать все пробелы)

Виктор Зеленкин (Гость) 2 ответа
3
2 года назад Delphi \ Легкий вопрос, не могу понять в чем дело?

Delphi не работает фильтрация (хотя всё правильно вроде)
Belarus G-v Знаток (321), Вопрос открыт 44 минуты назад
Задание: Введите все сведения об учениках заданного класса со средним баллом выше заданного.
Ошибка после запуска через exe-файл, и нажатия на окей: Filter expression incorrectly
terminated.
Через программу: Project Projectl.exe raised exception class EDatabaseError with message 'Filter expression incorrectly terminated'. Process stopped. Use Step or Run to continue.
procedure TForm1...

combinateur combinateur (Гость) 1 ответ
3
2 года назад delphi styles

Здравствуйте! Хотелось бы задать вопрос: как можно поменять стиль программы для delphi ???И есть ли уже готовые варианты?

Abduholiqov (Гость) 1 ответ
3
Ответы (2)
Константин Хацко (Гость) 3 года назад
3

Парой строк выше, где
Var
row,col:integer;
замените на

row,col,i:integer;

Вам компилятор сообщает, что переменная, используемая для цикла for, должна быть простой локальной переменной (то есть, объявлена в той же процедуре)

Пожаловаться
Екатерина Киселёва-Aбаполова (Гость) 3 года назад
3

Вот эти строки исправь:
Var
row,col, i :integer;
Var
x0,y0,x,y,index, i :integer;

И запомни: никогда не делай счетчик цикла i глобальной переменной.

Пожаловаться
Вопрос про Delphi 7 (Компьютеры, Интернет) - вопросы и ответы на все случаи жизни - справочник Компьютеры, Интернет FOR-ASK.RU