Код:
Add(MainForm,6340001,140,126)
{
Width=606
}
Add(Edit,15128451,259,126)
{
Left=30
Top=30
Width=240
Text=""
DataType=4
link(onChange,12248021:Traffic,[])
}
Add(InlineCode,12248021,329,126)
{
@Hint=#18:Конвертер Траффика|
WorkPoints=#24:Traffic=Траффик в байтах|
EventPoints=#31:Result=Результат преобразования|
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|22: Result: THI_Event;|51: procedure Traffic (var Data:TData; Index:Word);|0:|5: end;|0:|14:implementation|0:|0:|48:function BytesToStr(const size: Double): string;|5:const|100: sizes: array [1..9] of string = (' Yb', ' Zb', ' Eb', ' Pb', ' Tb', ' Gb', ' Mb', ' Kb', ' byte');|3:var|17: total: integer;|26: resSize,varSize: Double;|6:begin |25: total := Length(sizes);|18: varSize := size;|26: while varSize >= 1024 do|7: begin|15: dec(total);|30: varSize := varSize / 1024;|6: end;|40: resSize := Round(varSize/0.01)*0.01; |51: Result := Double2Str(resSize) + sizes[total]; |4:end;|0:|30:procedure THiAsmClass.Traffic;|3:var|12: d: Double;|5:begin|29: //d := Round(ToReal(Data));|20: d := ToReal(Data);|40: _hi_OnEvent(Result, BytesToStr(d)); |4:end;|1: |4:end.|
link(Result,6420362:doAdd,[])
}
Add(Memo,6420362,406,126)
{
Left=325
Top=25
Width=240
Height=195
AddType=1
}
Add(VBJScript,7456342,329,182)
{
WorkPoints=#6:doWork|
EventPoints=#5:onRes|
Script=#37:Function BytesToStr(size, precision) |27: Dim sizes, total, rSize|82: sizes = Array(" YB", " Zb", " Eb", " Pb", " Tb", " Gb", " Mb", " Kb", " byte")|25: total = Ubound(sizes)|22: while size >= 1024|23: total = total-1 |22: size = size/1024|8: wend|33: rSize = round(size,precision)|38: BytesToStr = rSize & sizes(total) |12:End Function|0:|18:Sub doWork(dt,idx)|28: sys.onRes BytesToStr(dt,2)|7:End Sub|
}