Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для мобильных телефонов > MidletPascal > Основной форум

Основной форум Сюда все проблемы связанные с программированием.

Ответ
 
Опции темы
Старый 14.08.2011, 11:01   #1
maestrodan
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
PassCall
Разработчик
 
Аватар для PassCall
 
Регистрация: 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
maestrodan
AnyKey`щик
 
Регистрация: 14.08.2011
Сообщений: 9
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Проблемма с библиотекой

1) опечатка, так как писал с мобилы через оперу мини, другого интернета не было
2) вообще, модуль, но ведь и либа и модуль подключаются в программе через uses?
вобщем, сие чудо компилится, а прога с ним нет...
(Offline)
 
Ответить с цитированием
Старый 17.08.2011, 18:56   #4
PassCall
Разработчик
 
Аватар для PassCall
 
Регистрация: 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)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
maestrodan (18.08.2011)
Старый 18.08.2011, 00:49   #5
maestrodan
AnyKey`щик
 
Регистрация: 14.08.2011
Сообщений: 9
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Проблемма с библиотекой

Интерестно....попробую без модулей...
Просто в обычном паскале ведь не типовые массивы нельзя применить в функциях/процедурах, но раз так
а модуль-это либы создания граф. интерфейса, так же есть вариант с таблицей из "пунктов меню", и "рабочий стол, но я пока их в модуль не включал...
Спасибо за подсказку!
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 15:21.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com