Exemplo n.º 1
0
 public IP_SubNetButton(SubNet subNet)
 {
     this.button     = new System.Windows.Forms.Button();
     this.subNet     = subNet;
     button.Text     = subNet.GetIP() + "/" + subNet.GetSubnetMask();
     button.AutoSize = true;
 }
Exemplo n.º 2
0
 //
 //знаходження ІР-адреси підмережі
 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));
 }
Exemplo n.º 3
0
        /// <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());
        }