public IP_SubNetButton(SubNet subNet) { this.button = new System.Windows.Forms.Button(); this.subNet = subNet; button.Text = subNet.GetIP() + "/" + subNet.GetSubnetMask(); button.AutoSize = true; }
// //знаходження ІР-адреси підмережі private string NextAddress(SubNet subNet) { int[] addr = new int[4]; string[] br = subNet.Broadcast.Split('.'); //широкомовна адреса попередньої підмережі + 1 addr[3] = ((ToI(br[3]) + 1) == 256) ? 0 : ToI(br[3]) + 1; addr[2] += (ToI(br[2]) + ((addr[3] == 0) ? 1 : 0)); addr[2] = (addr[2] == 256) ? 0 : addr[2]; addr[1] += (ToI(br[1]) + ((addr[2] == 0) ? 1 : 0)); addr[1] = (addr[1] == 256) ? 0 : addr[1]; addr[0] += (ToI(br[0]) + ((addr[1] == 0) ? 1 : 0)); return(IPToStr(addr)); }
/// <summary> /// FileVersion.Current - 400 bytes /// </summary> /// <returns></returns> public byte[] ToBytes() { var bytes = new List <byte>(); ProInfo.FileVersion = FileVersion; UpdateDynDNS.FileVersion = FileVersion; switch (FileVersion) { case FileVersion.Current: bytes.AddRange(Ip?.ToBytes(0, 4) ?? new byte[4]); bytes.AddRange(SubNet?.ToBytes(0, 4) ?? new byte[4]); bytes.AddRange(Gate?.ToBytes(0, 4) ?? new byte[4]); bytes.AddRange(Mac?.ToBytes(0, 6) ?? new byte[6]); bytes.Add((byte)TcpType); bytes.Add((byte)MiniType); bytes.Add((byte)Debug); bytes.AddRange(ProInfo.ToBytes()); bytes.Add((byte)Com0Config); bytes.Add((byte)Com1Config); bytes.Add((byte)Com2Config); bytes.Add((byte)RefreshFlashTimer); bytes.Add((byte)PlugNPlay); bytes.Add((byte)ResetDefault); bytes.Add((byte)ComBaudRate0); bytes.Add((byte)ComBaudRate1); bytes.Add((byte)ComBaudRate2); bytes.Add((byte)UserNameMode); bytes.Add((byte)EnableCustomerUnit); bytes.Add((byte)UsbMode); bytes.Add((byte)NetworkNumber); bytes.Add((byte)PanelType); bytes.AddRange(PanelName.ToBytes(20)); bytes.Add((byte)EnablePanelName); bytes.Add((byte)PabelNumber); bytes.AddRange(DynDNSUser.ToBytes(32)); bytes.AddRange(DynDNSPassword.ToBytes(32)); bytes.AddRange(DynDNSDomain.ToBytes(32)); bytes.Add((byte)DynDNSMode); bytes.Add((byte)DynDNSProvider); bytes.AddRange(((ushort)DynDNSUpdateTime).ToBytes()); bytes.Add((byte)SntpMode); bytes.AddRange(((short)TimeZone).ToBytes()); bytes.AddRange(((uint)SerialNumber).ToBytes()); bytes.AddRange(UpdateDynDNS.ToBytes()); bytes.AddRange(((ushort)MstpNetworkNumber).ToBytes()); bytes.Add((byte)BBMDEn); bytes.Add((byte)SdExist); bytes.AddRange(((ushort)ModbusPort).ToBytes()); bytes.Add((byte)ModbusId); bytes.AddRange(((uint)ObjectInstance).ToBytes()); bytes.AddRange(((uint)TimeUpdateSince1970).ToBytes()); bytes.Add((byte)TimeZoneSummerDaytime); bytes.AddRange(SntpServer.ToBytes(30)); bytes.Add((byte)ZegbeeExist); bytes.AddRange(new byte[162]); break; default: throw new FileVersionNotImplementedException(FileVersion); } CheckSize(bytes.Count, GetSize(FileVersion)); return(bytes.ToArray()); }