| |
Mostrar Mensajes
|
|
Páginas: 1 2 3 4 5 6 7 [8] 9
|
|
73
|
Programación / .NET (C#, VB.NET, ASP) / [C#] Compilador de arhivos batch a exe
|
en: 28 Abril 2011, 15:15 pm
|
Hola a todos este es mi primer aporte a elhacker.net, no me habia dado cuenta del nivel de esta comunidad, bueno, lo que hice es una dll la cual se puede reutilizar la q permite compilar batchs a exe, solo es una aplicacion de consola, pero puede ser extendida facilmente a winforms o lo q se les ocurra espero que les guste. El articulo completo esta en mi blog. http://donkeysharp.blogspot.com/2011/04/creando-un-compilador-de-batchs.htmlCodigo fuente: http://cid-a9fbcf65213bf348.office.live.com/self.aspx/.Public/%5BSOURCE%5D%20-%20BatCompiler.zipPara hacer esto me base en otra entrada en la que utilizo los servicios de compilacion de .NET y con un poco de creatividad me salio el de batchs. Para compilar codigo C# simplemente se sigue mas o menos la logica de este metodo: public static StringBuilder CompileFromSourceCode(string outputName, string sourceCode, bool generateExecutable) { StringBuilder errores = null; /* Creamos un proveedor de codigo con el cual * podemos realizar distintas operaciones sobre * algun codigo C-Sharp, una de estas tareas es * la de compilar ensamblados. */ CSharpCodeProvider provider = new CSharpCodeProvider (); /* Para este ejemplo se usa el metodo para compilar * desde algun código. * # provider.CompileAssemblyFromSource(...) */ // Para eso necesitamos algunos parametros de compilacion CompilerParameters parameters = new CompilerParameters (); // Decimos que el ensamblado sera ejecutable // caso contrario seria una DLL parameters.GenerateExecutable = generateExecutable; /* Ahora necesitamos adicionar un ensamblado * como es un ejemplo basico solo utilizaremos * el assembly System.dll */ parameters.ReferencedAssemblies.Add("System.dll"); // Establecemos el nombre del ensamblado de salida parameters.OutputAssembly = outputName; // Compilamos el codigo fuente CompilerResults results = provider.CompileAssemblyFromSource(parameters, sourceCode); // En el caso de que existan errores los mostramos // caso contrario el ensamblado ha sido construido if (results.Errors.Count > 0) { errores = new StringBuilder (); foreach (CompilerError error in results.Errors) { errores.AppendLine(string.Format("Error en linea: {0}", error.Line)); errores.AppendLine("\t" + error.ErrorText); } } return errores; }
Espero les sea util Saludos
|
|
|
|
|
74
|
Programación / .NET (C#, VB.NET, ASP) / Re: Sobre rendimiento ¿Realmente C++/Cli es superior en velocidad a C#, ambos .Net?
|
en: 28 Abril 2011, 15:07 pm
|
|
Yo creo q si, pero tambien es mas rapido de c o c++, pues ve, no es forma de comparar ya que como dices tu .NET u otras plataformas de desarrollo como Java, Python, Ruby, nos brind muchas facilidades de aplicaciones empresariales, cosa que con c o c++ es un poco mas complicado de hacer, pero si hablamos en el area de algoritmia, me quedo con c/c++ y desecho a los demas, ya que para algoritmia se necesita cabeza mas q herramientas.
Saludos
|
|
|
|
|
77
|
Programación / .NET (C#, VB.NET, ASP) / Re: ayula con list<> en csharp
|
en: 27 Abril 2011, 00:18 am
|
No entiendo por que volver a recorrer la lista, simplemente usa la propiedad DataSource del DataGridView: private void button1_Click(object sender, EventArgs e) { dataGridView1.Visible = true; List<Productos> lista; lista = operacion.ConsultaGral(); dataGridView1.DataSource = lista }
|
|
|
|
|
|
| |
|