Sie sind auf Seite 1von 3

using System;

using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace ContadorLoc
{
class Contador
{
string direccion = "";
public int clase = 0;
public int metodo = 0;
public int linea = 0;
public string nombre = "";

//Este método permite realizar el proceso de abrir el archivo plano y


recorrerlo
public void obtenerArchivo()
{
string conteo;
Boolean comenta = true;

OpenFileDialog abrir = new OpenFileDialog();


//Abre el archivo de tipo txt
abrir.Filter = "Archivos de texto|*.txt*";
if(abrir.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
//Hace la comparacion si lo que está en el nombre esta vacio
if (abrir.FileName.Equals("") == false)
{
direccion = abrir.FileName;
nombre = Path.GetFileName(abrir.FileName);
StreamReader leer = new StreamReader(direccion);

//Este ciclo permite realizar la lectura de las líneas de


caractéres y devuelve una nueva cadena
do
{
conteo = leer.ReadLine();
conteo = conteo.Replace(" ", "");

if (conteo.Contains("namespace"))
{
linea = linea + 1;
continue;
}
if (conteo.Contains("using"))
{
linea = linea + 1;
continue;
}
if ((conteo.Contains("public") ||
conteo.Contains("private") || conteo.Contains("static")) && (conteo.Contains("(")
&& conteo.Contains(")")))
{
if (conteo.Contains("Contains") &&
(conteo.Contains("public")))
{
metodo = metodo - 1;
linea = linea + 1;
}
metodo = metodo + 1;
linea = linea + 1;
continue;
}
if (conteo.Contains("class"))
{
comenta = false;
clase = clase + 1;
linea = linea + 1;
continue;
}
if (conteo.Contains("/*"))
{
if(conteo.Contains("Contains") &&
(conteo.Contains("/*")))
{
linea = linea + 1;
}
comenta = true;
continue;
}
if (conteo.Contains("*/"))
{
if(conteo.Contains("Contains") &&
(conteo.Contains("*/")))
{
linea = linea + 1;
}
comenta = false;
continue;
}
if (conteo.Contains("//"))
{
if(conteo.Contains("Contains") &&
(conteo.Contains("//")))
{
linea = linea + 1;
}
continue;
}
if (conteo.Contains("{") || conteo.Contains("}"))
{
linea = linea + 1;
continue;
}
if (conteo.Length > 1 && comenta == false)
{
linea = linea + 1;
continue;
}
}
while (!leer.EndOfStream);
}
}
}
}
}

Das könnte Ihnen auch gefallen