Вверх ↑
Этот топик читают: Гость
Ответов: 1321
Рейтинг: 37
#1: 2009-07-29 18:22:28 ЛС | профиль | цитата
И Delphi и Fpc не компилирует вот эту схему
code_14327.txt
Почему
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#2: 2009-07-29 18:27:11 ЛС | профиль | цитата
Посмотри в окне ОТЛАДКА там написано.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 262
Рейтинг: 6
#3: 2009-07-29 18:31:33 ЛС | профиль | цитата
Roma, Copypaste опасен
.. Fatal: Unit name mismatch: 'hiInlineCode_C73D38'..
первая строка в твоем инлайне - unit hiCounter; - и это не правда.
карма: 0

0
Ответов: 1321
Рейтинг: 37
#4: 2009-07-29 18:32:37 ЛС | профиль | цитата
А вот это
code_14328.txt
карма: 0

0
файлы: 1code_14328.txt [1001B] [116]
Ответов: 262
Рейтинг: 6
#5: 2009-07-29 18:41:19 ЛС | профиль | цитата
Roma, Ага! необходим англо-русский словарь
нельзя изменять имя юнита. Поставь новый инлайн и посмотри его код.
unit HiAsmUnit;
карма: 0

1
Голосовали:Roma
Ответов: 1321
Рейтинг: 37
#6: 2009-07-29 18:45:55 ЛС | профиль | цитата
Чета я не понял ,кароче пришли схему, как все правельно нипонять
карма: 0

0
Ответов: 262
Рейтинг: 6
#7: 2009-07-29 18:51:42 ЛС | профиль | цитата

Add(InlineCode,16321286,308,140)
{
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|0:|5: end;|0:|14:implementation|0:|4:end.|
}
Add(MainForm,13057766,259,140)
{
}
карма: 0

0
Ответов: 1321
Рейтинг: 37
#8: 2009-07-29 18:58:24 ЛС | профиль | цитата
Да я это знаю ну вот пример :
Make(delphi)
ver(4.02 build 179)
Add(MainForm,13057766,133,133)
{
}
Add(InlineCode,7224192,189,133)
{
WorkPoints=#43:doInit=Инициализация поля начальной фигурой|39:doProcess=Выполнение одного цикла жизни|21:doDraw=Отрисовка поля|6:doDown|4:doUp|6:doMove|
DataPoints=#21:X=Координата Х кубика|21:Y=Координата У кубика|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|36:uses windows,kol,Share,Debug,OpenGL;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|21: OnDraw:THI_Event;|25: X,Y,Button:THI_Event;|0:|53: procedure doProcess(var _Data:TData; Index:Word);|50: procedure doInit(var _Data:TData; Index:Word);|50: procedure doDraw(var _Data:TData; Index:Word);|0:|50: procedure doDown(var _Data:TData; Index:Word);|50: procedure doMove(var _Data:TData; Index:Word);|48: procedure doUp(var _Data:TData; Index:Word);|5: end;|17: TRPoint = record|12: x,y:real;|14: kx,ky:real;|10: m:real;|14: mv:boolean;|5: end;|0:|0:|14:implementation|0:|17:uses hiMathParse;|0:|3:var|29: pt:array[0..200] of TRPoint;|16: pCount:integer;|16: mpt,lpt:TPoint;|12: tr:boolean;|0:|33:procedure nextPos(var p:TRPoint);|14:var j:integer;|22: cx,cy,u,_p,F:real;|5:begin|21: p.x := p.x + p.kx;|21: p.y := p.y + p.ky;|0:|28: for j := 0 to pCount-1 do|9: begin|26: cx := p.x - pt[j].x;|26: cy := p.y - pt[j].y;|0:|26: u := ArcTan2(cy,cx);|34: _p := sqrt( cx*cx + cy*cy );|19: _p := _p + 1;|32: F := 0.005*p.m*pt[j].m/_p;|34: p.kx := p.kx - F*cos(u)/p.m;|35: p.ky := p.ky -+ F*sin(u)/p.m;|8: end;|4:end;|0:|58:procedure THiAsmClass.doInit(var _Data:TData; Index:Word);|5:begin|23: pt[pCount].x := 10;|23: pt[pCount].y := 10;|25: pt[pCount].kx := 0.0;|25: pt[pCount].ky := 0.0;|25: pt[pCount].m := 40.0;|16: inc(pCount);|24: pt[pCount].x := 100;|23: pt[pCount].y := 20;|25: pt[pCount].kx := 0.0;|25: pt[pCount].ky := 0.0;|25: pt[pCount].m := 40.0;|16: inc(pCount);|24: pt[pCount].x := 100;|23: pt[pCount].y := 90;|25: pt[pCount].kx := 0.0;|25: pt[pCount].ky := 0.0;|25: pt[pCount].m := 40.0;|16: inc(pCount);|23: pt[pCount].x := 10;|24: pt[pCount].y := 100;|25: pt[pCount].kx := 0.0;|25: pt[pCount].ky := 0.0;|25: pt[pCount].m := 40.0;|16: inc(pCount);|23: pt[pCount].x := 55;|23: pt[pCount].y := 55;|25: pt[pCount].kx := 0.5;|25: pt[pCount].ky := 0.0;|25: pt[pCount].m := 10.0;|26: pt[pCount].mv := true;|16: inc(pCount);|4:end;|0:|22:const zk:real = 200.0;|0:|58:procedure THiAsmClass.doDraw(var _Data:TData; Index:Word);|16:var i,k:integer;|14: p:TRPoint;|5:begin|26: glColor3f(0.0,0.0,0.0);|0:|28: for i := 0 to pCount-1 do|9: begin|38: k := max( round(pt[i].m/10.0),1);|20: glPointSize(k);|24: glBegin(GL_POINTS);|63: glVertex3f(pt[i].x/Applet.Children[0].ClientWidth*2 - 1.0,|70: -pt[i].y/Applet.Children[0].ClientHeight*2 + 1.0,0.0);|11: glEnd;|8: end;|0:|26: glBegin(GL_LINE_STRIP);|13: if tr then|9: begin|19: p.x := mpt.x;|19: p.y := mpt.y;|36: p.kx := (lpt.x - mpt.x)/100.0;|36: p.ky := (lpt.y - mpt.y)/100.0;|17: p.m := 1.0;|60: glVertex3f(p.x/Applet.Children[0].ClientWidth*2 - 1.0,|67: -p.y/Applet.Children[0].ClientHeight*2 + 1.0,0.0);|27: for i := 0 to 4000 do|12: begin|19: nextPos(p);|62: glVertex3f(p.x/Applet.Children[0].ClientWidth*2 - 1.0,|69: -p.y/Applet.Children[0].ClientHeight*2 + 1.0,0.0);|11: end;|8: end;|9: glEnd;|4:end;|0:|58:procedure THiAsmClass.doDown(var _Data:TData; Index:Word);|5:begin|36: mpt.x := ReadInteger(_data,x,0);|36: mpt.y := ReadInteger(_data,y,0);|15: tr := true;|4:end;|0:|58:procedure THiAsmClass.doMove(var _Data:TData; Index:Word);|5:begin|33: _data.data_type := data_null;|36: lpt.x := ReadInteger(_data,x,0);|36: lpt.y := ReadInteger(_data,y,0);|4:end;|0:|56:procedure THiAsmClass.doUp(var _Data:TData; Index:Word);|22:var _x,_y,i,b:integer;|5:begin|33: _x := ReadInteger(_data,x,0);|33: _y := ReadInteger(_data,y,0);|37: b := ReadInteger(_data,Button,0);|17: if b = 0 then|10: begin|28: pt[pCount].x := mpt.x;|28: pt[pCount].y := mpt.y;|42: pt[pCount].kx := (_X - mpt.x)/100.0;|42: pt[pCount].ky := (_Y - mpt.y)/100.0;|26: pt[pCount].m := 1.0;|28: pt[pCount].mv := true;|18: inc(pCount);|8: end|22: else if b = 1 then|10: begin|28: pt[pCount].x := mpt.x;|28: pt[pCount].y := mpt.y;|45: pt[pCount].kx := 0;//(X - mpt.x)/100.0;|45: pt[pCount].ky := 0;//(Y - mpt.y)/100.0;|27: pt[pCount].m := 40.0;|29: pt[pCount].mv := false;|18: inc(pCount);|8: end|8: else|25: for i := 0 to 30 do|12: begin|30: pt[pCount].x := mpt.x;|30: pt[pCount].y := mpt.y;|40: pt[pCount].kx := 0.8*sin(i/5.0);|40: pt[pCount].ky := 0.8*cos(i/5.0);|28: pt[pCount].m := 1.0;|30: pt[pCount].mv := true;|20: inc(pCount);|11: end;|0:|15: tr := false;|4:end;|0:|61:procedure THiAsmClass.doProcess(var _Data:TData; Index:Word);|16:var i,j:integer;|15: cx,cy:real;|15: u,p,F:real;|5:begin|0:|28: for i := 0 to pCount-1 do|9: begin|35: pt[i].x := pt[i].x + pt[i].kx;|35: pt[i].y := pt[i].y + pt[i].ky;|0:|30: for j := 0 to pCount-1 do|34: if (i <> j)and pt[i].mv then|12: begin|32: cx := pt[i].x - pt[j].x;|32: cy := pt[i].y - pt[j].y;|74: if (abs(round(cx)) < 0.00001) and (abs(round(cy)) < 0.00001 ) then|0:|12: else|14: begin|30: u := ArcTan2(cy,cx);|37: p := sqrt( cx*cx + cy*cy );|21: p := p + 1;|39: F := 0.005*pt[i].m*pt[j].m/p;|50: pt[i].kx := pt[i].kx - F*cos(u)/pt[i].m;|50: pt[i].ky := pt[i].ky - F*sin(u)/pt[i].m;|13: end;|11: end;|8: end;|4:end;|0:|4:end.|
}
это же компилируеться,
а я хочу создать свой компонент !!!
карма: 0

0
Ответов: 211
Рейтинг: 52
#9: 2009-07-29 19:22:15 ЛС | профиль | цитата
Roma, Оставьте имя юнита и класса такими, как было в шаблоне т.е. unit HiAsmUnit а не unit Beep и THiAsmClass против THIBeep. В будущем компоненте замените на свои.
Ваш IC:

#pas
unit HiAsmUnit;

interface

uses Kol,Share,Windows,Debug;

type
THiAsmClass = class(TDebug)
private
public
_prop_Freq:integer;
_prop_Duration:integer;
_data_Duration:THI_Event;
_data_Freq:THI_Event;
_event_onBeep:THI_Event;

procedure _work_doBeep(var _Data:TData; Index:word);
end;

implementation

procedure THiAsmClass._work_doBeep;
var fr,dr:integer;
begin
fr := ReadInteger(_Data,_data_Freq,_prop_Freq);
dr := ReadInteger(_Data,_data_Duration,_prop_Duration);
if fr = 0 then sleep(dr) else Beep(fr,dr);
_hi_CreateEvent(_Data, @_event_onBeep);
end;

end.
карма: 1
слтв
1
Голосовали:Roma
Ответов: 1321
Рейтинг: 37
#10: 2009-07-29 19:39:11 ЛС | профиль | цитата
Спасибо откуда вы только столько знаете (мой любимый вапрос )
------------ Дoбавленo в 19.48:
А так не компелируеться :?:
Make(delphi)
ver(4.02 build 179)
Add(MainForm,2953706,21,105)
{
}
Add(Button,12254076,231,287)
{
Left=115
Top=390
link(onClick,10077667:doBeep,[])
}
Add(InlineCode,10077667,280,287)
{
WorkPoints=#6:doBeep|
EventPoints=#6:onBeep|
DataPoints=#4:Freq|8:Duration|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|29:uses Kol,Share,Windows,Debug;|0:|4:type|29: THiAsmClass = class(TDebug)|10: private|9: public|23: _prop_Freq:integer;|27: _prop_Duration:integer;|29: _data_Duration:THI_Event;|25: _data_Freq:THI_Event;|28: _event_onBeep:THI_Event;|0:|56: procedure _work_doBeep(var _Data:TData; Index:word);|6: end;|0:|14:implementation|0:|35:procedure THiAsmClass._work_doBeep;|18:var fr,dr:integer;|5:begin|50: fr := ReadInteger(_Data,_data_Freq,_prop_Freq);|58: dr := ReadInteger(_Data,_data_Duration,_prop_Duration);|45: if fr = 0 then sleep(dr) else Beep(fr,dr);|42: _hi_CreateEvent(_Data, @_event_onBeep);|4:end;|0:|4:end.|
link(Freq,2012659:Text,[(286,279)(272,279)])
link(Duration,15822328:Text,[(293,279)(314,279)])
}
Add(Edit,2012659,266,238)
{
Left=265
Top=235
Text="100"
}
Add(Edit,15822328,308,238)
{
Left=305
Top=230
Text="100"
}



карма: 0

0
файлы: 1code_14327.txt [2.6KB] [115]
Ответов: 1088
Рейтинг: 112
#11: 2009-07-29 20:28:49 ЛС | профиль | цитата
Roma,
code_14329.txt
карма: 0
Время верстки: %cr_time% Текущее время: %time%
1
файлы: 1code_14329.txt [1.2KB] [140]
Голосовали:Roma
Ответов: 1321
Рейтинг: 37
#12: 2009-07-29 20:58:54 ЛС | профиль | цитата
А что можно с этим намутить Components
------------ Дoбавленo в 17.56:
Ну а с этим та что не так

Add(InlineCode,12760057,203,245)
{
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|34:uses Kol,Share,Debug,OpenGL,Dglut;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|9: public|17: inRadius:real;|18: outRadius:real;|17: Sides:integer;|17: Rings:integer;|19: Rings:THI_Event;|19: Sides:THI_Event;|23: outRadius:THI_Event;|22: inRadius:THI_Event;|20: onDraw:THI_Event;|49: procedure doDraw(var _Data:TData; Index:word);|5: end;|0:|14:implementation|29:procedure THiAsmClass.doDraw;|32:rb := ReadReal(_Data,nRadius,0);|34:rt := ReadReal(_Data,outRadius,0);|34:sl := ReadInteger(_Data,Sides,,0);|33:st := ReadInteger(_Data,Rings,0);|28:glutSolidTorus(rb,rt,sl,st);|33: _hi_CreateEvent(_Data,@onDraw);|4:end.|
}


карма: 0

0
12
Сообщение
...
Прикрепленные файлы
(файлы не залиты)