|
Основной форум Сюда все проблемы связанные с программированием. |
14.08.2011, 11:01
|
#1
|
AnyKey`щик
Регистрация: 14.08.2011
Сообщений: 9
Написано 0 полезных сообщений (для 0 пользователей)
|
Проблемма с библиотекой
Здравствуйте, собственно такая проблема:написал модуль, он компилится без проблем, а в проге работать не хочет, даже если прописан только в uses.
Вот текст модуля:
Unit graph;
Interface
Type p1=array[1..5] of string;
P2=array[1..5;1..5] of string;
Var i,j,i1,j1,n,m:integer;
Procedure menu(point:p1;n,i1:integer);
Implementation
Procedure menu(point:p1;n,i1:integer);
Begin
Showcanvas;
Repeat
Setcolor(250,150,50);
Fillrect(0,0,getwidth,getheight);
I1:=1;
Repeat
For i:=1 to n do
If i=i1 then
Begin
Setcolor(20,40,60);
Drawrect(20,20+20*(i-1),50,15);
Setcolor(10,30,50);
Drawtext(point[i],25,20+20*(i-1));
End
Else
Begin
Setcolor(50,50,50);
Drawrect(20,20+20*(i-1),50,15);
Setcolor(0,100,200);
Drawtext(point[i],20,20+20*(i-1));
End
Until getkeypressed<>0;
If keytoaction(getkeypressed)=ga_up then
If i1>1 then
I1:=i1-1;
If keytoaction(getkeypressed)=ga_down then
If i1<n then
I1:=i1+1;
Delay(150);
Repaint;
Until keytoaction(getkeyclicked)=ga_fire;
End;
End.
|
(Offline)
|
|
15.08.2011, 23:48
|
#2
|
Разработчик
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений (для 319 пользователей)
|
Ответ: Проблемма с библиотекой
Хоть я и не часто пользуюсь модулями, но:
1. "P2=array[1..5;1..5] of string;" По моему, размерность отделяется запятой, а не точкой с запятой =\
2. Причем тут библиотека? Это ж модуль!
__________________
Мечта программиста: запрограммировать процесс программирования.
Всё гениальное - просто.
http://passcall.ucoz.com
|
(Offline)
|
|
17.08.2011, 17:35
|
#3
|
AnyKey`щик
Регистрация: 14.08.2011
Сообщений: 9
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Проблемма с библиотекой
1) опечатка, так как писал с мобилы через оперу мини, другого интернета не было
2) вообще, модуль, но ведь и либа и модуль подключаются в программе через uses?
вобщем, сие чудо компилится, а прога с ним нет...
|
(Offline)
|
|
17.08.2011, 18:56
|
#4
|
Разработчик
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений (для 319 пользователей)
|
Ответ: Проблемма с библиотекой
Хм, вообщето компилиться нормально. Только как пользоваться не могу понять.
Кароче если не использовать типы, то все работает.
МОДУЛЬ
Unit graph;
Interface
Var i,j,i1,j1,n,m:integer;
p1:array[1..5] of string;
P2:array[1..5,1..5] of string;
Procedure menu(a,n,i1:integer);
Implementation
Procedure menu(a,n,i1:integer);
Begin
Showcanvas;
I1:=1;
Repeat
Setcolor(250,150,50);
Fillrect(0,0,getwidth,getheight);
For i:=1 to n do
If i=i1 then
Begin
Setcolor(20,40,60);
Drawrect(20,20+20*(i-1),50,15);
Setcolor(10,30,50);
Drawtext(p1[i],25,20+20*(i-1));
End;
Else
Begin
Setcolor(50,50,50);
Drawrect(20,20+20*(i-1),50,15);
Setcolor(0,100,200);
Drawtext(p1[i],20,20+20*(i-1));
End;
If keytoaction(getkeypressed)=ga_up then
If i1>1 then I1:=i1-1;
If keytoaction(getkeypressed)=ga_down then
If i1<n then I1:=i1+1;
Delay(40);
Repaint;
Until keytoaction(getkeyclicked)=ga_fire;
End;
End.
Сам код:
program Module;
uses graph;
begin
graph.p1[1]:='aaa';
graph.p1[2]:='bbb';
graph.p1[3]:='ccc';
graph.p1[4]:='ddd';
graph.p1[5]:='eee';
graph.menu(1,5,5);
drawText('Hello world!', 0, 0);
repaint;
delay(2000);
end.
__________________
Мечта программиста: запрограммировать процесс программирования.
Всё гениальное - просто.
http://passcall.ucoz.com
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
18.08.2011, 00:49
|
#5
|
AnyKey`щик
Регистрация: 14.08.2011
Сообщений: 9
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Проблемма с библиотекой
Интерестно....попробую без модулей...
Просто в обычном паскале ведь не типовые массивы нельзя применить в функциях/процедурах, но раз так
а модуль-это либы создания граф. интерфейса, так же есть вариант с таблицей из "пунктов меню", и "рабочий стол, но я пока их в модуль не включал...
Спасибо за подсказку!
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 15:21.
|