private void calcButton_Click(object sender, EventArgs e) { table.Rows.Clear(); IP = null; InitialMask = null; SubnetMask = null; if (validateData()) { IP = new IP(oct1, oct2, oct3, oct4); //contruir mascara inicial buildInitMask(); if (requiredThing == 1) { calcHost(); } if (requiredThing == 0) { calcSubRedes(); } //ya tengo todas las ip ahora los rangos xd } SubnetMask.setIterationBits(); calcRangos(); Console.WriteLine("Octeto1 " + oct1); Console.WriteLine("Octeto2 " + oct2); Console.WriteLine("Octeto3 " + oct3); Console.WriteLine("Octeto4 " + oct4); Console.WriteLine("Required Number" + requiredNumber); Console.WriteLine("Mask Slash " + maskSlash); Console.WriteLine("required thing index " + requiredThing); Console.WriteLine("Mask oct1: " + initMascOct1); Console.WriteLine("Mask oct2: " + initMascOct2); Console.WriteLine("Mask oct3: " + initMascOct3); Console.WriteLine("Mask oct4: " + initMascOct4); Console.WriteLine("massk slash: " + maskSlash); if (IP != null) { Console.WriteLine("IP"); Console.WriteLine(IP.toString()); } if (InitialMask != null) { Console.WriteLine("Mascara Inicial"); Console.WriteLine(InitialMask.toString()); } groupBox2.Visible = true; maskLabel.Visible = true; octBinarioLabel.Text = SubnetMask.Oct1Binary + "." + SubnetMask.Oct2Binary + "." + SubnetMask.Oct3Binary + "." + SubnetMask.Oct4Binary; octBinarioLabel.Visible = true; octDecimalLabel.Text = SubnetMask.Oct1 + "." + SubnetMask.Oct2 + "." + SubnetMask.Oct3 + "." + SubnetMask.Oct4; octDecimalLabel.Visible = true; afectadoLabel.Text = "Octeto Afectado: " + SubnetMask.AffectedOct; afectadoLabel.Visible = true; prestadosLabel.Text = "Bits prestados: " + SubnetMask.Bits; prestadosLabel.Visible = true; iterationsLabel.Text = "Iteraciones de " + SubnetMask.IterationNumber + " en " + SubnetMask.IterationNumber; iterationsLabel.Visible = true; }
void calcHost() { int hostBits = hostbits(requiredNumber); SubnetMask = new IP(1, hostBits); }
void buildInitMaskSlash() { string binaryOctTemp = ""; if (maskSlash > 0 && maskSlash <= 8) { initMascOct4 = 0; initMascOct3 = 0; initMascOct2 = 0; for (int i = 0; i < maskSlash; i++) { binaryOctTemp += "1"; } string oct1 = fillBinaryRigth(binaryOctTemp, "0"); initMascOct1 = Convert.ToInt32(oct1, 2); } if (maskSlash > 8 && maskSlash <= 16) { initMascOct1 = 255; initMascOct4 = 0; initMascOct3 = 0; if (maskSlash == 16) { binaryOctTemp = "11111111"; } else { for (int i = 0; i < maskSlash % 8; i++) { binaryOctTemp += "1"; } } string oct2 = fillBinaryRigth(binaryOctTemp, "0"); initMascOct2 = Convert.ToInt32(oct2, 2); } if (maskSlash > 16 && maskSlash <= 24) { initMascOct1 = 255; initMascOct4 = 0; initMascOct2 = 255; if (maskSlash == 24) { binaryOctTemp = "11111111"; } else { for (int i = 0; i < maskSlash % 8; i++) { binaryOctTemp += "1"; } } string oct3 = fillBinaryRigth(binaryOctTemp, "0"); initMascOct3 = Convert.ToInt32(oct3, 2); } if (maskSlash > 24 && maskSlash <= 30) { initMascOct1 = 255; initMascOct2 = 255; initMascOct3 = 255; for (int i = 0; i < maskSlash % 8; i++) { binaryOctTemp += "1"; } string oct4 = fillBinaryRigth(binaryOctTemp, "0"); initMascOct4 = Convert.ToInt32(oct4, 2); } InitialMask = new IP(initMascOct1, initMascOct2, initMascOct3, initMascOct4); }