using System;
using System.Collections.Generic;
using System.IO;
public class Dato
{
public string mac;
public string ip;
}
public class Treball
{
static SortedDictionary
<string,Dato
> dic
= new SortedDictionary
<string,Dato
>();
public static void Main()
{
string clave="",dir;
//dir=SeleccionarCarpeta();
StreamReader sr
= new StreamReader
("J:\ASI2\EDD\dhcp.conf"); string linia = sr.ReadLine();
char[] separador = { ' ' };
bool guardamaccorrect=false,guardaipcorrect=false,clavecorrect=false;
while ( linia != null )
{
if ( linia.Contains("host") || linia.Contains("ethernet") || linia.Contains("fixed-address"))
{
string[] palabras = linia.Split(separador);
foreach ( string p in palabras )
{
if (!p.Contains(":") && !p.Contains("{") && !p.Contains("hardware") && !p.Contains("ethernet") && !p.Contains("fixed-address") && !p.Contains("."))
{
if (p != "host")
{
clave=p;
Console.WriteLine(clave);
clavecorrect=true;
}
}
if ( p.Contains(":"))
{
dato.mac=p;
guardamaccorrect=true;
}
if (p.Contains("."))
{
dato.ip=p;
guardaipcorrect=true;
}
}
Console.ReadKey();
}
if (clavecorrect == true && guardaipcorrect == true && guardamaccorrect == true)
{
dic.Add(clave,dato);
}
linia = sr.ReadLine();
}
Console.WriteLine("error");
menu();
}
public static string SeleccionarCarpeta()
{
string dir;
do
{
Console.Clear();
Console.WriteLine("Introdueix la direccio on esta ubicat el fitxer dchp.conf (Direccio Completa):");
dir=Console.ReadLine();
if (!File.Exists(dir))
{
Console.WriteLine("El Fitxer no existeix");
Console.WriteLine("Pulsi una tecla ...");
Console.ReadKey();
}
}while(!File.Exists(dir));
Console.WriteLine("Direccio Correcte.");
Console.WriteLine("Presioni una tecla ...");
return dir;
}
public static void consultes()
{
string consult;
Console.WriteLine("Introdueix el nom del host,la ip o la mac que vols consultar:");
consult=Console.ReadLine();
if (consult.Contains("."))
{
foreach ( KeyValuePair<string,Dato> par in dic)
{
if (consult.CompareTo(par.Value.ToString()) == 0)
{
Console.WriteLine("{0} -> {1}", par.Key,par.Value);
}
}
}
else if (consult.Contains(":"))
{
foreach ( KeyValuePair<string,Dato> par in dic)
{
if (consult.CompareTo(par.Value.ToString()) == 0)
{
Console.WriteLine("{0} -> {1}", par.Key,par.Value);
}
}
}
else
{
foreach ( KeyValuePair<string,Dato> par in dic) //segunda forma
{
if (consult.CompareTo(par.Key.ToString()) == 0)
{
Console.WriteLine("{0} -> {1}", par.Key,par.Value);
}
}
}
Console.ReadKey();
}
public static void modificar()
{
}
public static void afegir()
{
}
public static void eliminar()
{
}
public static void guardar()
{
}
public static void menu()
{
bool salir = false;
while (!salir)
{
//Console.Clear();
Console.WriteLine("Escull una opcio:");
Console.WriteLine("1) Fer consultes sobre el diccionari.");
Console.WriteLine("2) Modificar les dades d'un host existent en el diccionari.");
Console.WriteLine("3) Afegir un host al diccionari.");
Console.WriteLine("4) Eliminar un host del diccionari.");
Console.WriteLine("5) Guardar el contingut del diccionari reemplaçant la secció corresponent del fitxer dhcp.conf");
Console.WriteLine("6) Salir.");
ConsoleKeyInfo ck = Console.ReadKey();
switch(ck.KeyChar)
{
case '1':
consultes();
break;
case '2':
modificar();
break;
case '3':
afegir();
break;
case '4':
eliminar();
break;
case '5':
guardar();
break;
case '6':
salir = true;
Console.WriteLine("nPresione una tecla para salir ...");
break;
}
}
Console.ReadKey();
}
}