Вверх ↑
Этот топик читают: Гость
Ответов: 20
Рейтинг: 1
#16: 2008-12-16 15:16:00 ЛС | профиль | цитата
помогите оптимизировать код для Inline Code
code_10964.txt

------------ Дoбавленo:

Помогите пожалуйста оптимизировать код для InlineCode

#pas
unit hiMonitor;

interface

uses Windows,Kol,Share,Debug,Messages;

type
THIMonitor = class(TDebug)
procedure _work_doMonitorOFF(var _Data:TData; Index:word);
end;

implementation

procedure THIMonitor._work_doMonitorOFF;
var
scm:integer;
begin
if ReadBool(_Data) then
scm := 1
else scm := 0;
SendMessage(Applet.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, scm)
end;
end.
карма: 0

0
файлы: 1code_10964.txt [423B] [194]
Разработчик
Ответов: 25489
Рейтинг: 2072
#17: 2008-12-16 15:19:22 ЛС | профиль | цитата
udavos, вот так попробуй



Add(InlineCode,3929185,154,154)
{
WorkPoints=#12:doMonitorOFF|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|38:uses Windows,Kol,Share,Debug,Messages;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|57: procedure doMonitorOFF(var _Data:TData; Index:word);|0:|5: end;|0:|14:implementation|0:|35:procedure THiAsmClass.doMonitorOFF;|3:var|14: scm:integer;|5:begin|25: if ReadBool(_Data) then|12: scm := 1|6: else|13: scm := 0;|65: SendMessage(Applet.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, scm)|4:end;|0:|4:end.|
}

карма: 19

0
Гость
Ответов: 17029
Рейтинг: 0
#18: 2009-01-28 23:38:19 правка | ЛС | профиль | цитата


Редактировалось 3 раз(а), последний 2017-06-14 19:16:52
карма: 0

0
Разработчик
Ответов: 25489
Рейтинг: 2072
#19: 2009-01-28 23:44:21 ЛС | профиль | цитата
nameservices.net, вот так можно



Add(MainForm,3389703,210,56)
{
Left=20
Top=105
Height=175
}
Add(Message,9387846,350,112)
{
}
Add(InlineCode,8329617,294,112)
{
WorkPoints=#7:SetEdit|
EventPoints=#7:onEvent|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|2: |9: public|23: onEvent:THI_Event;|56: procedure SetEdit(var Data:TData; Index:word); |5: end;|0:|14:implementation|0:|30:procedure THiAsmClass.SetEdit;|5:begin|25: case ToInteger(Data) of |33: 0: _hi_OnEvent(onEvent,'1');|33: 1: _hi_OnEvent(onEvent,'2');|5: end;|4:end;|4:end.|
link(onEvent,9387846:doMessage,[])
}
Add(Button,10398285,210,112)
{
Left=15
Top=20
Caption="0"
Data=Integer(0)
link(onClick,10556899:doWork2,[])
}
Add(Button,2635308,210,161)
{
Left=15
Top=50
Caption="1"
Data=String(1)
link(onClick,10556899:doWork3,[(277,167)])
}
Add(HubEx,10556899,273,105)
{
link(onEvent,8329617:SetEdit,[])
}

карма: 19

0
Гость
Ответов: 17029
Рейтинг: 0
#20: 2009-01-28 23:51:06 правка | ЛС | профиль | цитата


Редактировалось 3 раз(а), последний 2017-06-14 19:16:53
карма: 0

0
Ответов: 4428
Рейтинг: 473
#21: 2009-01-28 23:52:18 ЛС | профиль | цитата
Это я на ручнике еду
карма: 4

0
Ответов: 20
Рейтинг: 6
#22: 2009-02-08 01:00:13 ЛС | профиль | цитата
Помогите запустить код, или указать на ошибки в нём...
code_11730.txt

Наверно так нагляднее

#sha
Add(MainForm,2953706,21,105)
{
Width=281
Height=171
}
Add(InlineCode,14058540,385,350)
{
WorkPoints=#4:Conv|
EventPoints=#7:onEvent|8:onEvent1|
DataPoints=#4:Text|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses Kol,Share,Debug;|2: |4:type|28: THiAsmClass = class(TDebug)|10: private|9: public|20: Text:THI_Event;|23: onEvent:THI_Event;|25: onEvent1:THI_Event; |43:procedure Conv(var Data:TData; Index:word);|50:procedure Result(var Data:TData; index:word); |4:end;|0:|14:implementation|0:|3:var|10:a: String;|10:b: String;|5: |26:procedure THiAsmClass.Conv|5:begin|66:a := Round((ReadReal(Data,Text,0) - 25569 - VCLDATE0) * 86400000);|30: _hi_CreateEvent(onEvent, a);|0:|4:end;|0:|23:procedure THiAsmClass.b|5:begin|13: |14:b := a / 5000;|30: _hi_CreateEvent(onEvent1, b);|0:|4:end;|0:|4:end;|2: |4:end.|
link(onEvent,11919236:doText,[])
link(onEvent1,2948977:doText,[(437,363)(437,405)])
link(Text,15781768:DateTime,[(391,331)(398,331)])
}
Add(Time,15781768,385,280)
{
Format="DMMYYYYhhmmss"
Point(DateTime)
}
Add(Timer,11234882,259,350)
{
link(onTimer,14058540:Conv,[])
}
Add(Label,11919236,457,350)
{
Left=25
Top=30
Width=180
}
Add(Label,2948977,457,399)
{
Left=25
Top=55
Width=180
}

карма: 0

0
файлы: 1code_11730.txt [615B] [153]
Разработчик
Ответов: 25489
Рейтинг: 2072
#23: 2009-02-08 02:11:05 ЛС | профиль | цитата
Sergius, наверное, что-то похожее на это должно быть


Add(MainForm,168140,392,210)
{
Width=281
Height=171
}
Add(InlineCode,14058540,462,266)
{
WorkPoints=#4:Conv|
EventPoints=#7:onEvent|8:onEvent1|
VarPoints=#6:Result|7:Result1|
DataPoints=#4:Text|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses Kol,Share,Debug;|2: |4:type|28: THiAsmClass = class(TDebug)|10: private|13: a: Real;|13: b: Real;|9: public|20: Text:THI_Event;|23: onEvent:THI_Event;|25: onEvent1:THI_Event; |48: procedure Conv(var Data:TData; Index:word);|50: procedure Result(var Data:TData; index:word);|62: procedure Result1(var Data:TData; index:word); |4:end;|0:|14:implementation|5: |27:procedure THiAsmClass.Conv;|5:begin|68: a := Round((ReadReal(Data,Text,0) - 25569 - VCLDATE0) * 86400000);|16: b := a / 5000;|26: _hi_onEvent(onEvent, a);|29: _hi_onEvent(onEvent1, b); |4:end;|2: |29:procedure THiAsmClass.Result;|5:begin|18: dtReal(Data, a);|4:end;|0:|30:procedure THiAsmClass.Result1;|5:begin|18: dtReal(Data, b);|4:end;|0:|4:end.|
link(onEvent,11919236:doText,[])
link(onEvent1,2948977:doText,[(514,279)(514,321)])
link(Text,15781768:DateTime,[])
}
Add(Time,15781768,455,210)
{
Format="DMMYYYYhhmmss"
Point(DateTime)
}
Add(Timer,11234882,392,266)
{
link(onTimer,14058540:Conv,[])
}
Add(Label,11919236,534,266)
{
Left=25
Top=30
Width=180
}
Add(Label,2948977,534,315)
{
Left=25
Top=55
Width=180
}

карма: 19

0
Ответов: 20
Рейтинг: 6
#24: 2009-02-08 04:04:18 ЛС | профиль | цитата
Благодарю действительно всё работает. Я с этим кодом дня два промучился, так и не доведя его до рабочего состояния. Если не трудно дайте пожалуйста ссылочку на хорошую и самое главное доступную для понимания литературу...
карма: 0

0
Разработчик
Ответов: 25489
Рейтинг: 2072
#25: 2009-02-08 13:20:21 ЛС | профиль | цитата
Sergius, весь топик с начала прочитай, доступнее уже не будет. А так -- любой учебник по Delphi в тырнэте и примеры в пакете
карма: 19

0
Ответов: 20
Рейтинг: 6
#26: 2009-02-10 14:53:39 ЛС | профиль | цитата
Всё прочёл. Составил справку в doc формате, может кому пригодится: http://www.hiasm.1gb.ru/xf//getfile/11756.
карма: 0

5
файлы: 1inlinecode.zip [9.1KB] [240]
Голосовали:Леонид, nesco, iarspider, Karl, Tad
Ответов: 16531
Рейтинг: 1212
#27: 2009-02-10 15:51:41 ЛС | профиль | цитата
Sergius писал(а):
Всё прочёл.
Видно не всё - это устаревший вариант .

procedure THiAsmClass.Result(var Data:TData; index:word);
begin
data.data_type := data_str;
data.sdata := s1;
end;
Sergius, если эту справку сохранить как InLineCode.html и поместить в HiAsmHelp, то она будет вызываться по F1 (при выделеном на схеме компоненте InLineCode )
+2
карма: 23
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 25489
Рейтинг: 2072
#28: 2009-02-10 16:34:30 ЛС | профиль | цитата
Tad писал(а):
Видно не всё - это устаревший вариант

Сейчас это пишется так


procedure THiAsmClass.Result(var Data:TData; index:word);
begin
dtString(Data, s1);
end;
------------ Дoбавленo:

Но за труды надо поощрить чела, так что + и от меня
карма: 19

0
Администрация
Ответов: 15273
Рейтинг: 1501
#29: 2009-02-10 16:37:07 ЛС | профиль | цитата
надо было это на сайт класть
карма: 23
0
Разработчик
Ответов: 25489
Рейтинг: 2072
#30: 2009-02-10 16:54:48 ЛС | профиль | цитата
Dilma писал(а):
надо было это на сайт класть

Я за него в его пост выложил
карма: 19

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