С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.62/21: Рейтинг темы: голосов - 21, средняя оценка - 4.62
Mr.Wolf72
0 / 0 / 0
Регистрация: 01.05.2011
Сообщений: 21
1

Ошибка E2035 Not enough actual parameters

24.09.2011, 22:23. Просмотров 3928. Ответов 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
unit main_game;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, ComCtrls;
 
type
  TForm2 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Label1: TLabel;
    RichEdit1: TRichEdit;
    words1: TMemo;
    procedure FormCreate(Sender: TObject);
 
  private
   function new_slovo (preslovo: string): string;
  public
 
  end;
 
var
 
  Form2: TForm2;
  slognost: byte;
 
implementation
 
{$R *.dfm}
 
function TForm2.new_slovo(preslovo: string): string; // Функция рандомного слова
var a: integer;       //Рандом
    verno: boolean;
    slovo: string;
begin
 
repeat
 a:=random(20);
  case slognost of
 
      1: begin      // Легкая
          if ( length(words1.Lines[a] ) >=5) and ( 8<= length(words1.Lines[a]) ) then
            slovo:=words1.Lines[a];
            verno:=true;
 
         end;
 
      2: begin     // Средняя
          if ( length(words1.Lines[a] ) >=9) and ( 12<= length(words1.Lines[a]) ) then
            slovo:=words1.Lines[a];
            verno:=true;
 
         end;
 
      3: begin     // Сложная
          if ( length(words1.Lines[a] ) >=13) and ( 16<= length(words1.Lines[a]) ) then
            slovo:=words1.Lines[a];
            verno:=true;
 
         end;
 
      4: begin     // Сложная
          if ( length(words1.Lines[a] ) >=16) and ( 20<= length(words1.Lines[a]) ) then
            slovo:=words1.Lines[a];
            verno:=true;
 
         end;
 
 
  end;
 
until verno=true ;
new_slovo:=slovo;
verno:=false;
 
end;
 
 
procedure TForm2.FormCreate(Sender: TObject);
begin
slognost:=1;
edit2.Text:=new_slovo;
 
end;
 
end.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2011, 22:23
Ответы с готовыми решениями:

Ошибка: Not enough actual parameters
у меня массив панелей, называется Blocks. for J:= Low(Blocks) to...

Ошибка Not enough actual parameters
Помогите разобраться в чем ошибки Unit4.pas(54): Not enough actual parameters...

Ошибка: Not enough actual parameters
Не могу никак освоить процедуры, в ютубах процедуры пишут так же, в чем ошибка ...

Ошибка Too Many actual parameters
Возникла проблемка. Не понимаю. ... function TCheckFileFolder.CopyFile(Path1,...

Ошибка: Not enough actual parameters
при компиляции выдаёт ошибку &quot;Not enough actual parameters&quot; в функции перед x,...

2
Alex_pac
1293 / 699 / 107
Регистрация: 25.05.2011
Сообщений: 2,158
Записей в блоге: 51
24.09.2011, 22:45 2
во первых результат функции можно брать как result

то есть не

Delphi
1
new_slovo:=slovo;
а

Delphi
1
result:=slovo;
во вторых зайдите на http://translate.google.ru/?hl=ru&tab=wT

и туда это ошибку скопируйте
->>
E2035 Не хватает фактических параметров

Delphi
1
edit2.Text:=new_slovo('hello world'); // как пример
то вы не указали параметры для функции.

если вы считаете что парамет должен быть задан неявно, то можно вот так:

Delphi
1
function TForm2.new_slovo(preslovo: string = 'hello word'): string;
и тогда при вызове можно не указывать, если не нужно.

Delphi
1
edit2.Text:=new_slovo; // preslovo загружено по умолчанию = 'hello word'
1
Arcor
5039 / 1915 / 408
Регистрация: 20.11.2009
Сообщений: 6,261
Записей в блоге: 1
25.09.2011, 04:30 3
практичнее тогда уже использовать перегрузку функций, функции с одинаковыми именами , НО разными входными/выходными параметрами. Раньше не понимал этой структуры, но пришло время, когда пришлось написать аж 5 процедур с разными входными параметрами, но получили они одно имя, практично

используется так:

Delphi
1
function lalala(const value: String): Boolean;overload;
Delphi
1
function lalala(const InPut: String; var OutPut: Integer): Extended; overload;
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.09.2011, 04:30

Not enough actual parameters - ошибка
При компиляции unit Main; interface uses Windows, Messages, SysUtils,...

Ошибка: Too many actual parameters
Приветствую вас уважаемые пользователи! Далее объясню в чём заключается суть...

Ошибка: Not enogth actual parameters
В 70 строке выдает Not enogth actual parameters unit Unit1; interface ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru