Вверх ↑
Ответов: 50
Рейтинг: 2
#1: 2013-01-31 16:56:38 ЛС | профиль | цитата
Сейчас компилируется нормально но программа вылеает
Make(delphi)
ver(4.04 build 185)
Add(MainForm,12399705,252,154)
{
Left=20
Top=105
Width=285
Height=249
Caption="MACIP"
Position=1
}
Add(Button,6057487,273,231)
{
Left=105
Top=130
TabOrder=-1
Caption="GetMAC"
link(onClick,4607153:goMAC,[])
}
Add(InlineCode,4607153,392,231)
{
WorkPoints=#5:goMAC|
EventPoints=#5:onMAC|
VarPoints=#3:MAC|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|29:uses Windows,KOL,Share,Debug;|0:|5:const|33: MAX_ADAPTER_ADDRESS_LENGTH = 6;|0:|4:type|63:TMacAddress = array[0..MAX_ADAPTER_ADDRESS_LENGTH - 1] of byte;|0:|2: |4:type|28: THiAsmClass = class(TDebug)|10: private|19: FMAC: String;|9: public|23: onMAC :THI_Event;|51: procedure goMAC(var _Data:TData; Index:word);|49: procedure MAC(var _Data:TData; Index:word);|7: end;|0:|0:|14:implementation|0:|46://********************************************|59:function GetMAC(Value: TMacAddress; Length: DWORD): String;|3:var|13: I: Integer;|5:begin|56: if Length = 0 then Result := '00-00-00-00-00-00' else|8: begin|18: Result := '';|31: for i:= 0 to Length - 2 do|53: Result := Result + Int2Hex(Value[i], 2) + '-';|52: Result := Result + Int2Hex(Value[Length-1], 2);|7: end;|4:end;|46://********************************************|0:|80:function inet_addr(s: string): Integer; external 'wsock32.dll' name 'inet_addr';|44:function SendARP(const DestIP, SrcIP: ULONG;|85: pMacAddr: PULONG; var PhyAddrLen: ULONG): DWORD; stdcall; external 'IPHLPAPI.DLL';|0:|0:|0:|28:procedure THiAsmClass.goMAC;|3:var|22: DestIP, SrcIP: ULONG;|23: pMacAddr: TMacAddress;|19: PhyAddrLen: ULONG;|5:begin|36: DestIP := inet_addr('192.168.0.1');|17: PhyAddrLen := 6;|43: SendArp(DestIP, 0, @pMacAddr, PhyAddrLen);|38: FMAC := GetMAC(pMacAddr, PhyAddrLen);|20: _hi_onEvent(onMAC);|4:end;|0:|26:procedure THiAsmClass.MAC;|5:begin|25: dtString(_Data, FMAC);|4: |4:end;|0:|4:end.|
link(onMAC,8957743:doText,[(436,237)(436,279)(373,279)(373,321)])
}
Add(Edit,8957743,392,315)
{
Left=45
Top=25
Width=165
link(Str,4607153:MAC,[])
}


nesco, я понимаю что это говнокод но он вообще работоспособен?
Просто только начал изучать HiAsm.
карма: 0

0