Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.11.2008, 23:17   #1
Devoto
Пользователь
 
Регистрация: 05.07.2008
Сообщений: 17
По умолчанию Помогите найти ошибку

Доброго времени суток!
Помогите найти ошибку. Почему когда пробую компилировать пишет Not enough actual parameters.
Код:
type
  TGamePlay = class(TForm)
    Image1: TImage;
    Label1: TLabel;
    Live: TLabel;
    Label3: TLabel;
    Kill: TLabel;
    Label5: TLabel;
    Score: TLabel;
    SpeedButton1: TSpeedButton;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Button1KeyPress(Sender: TObject; var Key: Char);
   private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  GamePlay: TGamePlay;

implementation

uses Menu;

{$R *.dfm}

function NumFun (Sender: TObject; var SpeedButton1 : TSpeedButton) : integer;
var
Left : integer;
begin
Left := SpeedButton1.Left;
if (Left <= 0) or (Left >= 290) then
NumFun := 0
else NumFun := 15;
end;

procedure TGamePlay.FormClose(Sender: TObject; var Action: TCloseAction);
begin
MainMenu.Left := 250;
end;

procedure TGamePlay.Button1KeyPress(Sender: TObject; var Key: Char);

begin
case Key of
'a' : SpeedButton1.Left := SpeedButton1.Left + NumFun;
'd' : SpeedButton1.Left := SpeedButton1.Left + NumFun;
else Key := Chr(0);
end;

end;

end.
Учиться, учиться и ... ВЫИГРЫВАТЬ!!!
Devoto вне форума Ответить с цитированием
Старый 17.11.2008, 23:35   #2
Роман Радер
Форумчанин
 
Аватар для Роман Радер
 
Регистрация: 16.12.2006
Сообщений: 859
По умолчанию

'a' : SpeedButton1.Left := SpeedButton1.Left + NumFun;
'd' : SpeedButton1.Left := SpeedButton1.Left + NumFun;

Тут ты вызываешь NumFun без параметров, хотя она у тебя
function NumFun (Sender: TObject; var SpeedButton1 : TSpeedButton) : integer;
параметры ты не используешь, логично предположить что ты переделал из события.
вывод: переделай обьявление с
function NumFun (Sender: TObject; var SpeedButton1 : TSpeedButton) : integer;
на
function NumFun : integer;

да, через параметры SpeedButton1 передавать не хорошо. лучше используй так
Left := SpeedButton1.Left;
замени на
Left := GamePlay.SpeedButton1.Left;
Роман Радер вне форума Ответить с цитированием
Старый 17.11.2008, 23:39   #3
Devoto
Пользователь
 
Регистрация: 05.07.2008
Сообщений: 17
По умолчанию

Без параметров нелязя потому как Пишет, что SpeedButton1 - undeclareted.
Учиться, учиться и ... ВЫИГРЫВАТЬ!!!
Devoto вне форума Ответить с цитированием
Старый 18.11.2008, 00:10   #4
Dj_smart
Капсула от спама
Форумчанин
 
Аватар для Dj_smart
 
Регистрация: 04.03.2008
Сообщений: 779
По умолчанию

Дык еще логичнее было использовать:
Код:
function TGamePlay.NumFun: integer;
var
Left : integer;
begin
Left := SpeedButton1.Left;
if (Left <= 0) or (Left >= 290) then
NumFun := 0
else NumFun := 15;
end;
Только ее теперь придётся обьявить:
Код:
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button1KeyPress(Sender: TObject; var Key: Char);
function NumFun: integer;
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг
Dj_smart вне форума Ответить с цитированием
Старый 18.11.2008, 00:26   #5
Devoto
Пользователь
 
Регистрация: 05.07.2008
Сообщений: 17
По умолчанию

Огромное спасибо теперь все работает
Учиться, учиться и ... ВЫИГРЫВАТЬ!!!
Devoto вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите найти ошибку ( с++ ) JOFRIF Помощь студентам 10 23.05.2008 14:34
Помогите найти ошибку! Студентка@ Помощь студентам 3 21.05.2008 14:21
Помогите найти ошибку KnDmPetr Паскаль, Turbo Pascal, PascalABC.NET 1 11.04.2008 15:48
Помогите найти ошибку NeiL Общие вопросы Delphi 7 04.03.2008 07:14