forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   MidletPascal (http://forum.boolean.name/forumdisplay.php?f=46)
-   -   модули (http://forum.boolean.name/showthread.php?t=14039)

FighteR 11.01.2011 19:45

модули
 
можете выложить сюда модули которые есть у вас. мне только crt удалось найти.

GRAY_WOLF 11.01.2011 20:58

Ответ: модули
 
Цитата:

Сообщение от FighteR (Сообщение 175275)
можете выложить сюда модули которые есть у вас. мне только crt удалось найти.

Вообще-то модули пишутся самостоятельно для каждой программы свои.
Если ты имеешь ввиду библиотеки то они тут

FighteR 13.01.2011 02:04

Ответ: модули
 
не библиотеки а модули . мож просто кто то писал себе то почему бы и не выложить. может какието интересные реализации можно будет уивидеть

Igor 14.01.2011 19:31

Ответ: модули
 
Был модуль из одной функции, которая выдавала фпс. Нужен?

kizup 15.01.2011 16:54

Ответ: модули
 
Да, выкладывайте всё что не жалко) Будем тестить)

Igor 15.01.2011 18:52

Ответ: модули
 
Я не нашёл, поэтому пишу по памяти

unit aa;

interface
var t:integer;
function fps:integer;

implementation

function fps:integer;
var dt:integer;
begin
dt:=GetRelativeTimeMs-t;
//время с предыдущего вызова функции
t:=t+dt;
fps:=1000 div dt;
end;

initialization
t:=GetRelativeTimeMs;
end.

P.S. простой, неточный, недоработанный))
P.P.S. Можно хранить предыдущее значение функции в ещё одной переменной, и если оно меньше чем 1000/dt, то увеличить на единицу, иначе уменьшить. Результат получится более стабильным
P.P.P.S. но мне лень))

GRAY_WOLF 16.01.2011 18:14

Ответ: модули
 
Цитата:

Сообщение от Igor (Сообщение 175725)
P.P.P.S. но мне лень))


+1

не только ты один такой...

AVL 27.01.2011 21:09

Ответ: модули
 
В какую папку модули сохранять надо?

FighteR 27.01.2011 23:14

Ответ: модули
 
наверно туда же куда и библиотеки

Igor 28.01.2011 19:00

Ответ: модули
 
Модули надо добавлять в проект.
В МП вверху где-то есть

AVL 28.01.2011 19:30

Ответ: модули
 
Я уже разобрался

Igor 29.01.2011 16:43

Ответ: модули
 
Для удобства отладки.
procedure write(a:string);
var key:integer;
begin
setcolor(255,255,255);
fillrect(0,0,getheight,getwidth);
setcolor(0,0,0);
drawtext(a,0,0);
repaint;
repeat
key:=getkeypressed;
until key=ke_key0;
end;
P.S. Писал по памяти.

AVL 28.02.2011 10:05

Ответ: модули
 
У меня вопрос: как передавать из программы в модуль (как параметр функции) и обратно данные типа, определенного как record? Я так понимаю что надо описать этот тип в разделе implementation, но тогда основная программа его не видит.

ViNT 28.02.2011 12:47

Ответ: модули
 
Цитата:

Сообщение от AVL (Сообщение 180863)
У меня вопрос: как передавать из программы в модуль (как параметр функции) и обратно данные типа, определенного как record? Я так понимаю что надо описать этот тип в разделе implementation, но тогда основная программа его не видит.

В implementation не увидит, нужно объявлять в interface.

AVL 20.03.2011 14:15

Ответ: модули
 
Немного перепутал. . . Именно в interface я тип и описывал, но основная программа его не видит. Короче, вопрос: как сделать так, чтобы функция из модуля возвращала значение типа record?

ViNT 20.03.2011 23:18

Ответ: модули
 
Точно не помню, но по-моему достаточно описать отдельный модуль с типами и подключить его к основной программе и к модулю, содержащему функцию.

AVL 21.03.2011 00:07

Ответ: модули
 
Проблема в том, что когда я описываю тип в модуле, то основная программа его не видит.

ViNT 21.03.2011 00:16

Ответ: модули
 
Цитата:

Сообщение от AVL (Сообщение 183358)
Проблема в том, что когда я описываю тип в модуле, то основная программа его не видит.

Увидит, если описать тип в разделе interface, а в главной программе написать
Код:

uses MyUnit;
 var x:MyUnit.MyType;


AVL 21.03.2011 15:19

Ответ: модули
 
В модуле uses указывается в implementation, а функции и переменные - раньше, в interface. Как тогда в модуле использовать типы из др. модуля?

ViNT 23.03.2011 14:51

Ответ: модули
 
А вот тут что-то странное, не получается так.

kizup 28.03.2011 10:06

Ответ: модули
 
Заметил такую вещь...почему нельзя использовать циклическое обращение к модулям, например так:
PHP код:

unit first;
....
uses second;
--------------------------------------
unit second;
....
uses first

При компиляции выдается ошибка

Ksanatos 28.03.2011 13:47

Ответ: модули
 
2AVL
основная прога
Код:

uses
  MyUnit;
var
  VarWithTypeFromUnit : TypeFromUnit;

begin
  VarWithTypeFromUnit:=10;
  VarFromUnit:=VarFromUnit+'bla-bla';
end.

модуль
Код:

unit MyUnit;
interface
  type
    TypeFromUnit : integer;
  var
    VarFromUnit : string;

  procedure ScUnitInit;

implementation
  uses
    MyScUnit; // ответ на второй вопрос в посте 19

  procedure ScUnitInit;
  begin
    VarFromUnit:=ScUnitFunc;
  end;
end.

второй модуль
Код:

unit MyScUnit;
interface
  function ScUnitFunc : string;

implementation
  function ScUnitFunc : string;
  begin
    ScUnitFunc:='bla-bla ';
  end;

end.

2kizup
вроде бы в мп2 рекурсия модулей не реализованна, по крайней мере она там не работает. Насчет 3 версии не знаю, не проверял, но в хелпе ничего нового не замечал об этом.


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot