You are on page 1of 3

sing System;

using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;

namespace program2
{
public partial class Form1 : Form
{
private int totalLoc;
public Form1()
{
InitializeComponent();
}

private void examinar_Click(object sender, EventArgs e)


{

OpenFileDialog examinar = new OpenFileDialog();


if (examinar.ShowDialog() == DialogResult.OK)
{

this.direccion.Text = examinar.FileName;
}

string cadena = this.direccion.Text;


int indice = cadena.IndexOf(".");
int indiceUltimo = cadena.LastIndexOf("\\") + 1;
int linea = indice - indiceUltimo;
cadena = cadena.Substring(indiceUltimo, linea);
dataGridView1.ColumnCount = 4;
//cada columna le asigno un titulo.
dataGridView1.Columns[0].Name = "Nombre de la clase";
dataGridView1.Columns[1].Name = "Numero de metodos";
dataGridView1.Columns[2].Name = "Numero de loc";
dataGridView1.Columns[3].Name = "Total";
StreamReader leer = new StreamReader(direccion.Text);
string[] file = File.ReadAllLines(direccion.Text);
string numeroMetodos = Convert.ToString(this.contadorMetodos(file));
int numeroLoc = this.contadorLoc(file);
string loc = Convert.ToString(numeroLoc);
totalLoc = totalLoc + numeroLoc;
String[] cargar = new string[] { cadena, numeroMetodos, loc};
dataGridView1.Rows.Add(cargar);
examinar.Dispose();

}
public int contadorMetodos(string[] vector)
{
int linea = vector.Length;
int numeroMetodos = 0;

for(int indice = 0; indice < linea; indice ++)


{
if (vector[indice].Trim().Contains("public"))
{
if (vector[indice].Trim().Contains("("))
{
numeroMetodos++;
}
}
if(vector[indice].Trim().Contains("private"))
{
if(vector[indice].Trim().Contains("("))
{
numeroMetodos++;
}
}
}
//me lo retorne la variable numeroMetodos al metodo de contarMetodo
return numeroMetodos;
}

public int contadorLoc(string[] vector)


{
int linea = vector.Length;
int numeroloc = vector.Length;
for(int indice = 0; indice < linea; indice++)
{
if (vector[indice].Trim() == "")
{
numeroloc--;
}
if (vector[indice].Trim().Contains("/"))
{
numeroloc--;
}
}
return numeroloc;
}
private void analizar_Click(object sender, EventArgs e)
{
string total = Convert.ToString(this.totalLoc);
string[] cargar = new string[] { "", "", "", total };
dataGridView1.Rows.Add(cargar);
}
}
}

You might also like