Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 22.10.2010, 11:52
aeaeee aeaeee вне форума
Прохожий
 
Регистрация: 22.10.2010
Сообщения: 1
Репутация: 10
По умолчанию Проблемы

Unit1
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls;

type
  TFormGame = class(TForm)
    PanelBar: TPanel;
    PanelGame: TPanel;
    PanelResult: TPanel;
    ButtonNew: TButton;
    ButtonCreate: TButton;
    ButtonExit: TButton;
    Timer1: TTimer;
    ShapeStar: TShape;
    procedure FormCreate(Sender: TObject);
    procedure ButtonCreateClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure ShapeStarMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure ButtonNewClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FormGame: TFormGame;
  Star:TShape;
  n,
  Size,
  f:integer;
  ColorFalse,
  ColorTrue:TColor;

Implementation

uses Unit2;

{$R *.dfm}

procedure TFormGame.ButtonCreateClick(Sender: TObject);
var color:integer;
begin


for f := 1 to n do begin
      Star := TShape.Create(FormGame);
      Star.Name := 'Sh'+IntToStr(f);
      Star.Width := Size;
      Star.Height := Size;
      Star.Top := random(PanelGame.Height - Size);
      Star.Left := random(PanelGame.Height - Size);
      Color := random(2);
      if color = 0 then Star.Brush.Color := ColorFalse
                  else Star.Brush.Color := ColorTrue;
      Star.OnMouseDown := ShapeStarMouseDown;
      Star.Parent := PanelGame;


end;

end;

procedure TFormGame.ButtonNewClick(Sender: TObject);
begin
FormNew.ShowModal;
end;

procedure TFormGame.FormClose(Sender: TObject; var Action: TCloseAction);
begin
for f:=1 to n do ( FindComponent ( 'sh'+IntToStr(f))).Free;

end;

procedure TFormGame.FormCreate(Sender: TObject);
begin
    randomize;
    n := 30;
    Size := 10;
    ColorFalse := Clred;
    ColorTrue := ClGreen;
end;

procedure TFormGame.ShapeStarMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
  Var p:boolean;
begin
      TShape(Sender).visible:=false;

      if TShape(Sender).Brush.Color=ColorFalse then begin
      PanelResult.Font.Color:=clred;
      PanelResult.Caption:='Проигрыш!:(';
      PanelResult.Visible:=True;
      PanelGame.Enabled:=False;
      Exit;
      end;
            p:=false;
            for f := 1 to n do
            if(TShape(FindComponent('sh'+IntToStr(f))).visible=true) and
              (TShape(FindComponent('sh'+IntToStr(f))).Brush.Color=ColorTrue)
                                                    then p:=true;
            if not p then begin
              PanelResult.Font.Color:=clGreen;
      PanelResult.Caption:='Мы выйграли!;)';
      PanelResult.Visible:=True;
      PanelGame.Enabled:=False;
            end;



end;

end.
Unit2
Код:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TFormNew = class(TForm)
    GroupBox1: TGroupBox;
    RadioN: TRadioGroup;
    RadioSize: TRadioGroup;
    Label1: TLabel;
    Label2: TLabel;
    PanelColorTrue: TPanel;
    PanelColorFalse: TPanel;
    ButtonFonTrue: TButton;
    ButtonFonFalse: TButton;
    ButtonNew: TButton;
    ColorDialog: TColorDialog;
    procedure FormCreate(Sender: TObject);
    procedure ButtonFonTrueClick(Sender: TObject);
    procedure ButtonFonFalseClick(Sender: TObject);
    procedure PanelColorTrueClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FormNew: TFormNew;

implementation

{$R *.dfm}

procedure TFormNew.ButtonFonFalseClick(Sender: TObject);
begin
if ColorDialog.Execute then ColorFalse := ColorDialog.Color;
PanelColorFalse.Color := ColorFalse;
end;

procedure TFormNew.ButtonFonTrueClick(Sender: TObject);
begin
if ColorDialog.Execute then ColorTrue  := ColorDialog.Color;
PanelColorTrue.Color := ColorTrue;
end;

procedure TFormNew.FormCreate(Sender: TObject);
begin
PanelColorTrue.Color :=ColorTrue;
PanelColorFalse.Color :=ColorFalse;
end;

end.
Admin: Учимся правильно пользоваться тегами!!

Проблемы появляются в Unit2, вот их описание:
[DCC Error] Unit2.pas(41): E2003 Undeclared identifier: 'ColorFalse'
[DCC Error] Unit2.pas(47): E2003 Undeclared identifier: 'ColorTrue'
[DCC Error] Unit2.pas(53): E2003 Undeclared identifier: 'ColorTrue'
[DCC Error] Unit2.pas(54): E2003 Undeclared identifier: 'ColorFalse'
[DCC Fatal Error] Unit1.pas(42): F2063 Could not compile used unit 'Unit2.pas'

Посоветуйте, что можно сделать, заранее спасибо.

Последний раз редактировалось Admin, 22.10.2010 в 11:57.
Ответить с цитированием
  #2  
Старый 22.10.2010, 12:08
Аватар для Konrad
Konrad Konrad вне форума
Эксперт
 
Регистрация: 19.03.2009
Сообщения: 1,261
Репутация: 45834
По умолчанию

Цитата:
Сообщение от aeaeee

E2003 Undeclared identifier: 'ColorFalse'
E2003 Undeclared identifier: 'ColorTrue'
E2003 Undeclared identifier: 'ColorTrue'
E2003 Undeclared identifier: 'ColorFalse'
E2003 необъявленный идентификатор: "ColorFalse"
E2003 необъявленный идентификатор: "ColorTrue"
E2003 необъявленный идентификатор: "ColorTrue"
E2003 необъявленный идентификатор: "ColorFalse"
Ответить с цитированием
  #3  
Старый 23.10.2010, 16:26
MAD_EVAL MAD_EVAL вне форума
Прохожий
 
Регистрация: 28.11.2009
Сообщения: 16
Репутация: 10
По умолчанию

А ведь и вправду не объявлен!
ColorFalse и ColorTrue - это не родное!
Ответить с цитированием
  #4  
Старый 23.10.2010, 17:10
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Не совсем так. Они объявлены, вот только объявлены они в другом модуле, а его имени в Uses не наблюдается.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 11:56.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter