Вверх ↑
Ответов: 16884
Рейтинг: 1239
#1: 2018-11-13 14:54:58 ЛС | профиль | цитата
Мне так (почему-то) больше нравится...


Add(MainForm,9982853,224,112)
{
Width=703
Height=264
Caption="Search for Windows drivers"
BorderStyle=1
Position=1
Point(onClose)
link(onCreate,3199062:doEvent1,[])
}
Add(WinExec,385351,322,119)
{
FileName="driverquery.exe"
Mode=0
Point(doConsoleExec)
Point(onConsoleResult)
Point(doConsoleTerminate)
Point(onConsoleTerminate)
link(onConsoleResult,16628860:doCharset,[])
}
Add(Charset,16628860,371,133)
{
link(onCharset,12987917:doStrCat,[])
}
Add(Hub,3199062,273,126)
{
OutCount=3
link(onEvent1,5393472:doWork1,[(302,132)(302,110)(418,110)])
link(onEvent2,385351:doConsoleExec,[])
link(onEvent3,9446271:doTimer,[(305,146)(305,188)])
}
Add(Timer,9446271,322,182)
{
Interval=2000
Enable=1
AutoStop=1
link(onTimer,5668561:doEvent1,[])
}
Add(StringTable,14516997,539,252)
{
Width=697
Height=236
Align=5
Font=[Courier,10,0,0,204]
Columns=#10:Модуль=120|12:Название=220|16:Тип драйвера=130|15:Дата ссылки=190|
Grid=0
Point(doEnsureVisible)
Point(EndIdx)
}
Add(Hub,5668561,371,182)
{
OutCount=5
link(onEvent1,385351:doConsoleTerminate,[(397,188)(397,173)(313,173)(313,146)])
link(onEvent2,14516997:doClear,[(533,195)(533,265)])
link(onEvent3,11998545:doText,[(409,202)(409,223)])
link(onEvent4,5393472:doWork3,[(418,209)])
link(onEvent5,10563126:doW1,[(397,216)(397,258)])
}
Add(StrList,11998545,434,196)
{
link(Str,13757289:Var2,[])
}
Add(StatusBar,1763416,602,308)
{
}
Add(FormatStr,1951999,553,308)
{
DataCount=1
Mask="Найдено модулей -- %1"
link(onFString,1763416:doText,[])
link(Str1,14516997:EndIdx,[])
}
Add(StrCat,12987917,434,133)
{
Point(doClear)
link(Str1,13757289:Var3,[(440,119)(478,119)(478,173)])
}
Add(GetDataEx,13757289,434,168)
{
link(Data,12987917:Result,[])
}
Add(InlineCode,10563126,448,252)
{
WorkPoints=#4:doW1|
EventPoints=#5:onRes|5:onEnd|
DataPoints=#2:Ar|
Code=#15:unit HiAsmUnit;|0:|9:interface|16://Tad 13.11.2018|29:uses windows,kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|15:// Event Points|33: Ar, onRes, onEnd : THI_Event;|0:|15:// Work Points |45: Procedure doW1(var _Data:TData; Index:word);|5: end;|0:|14:implementation|38:// ----------Work Procedures----------|28:Procedure THiAsmClass.doW1;|20: var i, k : integer;|21: FItem,Ind : TData;|18: s, ss : string;|27: d : array[0..2] of byte;|17: Arr : PArray; |5:BEGIN|22: Arr := ReadArray(Ar);|18: dtInteger(ind,2);|21: Arr._Get(ind,FItem);|22: s := toString(FItem);|8: k := 0;|25: for i:=1 to Length(s) do|47: if s[i]=' ' then begin d[k]:=i; inc(k); end;|9: i := 3;|20: dtInteger(Ind,I);|37: while Arr._Get(Ind,FItem) do begin|23: s:= toString(FItem);|18: s[d[0]] := ';';|18: s[d[1]] := ';';|18: s[d[2]] := ';';|49:// ============== Для красоты. Можно выбросить |30: ss:=trim(copyend(s, d[2]));|24: if length(ss)=19 then|10: begin |27: replace(ss,' ',' ');|32: s:=copy(s,1,d[0]+d[1])+ss;|8: end;|34:// ============= Конец красоты |24: _hi_onEvent(onRes,s);|11: inc(I);|21: dtInteger(Ind,I);|6: end;|21: _hi_onEvent(onEnd);|4:END;|0:|4:end.|0:|
link(onRes,14516997:doAdd,[])
link(onEnd,7440730:doEvent1,[])
link(Ar,11998545:Array,[])
}
Add(Hub,7440730,490,259)
{
link(onEvent1,1951999:doString,[(523,265)(523,314)])
link(onEvent2,11998545:doClear,[(513,272)(513,296)(422,296)(422,209)])
}
Add(HubEx,5393472,414,140)
{
link(onEvent,12987917:doClear,[])
}

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0