![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Glykaman |
![]()
Сообщение
#1
|
|||
Гость ![]() |
Значит проблема такая я пытался сделать библиотеку процедур. В этой библиотеке мне надо обьявить массив. Паскаль ругается на ошибку 121 неизвесный сертификатор при первом же использовании массива (массив graf). вот исходник: unit DopforGr; ![]() подозреваю что я неправильно обьявил массив или какаято проблема с синтаксисом. ![]() сама по себе процедура должна вызываться из библиотеки зарезервированым словом NEMSAVE(переменная;переменная;имя массива) и должна сохранять файлы с параметрами для графики. Недавно примерно такаяже проблема была у меня при записи в типиризированые типы файлов массивов, но там удалось обойти при помощи циклов и текстовых файлов. Зарание благодарен. ![]() Сообщение отредактировано: klem4 - 5.09.2007 20:59 |
|||
![]() ![]() |
Glykaman |
![]()
Сообщение
#2
|
Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Мужской Реальное имя: артём Репутация: ![]() ![]() ![]() |
Прошу прощения что возвращаюсь к темже баранам. Тестил библиотека работает нормально а вот с использованием возникли проблемы и указывает на Graf :
[code = pas ] program NeoNMooNpaintVersionFORPascal ; uses crt,graph,dopforgr; type TMatrix = array [0..99,0..99] of integer; var cursor:array[0..99,0..99] of boolean ; a,b:integer; x,y:integer; color:byte; name:string[8] ; graf:TMatrix ; Procedure graphinit ; var gm,gd:integer; begin gm:=2; gd:=installuserdriver ('bgi256',nil); initGraph(gd,gm,' '); if graphResult <> grOK then halt(1); end; Procedure WrStr ; begin setcolor(150) ; moveto (401,0); lineto (401,401); lineto (0,401); moveto (401,40); lineto (480,40); SetTextStyle(DefaultFont, HorizDir, 1); ; outtextxy(410,10,'Welcome to') ; outtextxy(410,20,'NeoNMooN Paint for PASCAL') ; outtextxy(410,30,'Glykasoft & NeoNMooN studio') ; outtextxy(410,50,'You need Help? -> F1 ') ; end; Procedure initcolor ; var color2:byte; begin for color2:=0 to 255 do begin setcolor(color2) ; rectangle(color2*2,460,color2*2,480); rectangle(color2*2+1,460,color2*2+1,480); end; end; Procedure nemLOAD ; var dlafor:integer; col:integer; s,d:byte; gFile:text ; begin col:=0; closegraph; write('Input name(8) file please: '); readln(name) ; assign(gFile, name +'.nem') ; reset(gFile) ; readln(gFile,name) ; readln(gFile,col) ; for dlafor:=0 to col do begin readln(gFile,d) ; readln(gFile,s) ; readln(gFile,graf[d,s]) end; close(gFile) ; graphinit; wrstr; initcolor; end; Procedure text ; var printtext:string; begin setfillstyle(0,0); bar(10,410,200,420); setcolor(10) ; outtextxy(10,410,'X='); str(a,printtext); outtextxy(30,410,printtext); outtextxy(50,410,'Y='); str(b,printtext); outtextxy(70,410,printtext); str(color,printtext); outtextxy(90,410,'COLOR -'); outtextxy(150,410,printtext); end; Procedure chek ; begin setcolor(color); setfillstyle(1,color); bar(2*(color-10),430,2*(color+10),455) ; rectangle(color*2,430,color*2,459) ; for y:=0 to 99 do begin for x:=0 to 99 do begin if graf[x,y]<>0 then begin setcolor(graf[x,y]) ;rectangle(4*x+1,4*y+1,4*x+3,4*y+3); end; end; end; setcolor(color); for y:=0 to 99 do begin for x:=0 to 99 do begin if cursor[x,y]=true then rectangle(4*x,4*y,4*x+4,4*y+4); end; end; end; Procedure cursorinit ; var ch:char; begin repeat chek; text ; setcolor(0); ch := readkey; case ch of #75:if a>0 then begin rectangle(4*a,4*b,4*a+4,4*b+4); a:=a-1; cursor[a+1,b]:=false; cursor[a,b]:=true; end; #77:if a<99 then begin rectangle(4*a,4*b,4*a+4,4*b+4);a:=a+1; cursor[a-1,b]:=false; cursor[a,b]:=true; end; #72:if b>0 then begin rectangle(4*a,4*b,4*a+4,4*b+4);b:=b-1; cursor[a,b+1]:=false; cursor[a,b]:=true; end; #80:if b<99 then begin rectangle(4*a,4*b,4*a+4,4*b+4);b:=b+1; cursor[a,b-1]:=false; cursor[a,b]:=true; end; #49:begin rectangle(2*(color+10),430,2*(color+10)-1,455) ;rectangle(color*2,430,color*2,459) ;color:=color-1;end; #51:begin rectangle(2*(color-10),430,2*(color-10)+1,455) ;rectangle(color*2,430,color*2,459) ;color:=color+1;end; #13:graf[a,b]:=color; #63:NEMSAVE('esd','nem', graf ); #66:nemLOAD; {c #99:begin readln(color); end;} else end; until ch = #27 ; end; begin color:=1; cursor[0,0]:=true; graphinit; wrstr; initcolor; cursorinit; closegraph; end. [ /code ] вобще тут много не относящегося к поблеме если в кратце то при компиляции указатель в строке #63:NEMSAVE('esd','nem', graf ); указывает на graf и пишет тип несовместим несмотря на то что graf также принадлежит TMatrix. |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 14:38 |