Вверх ↑
Ответов: 9
Рейтинг: 0
#1: 2018-11-03 05:32:44 ЛС | профиль | цитата
Народ, еще одна последняя просьба, возможно я наглею, но вся надежда только на вас
Всё по этой же лабораторной с этим же заданием, там теперь самое последнее задание звучит так:
Измените пример таким образом, чтобы в элементе «Вставка кода» было две точки методов, две точки событий и две точки ввода данных. Обеспечьте их программным кодом и покажите примеры их работы.
Т.е. сейчас там одна точка метода, события и данных. Точки я добавил в проект через конструктор без проблем, но вот каким их обеспечить кодом, чтобы они заработали, я ума не приложу. Я выше писал, что я не силён в Delphi и после того, как пользователь Galkov предоставил код, я со вчерашнего дня колдую над ним с последним заданием, но у меня ничего не получается. Можете ли вы изменить код так, чтобы в моей программе у элемента "InlineCode" появились доп. рабочая точка методов, событий и данных? И чтобы хоть самый простяцкий код к ним добавьте, например чтобы была кнопка и окошко по нажатию выводилось, потому что у меня такой трюк не через конструктор, а через чистый код Delphi не вышло сделать.

Вот еще раз текст проекта, с которым выше мне помог Galkov:

Add(MainForm,15373319,525,140)
{
Width=344
Height=116
}
Add(InlineCode,5600559,714,217)
{
WorkPoints=#7:doWork1|
EventPoints=#7:onEvent|0:|
VarPoints=#3:Var|
DataPoints=#7:MyValue|0:|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|14: s:string;|9: public|23: onEvent:THI_Event;|23: MyValue:THI_Event;|0:|51: procedure doWork1(var Data:TData; index:word);|50: procedure Result(var Data:TData; index:word);|5: end;|0:|14:implementation|0:|5:const|14: s0 = '### ';|14: s2 = ' ###';|0:|58:procedure THiAsmClass.doWork1(var Data:TData; index:word);|3:var|16: s1, s3:string;|5:begin|33: s1 := ReadString(Data,MyValue);|23: s3 := toString(Data);|25: s := s0 + s1 + s2 + s3;|0:|26: _hi_OnEvent(onEvent, s);|4:end;|0:|57:procedure THiAsmClass.Result(var Data:TData; index:word);|5:begin|20: dtString(Data, s);|4:end;|0:|4:end.|0:|
link(onEvent,16334128:doText,[])
link(MyValue,7701069:Text,[])
}
Add(Button,2115245,525,217)
{
Left=5
Top=5
Width=65
Caption="Open"
Data=Real(0)
link(onClick,4781423:doData,[])
}
Add(Edit,9663791,623,140)
{
Left=75
Top=5
Width=250
Text="Edit1"
}
Add(DoData,4781423,623,217)
{
link(onEventData,5600559:doWork1,[])
link(Data,9663791:Text,[])
}
Add(Label,16334128,812,217)
{
Left=75
Top=55
Width=40
Height=17
Caption="0"
}
Add(Edit,7701069,714,140)
{
Left=75
Top=30
Width=250
Text="Edit2"
}

А вот код Delphi, который находится в элементе InlineCode:

unit HiAsmUnit;

interface

uses kol,Share,Debug;

type
THiAsmClass = class(TDebug)
private
s:string;
public
onEvent:THI_Event;
MyValue:THI_Event;

procedure doWork1(var Data:TData; index:word);
procedure Result(var Data:TData; index:word);
end;

implementation

const
s0 = '### ';
s2 = ' ###';

procedure THiAsmClass.doWork1(var Data:TData; index:word);
var
s1, s3:string;
begin
s1 := ReadString(Data,MyValue);
s3 := toString(Data);
s := s0 + s1 + s2 + s3;

_hi_OnEvent(onEvent, s);
end;

procedure THiAsmClass.Result(var Data:TData; index:word);
begin
dtString(Data, s);
end;

end.

Вот еще скриншот схемы проекта, на всякий случай
http://immage.biz/image/S0Yx
карма: 0

0