Hola buenas, lo primero aclarar que esta app que he hecho me baso en otra app que, en fin, no es tan clara de usar como voy a explicar:
Antes de ayer me acorde de Lino en DEV-EHN 2013 (http://foro.elhacker.net/programacion_general/ehndev_2013_concurso_de_desarrollo_de_aplicaciones_hilo_oficial-t391786.0.html;msg1862494#msg1862494) por que tenía la curiosidad de medir las líneas de código de algunos juegos decompilables... Así que nada, pues me puse a buscar por Google, y encontré Cloc (http://cloc.sourceforge.net), el caso es que me costo ver un poco al principio como se usaba, y luego vi que era por un Batch, a raíz de esto cree un post (http://foro.elhacker.net/scripting/batch_problema_al_leer_multiples_niveles_de_subdirectorios-t405562.0.html) en el que Elektro me ayudo un poco, y después de algunos retoques hice funcionar el script... Así que se me ocurrió la genial idea de hacer una app en la que fuese más intuitivo usar esta app :P
Así que sin más dilaciones aquí traigo "mi" app:
(http://gyazo.com/cef65ea04aba61e46c32fd52c0b5e336.png)
Básicamente adapte hice una app con VB.NET en el que abre el mismo Batch pero con los parametros más fácil de introducir... Es decir, que esta app es solo una adaptación para que la gente lo pueda usar más facilmente, el corazon de la máquina que lee todo no lo hice yo... Así que, si bueno, es un poco nub usar una app de tercero y añadir poco código encima de todo, pero es un poco más intuitivo a la hora de usar, aun que también tiene sus contras como por ejemplo que no se puede visualizar el progreso cuando está Analizando el código de un proyecto... Futuramente añadiré esa opción...
Descripción:
Con esta pequeña app se puede obtener cuantas líneas tiene su proyecto.
Uso:
Introducir la carpeta de su proyecto y dar a Analizar, esperar un poco y un TXT con toda la información se abrirá...
Descarga:
http://www.mediafire.com/download/uqww40oyauyn8q1/Advanced%20Cloc.rar
Ya se que no es muy ético, pero bueno, mejoraré un poco la app, a ver si consigo hacer mi propia app, o por lo menos hacer más código para poder mostrar el Output en HTML o cualquier cosa que quede mejor :P
Un saludo.
Desde el aprecio te digo que tienes un problema con el concepto de "Ética", realizar una GUI para facilitar el uso de una aplicación CLI y compartirla sin ánimo de lucro ...no tiene nada de malo, eso sí, estoy seguro que al autor de la app no le gustaría nada que no le hayas dado créditos en tu app (para variar).
Sobre el código que has realizado, como te llevo diciendo desde hace días la utilización de un script Bat como intermediario para ejecutar un proceso (o para sacar el output, me da igual) es complétamente absurdo, esto es .NET, no Batch.
Cita de: Advanced CLOC
Dim OutputFile As String = System.IO.Path.GetTempPath & "File.txt"
Dim pInfo As ProcessStartInfo
Private Sub Analizar(ByVal Directory As String)
pInfo = New ProcessStartInfo("cloc.bat", """" & Application.StartupPath & """ """ & Directory & """ """ & OutputFile & """")
Proceso.EnableRaisingEvents = True
pInfo.WindowStyle = ProcessWindowStyle.Hidden
Proceso.StartInfo = pInfo
Proceso.Start()
End Sub
Si quieres mejorar la aplicación, por ahí es por donde debes empezar, por ejemplo:
Private ReadOnly OutputFile As String = IO.Path.GetTempFileName
Private pInfo As ProcessStartInfo = New ProcessStartInfo
Private Sub Analizar(ByVal Directory As String)
With pInfo
.FileName = IO.Path.Combine(Application.StartupPath, "cloc-1.60.exe")
.Arguments = String.Format("{0} --out={1}", Directory, Me.OutputFile)
.CreateNoWindow = True
.UseShellExecute = False
'.RedirectStandardOutput = True
'.RedirectStandardError = True
End With
With Proceso
.EnableRaisingEvents = True
.StartInfo = pInfo
End With
Proceso.Start()
End Sub
Aparte de eso, en el Script .bat hay un fallo, debes expandir las variables especiales (%~1/%~2/%~3) para quitarle las comillas, y encerrarlas entre comillas. Pero mejor olvidémonos de ese Script.
Saludos
Mmmm, Elektro (como siempre) tiene razón. Eso de andar pasando los parámetros entre uno dos o x cantidad de intermediarios no tiene razón de ser. En todo caso por qué no copias el código fuente de la aplicación original (en caso de que puedas conseguirlo) dentro de tu aplicación. Es más si te sirve utiliza el de Lino, yo fui quien hizo esa aplicación. Analiza el código y ve si te sirve.
Nota: Lino a la hora de analizar los comentarios toma una linea linea mezclada (código y comentario al final) como una línea válida y no toma en cuenta ese comentario en el conteo. Esto es así para que haya equivalencia entre el número total de lineas y el número de lineas con código y con comentario.
Saludos.
Este aporte ha sido añadido al Recopilatorio de temas interesantes (http://foro.elhacker.net/net/recopilatorio_de_temas_interesantes-t301256.0.html) ;)
Gracias por compartir.
Salu2!
Gracias a ti por añadir. ::)