#sha
Add(MainForm,10977632,196,175)
{
Left=20
Top=105
Width=645
Height=498
Font=[Arial,8,0,0,1]
}
Add(VBScript,3863772,574,238)
{
WorkPoints=#6:doRead|
EventPoints=#7:onRead1|7:onRead2|
DataPoints=#1:w|1:h|1:t|1:y|
Script=#27:function doWork(Data,Index)|13: w=getdata(0)|13: h=getdata(1)|13: t=getdata(2)|13: y=getdata(3)|0:|15: onEvent 0, t+y|15: onEvent 1, w+h|0:|3:end|
link(onRead1,15588589:doText,[])
link(onRead2,14622935:doText,[(681,251)(681,286)])
link(w,7682005:Var,[(580,201)(503,201)])
link(h,8161830:Var,[(587,191)(566,191)])
link(t,9975093:Var,[(594,200)(643,200)])
link(y,2319456:Var,[(601,209)(706,209)])
}
Add(Edit,2581439,266,189)
{
Left=185
Top=140
Text="0"
link(onChange,15362462:doConvert,[])
}
Add(GlobalVar,8161830,560,147)
{
Name="temp1"
Data=Real(0)
}
Add(GlobalVar,12226432,378,189)
{
Name="temp1"
Data=Real(0)
Point(doName)
}
Add(Edit,647541,266,140)
{
Left=115
Top=140
Text="0"
link(onChange,8154443:doConvert,[])
}
Add(GlobalVar,2929557,378,140)
{
Name="temp2"
Data=Real(0)
Point(doName)
}
Add(GlobalVar,7682005,497,147)
{
Name="temp2"
Data=Real(0)
}
Add(Convertor,8154443,322,140)
{
Mode=10
link(onResult,2929557:doValue,[])
}
Add(Convertor,15362462,322,189)
{
Mode=10
link(onResult,12226432:doValue,[])
}
Add(GlobalVar,2319456,700,147)
{
Name="temp4"
Data=Real(0)
}
Add(GlobalVar,9975093,637,147)
{
Name="temp3"
Data=Real(0)
}
Add(Edit,16232529,266,238)
{
Left=115
Top=180
Text="0"
link(onChange,9456971:doConvert,[])
}
Add(GlobalVar,15978413,378,238)
{
Name="temp3"
Data=Real(0)
Point(doName)
}
Add(Convertor,9456971,322,238)
{
Mode=10
link(onResult,15978413:doValue,[])
}
Add(Edit,10188164,266,287)
{
Left=185
Top=180
Text="0"
link(onChange,10346495:doConvert,[])
}
Add(GlobalVar,12931928,378,287)
{
Name="temp4"
Data=Real(0)
Point(doName)
}
Add(Convertor,10346495,322,287)
{
Mode=10
link(onResult,12931928:doValue,[])
}
Add(Edit,15588589,742,238)
{
Left=275
Top=180
}
Add(Edit,14622935,742,280)
{
Left=275
Top=140
}
Add(Timer,9412027,504,238)
{
Interval=100
link(onTimer,3863772:doRead,[])
}
Add(Label,13905110,280,343)
{
Left=165
Top=140
Width=10
Height=17
Caption="+"
}
Add(Label,3285391,329,343)
{
Left=170
Top=180
Width=10
Height=17
Caption="+"
}
Add(Label,689970,280,385)
{
Left=240
Top=145
Width=10
Height=17
Caption="="
}
Add(Label,15444341,329,385)
{
Left=240
Top=180
Width=10
Height=17
Caption="="
}
Если используешь свойство UseName=False, то нужно указывать номер точки.
------------ Дoбавленo:
А если использовать UseName=True, то в компоненте VBScript (не путать с VBJScript) действительно есть ошибка:
#pas
function THIVBScript.ReadPointIndex;
var k:integer;
begin
Result := -1;
if _IsStr(Data^) then
for k := 0 to FECount.Count-1 do // <-- что тут делает FECount ?
if StriComp(PChar(List.Items[k]),PChar(ToString(Data^))) = 0 then
begin
Result := k;
break;
end;
if Result = -1 then
Result := ToIntIndex(Data^);
end;

------------ Дoбавленo:
grial писал(а):
как подправить .pas файл компонента, чтобы не лепить лишние точкиЗаменить в приведённом выше фрагменте FECount на List