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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2013, 16:57   #1
guroDragon
Пользователь
 
Регистрация: 09.09.2013
Сообщений: 83
По умолчанию wrong number of parameters specified for call to

Народ, всем привет.
Срочно, пожалуйста, завтра сдавать лабу.
Не могу разобраться, почему прога ругается. Вроде в процедуре количество переменных которые вызываются и количество переменных в самой процедуре верное. Спасибо
Вот кусок кода.
Код:
program Lab7;
uses crt;
const
MaxRecCount=5;
type
rec=record
        key:integer;
        body:array [1..5] of 'a'..'z';
        end;
table=array [1..MaxRecCount] of rec;
var
FileName:string;
go:integer;
F:file of rec;
procedure Menu;
        procedure WriteCenter(word:string);
                Begin
                        GotoXY((WindMaxX div 2)-(length(word) div 2), WhereY);
                        Writeln(word);
                End;
        procedure WriteLeft(word:string);
                Begin;
                        GotoXY(5,WhereY);
                        Writeln(word);
                End;
        Begin
                clrscr;
                WriteCenter('Bla bla');
                Writeln('Press any key to continue');
                readkey;
                clrscr;
                GotoXY(WhereX,3);
                WriteLeft('1               - Show the records');
                WriteLeft('2               - Add the record');
                WriteLeft('3               - Delete the record');
                WriteLeft('4               - Sorting an array');
                WriteLeft('5               - Change the name of the file');
                WriteLeft('Esc             - Exit');
                WriteLeft('Any other keys  - Back to the menu');
                WriteLeft('Press one of these keys to continue');
                case readkey of
                        #27:go:=0;
                        #49:go:=1;
                        #50:go:=2;
                        #51:go:=3;
                        #52:go:=4;
                        #53:go:=5;
                        else go:=6;
                end;

        End;
procedure ShowRecords(FileName:string;ATable:table; ACount:integer);
var
        F:file of rec;
Begin
        Assign(F, FileName);
        {$-}
        Reset (F);
        {$+}
        if IOResult=0 then
        Begin
                ACount:=0;
                while not Eof (F) do
                Begin
                        Inc(ACount);
                        Read (F, ATable[ACount]);
                End;
        Close (F);
        Writeln('The records are successfully loaded from the file: ',FileName);
        Writeln('The number of the records is: ',ACount);
        End
        else writeln('ERROE: File is not found!');
End;


Begin
        repeat
        clrscr;
        Menu;;
        case go of
                0:break;
                1:ShowRecords;
                else continue;
                end;
                readkey;
        until go=0;
end.
guroDragon вне форума Ответить с цитированием
Старый 11.12.2013, 17:04   #2
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Цитата:
1:ShowRecords;
Цитата:
Вроде в процедуре количество переменных которые вызываются и количество переменных в самой процедуре верное
Нестыковка
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 11.12.2013, 21:53   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Luuzuk Посмотреть сообщение
Цитата:
1:ShowRecords;

Вроде в процедуре количество переменных которые вызываются и количество переменных в самой процедуре верное
Нестыковка
+1

добавлю, что ещё, похоже, не хватает модификаторов var в описании процедуры (похоже, что она должна читать записи из файла в массив):
Код:
procedure ShowRecords(FileName:string;var ATable:table; var ACount:integer);
Serge_Bliznykov вне форума Ответить с цитированием
Старый 11.12.2013, 22:14   #4
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

А это
Код:
procedure Menu;
procedure WriteCenter(word:string);
что означает?
В модулях, в interface так делают.
Я просто не пойму, что это значит в program
type_Oleg вне форума Ответить с цитированием
Старый 11.12.2013, 22:16   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Так то вложенная в Menu процедура и не одна
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Побитовые операторы (number && + number | 0 || 0) Викдон JavaScript, Ajax 0 05.10.2011 20:34
wrong parameters lea dx, name Farrel Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 21.05.2011 23:18
probaby no zero prefix for hex;or no 'h' suffix;or wrong addressing; or undefined var:number Farrel Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 13.03.2011 11:13
invoke = push+call \ ddinvoke = ?+push+call blinkapec Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 7 03.02.2011 01:52