cracks for soft
cracksmachine
cracks serials db
crackssearchdb
download rapidshare files
downloadcracksdb
free cracks 4 all
download free serials
dola dll warez
keygen machine
Mono/.NET « il libero

Het downloaden van klingeltöne, Download von klingeltöne, Het downloaden van klingeltöne, Descargar tonos, Téléchargez des sonneries, scarica suonerie, Beltonen downloaden, Nedlasting av ringetoner, Download ringtones

Archive for the ‘Mono/.NET’ Category

Gtk+: trabajando con TreeViews

Monday, June 22nd, 2009

edicion-treeview1

Este post puede ser útil para los que utilicen el widget TreeView de Gtk+ (no importa el lenguaje mientras haya bindings), y necesiten activar por código celdas en modo edición. Hay algunas cuestiones a tener en cuenta.

Para el Proyecto Final de Carrera estamos desarrollando un sistema de nivel operativo, con funciones de facturación y demás. Necesitamos manejar un TreeView con campos editables, y al finalizar la edición de uno de ellos es necesario dar el foco a otro campo en modo edición, listo para que el usuario comience a cargar datos sin tocar el mouse.

(more…)

Mono C# Shell

Thursday, February 12th, 2009

El otro día necesitaba saber bien cómo funcionaba el método Remove de la clase StringBuilder en Mono. Entonces hice lo siguiente:

miltondp@wasabi:~$ csharp
Mono C# Shell, type "help;" for help

Enter statements below.
csharp> using System.Text;
csharp> var a = new StringBuilder("Milton");
csharp> a.Remove(a.Length-1,1);
Milto
csharp> a.Remove(a.Length-1,1);
Milt
csharp> a.Remove(a.Length-1,1);
Mil
csharp> a.Remove(a.Length-1,1);
Mi
csharp> a.Remove(a.Length-1,1);
M
csharp> a.Remove(a.Length-1,1); 

csharp>

Si, funcionaba como me lo imaginaba :) Esta shell para C# está disponible en la versión 2.2 de Mono.

Zaspe# 0.1.0 released!

Thursday, July 17th, 2008

Estos días me hice un tiempo para publicar una versión un poco más usable de Zaspe#: ahora es posible generar reportes. Sin embargo la funcionalidad no es todavía muy configurable. Hay muchas mejoras que se pueden hacer, pero eso llevará tiempo.

Los reportes que se pueden realizar son de personas y asistencias (aquí y aquí tienen ejemplos). Éstos se producen en formato PDF. Lamentablemente no hay una forma de imprimir los reportes directamente, por lo que puede ser complicado para usuarios inexpertos.

Al final, estoy utilizando iTextSharp para generar los PDFs, no MonoReporter, que si bien actualmente puede generar reportes básicos, decidí por el momento utilizar algo ya hecho y maduro. Con MonoReporter (que utiliza GtkPrint) sí podría imprimir el reporte directamente, o ver previsualizaciones. Pero bueno, será algo a hacer más adelante.

(more…)

Un servidor web en 30 líneas de código

Sunday, March 30th, 2008

Interesante este post de Oren Eini. Es un código escrito en Boo (lenguaje tipo Python para .NET):

import System.Net
import System.IO

if argv.Length != 2:
	print "You must pass [prefix] [path] as parameters"
	return

prefix = argv[0]
path = argv[1]

if not Directory.Exists(path):
	print "Could not find ${path}"
	return

listener = HttpListener()
listener.Prefixes.Add(prefix)
listener.Start()

while true:
	context = listener.GetContext()
	file = Path.GetFileName(context.Request.RawUrl)
	fullPath = Path.Combine(path, file)
	if File.Exists(fullPath):
		context.Response.AddHeader("Content-Disposition","attachment; filename=${file}")
		bytes = File.ReadAllBytes(fullPath)
		context.Response.OutputStream.Write(bytes, 0, bytes.Length)
		context.Response.OutputStream.Flush()
		context.Response.Close()
	else:
		context.Response.StatusCode = 404
		context.Response.Close()

Y ejecutando el comando:

$ booi prueba.boo http://localhost:8085/ ~/Escritorio/

tenemos funcionando un webserver localmente. Me acuerdo como en una de las charlas de alguna de las jornadas Python en Santa Fe el disertante hacía algo similar. La verdad, muy útil este tipo de código.

MockObjects con Rhino.Mocks

Wednesday, February 6th, 2008

Cuando escribimos tests de unidad, intentamos testear una única funcionalidad. Esto muchas veces es bastante difícil, ya que generalmente necesitamos apoyarnos en otras clases distintas para cumplir con el propósito de la testeada, y terminamos probando, al final, otras cosas. Y si fallan estas clases “base”, a veces es difícil rastrear cuál es el error.

Por ejemplo, supongamos que tenga un método RegistrarAsistencia(int, int), que registra que la persona asistió al evento (los argumentos serían los IDs). Este método inventado, tendría como dependencia la clase ControladorPersonas y ControladorEventos, para levantar los objetos necesarios y realizar el registro. Pero esto (levantar los objetos Persona y Registro), a nosotros, no nos interesa probar en el test de unidad, sino verificar que el método RegistrarAsistencia realmente funciona, registrando que la persona asistió al evento.

Otro ejemplo podría ser algún método ImprimirFactura, que toma los datos del formulario, e imprime la factura. ¿Cómo podemos escribir un test de unidad para esto?

Una solución viene de la mano de la técnica de MockObjects, y Rhino.Mocks es un framework para .NET.

(more…)

Mono + NHibernate + SQLite

Sunday, December 30th, 2007

Después de usar por tanto tiempo Gentle.NET, un ORM que ha sido discontinuado, he decidido al fin comenzar a estudiar NHibernate. Los ejemplos que dan en los manuales y páginas son para Windows (con MS .NET) y SQL Server. Trabajando en GNU/Linux, hice las pruebas con SQLite.

El problema es que el driver utilizado por NHibernate para esta base de datos utiliza un binding desactualizado. Además Mono trae una implementación mejor, que soporta el standard ADO.NET 2.0, que es Mono.Data.Sqlite, disponible a partir de la versión 1.2.4.

El post es especialmente útil para aquellos que quieran utilizar en GNU/Linux (yo uso Ubuntu Gutsy), con Mono, NHibernate y SQLite, utilizando el binding Mono.Data.Sqlite. Si bien puede parecer esto tan fácil como seguir el documento QuickStart y cambiar las opciones correspondientes, no lo es si se intenta utilizar SQLite. Por eso, en este post no voy a explicar todas las cosas, ya que no me interesa y se pueden aprender en la documentación, sino que voy a desarrollar un ejemplo muy sencillo y mostrar cómo utilizar SQLite, ya que hay que solucionar unos problemas no muy triviales.

(more…)

Gtk# – Aplicaciones sensibles

Thursday, December 6th, 2007

En el TP de implementación de Adm. de Recursos desarrollamos con Nacho y César un cliente de mensajería instantánea muy simple. Está hecho en C# y para la GUI usamos Gtk#, todo corriendo en Mono. Por cierto, ésta es la página del proyecto por si quieren investigar el código y hacer algunas pruebas.

Pero el motivo del post no es este trabajo en sí, sino la solución a un problema que se había presentado. Utilizamos Remoting para comunicar los clientes con el servidor. Remoting es una tecnología para comunicar procesos, en la que podemos instanciar, por ejemplo, objetos remotos y llamar métodos del mismo, ejecutándose éstos en el servidor. Lo veo como algo muy parecido a RPC. Tampoco es el objetivo del post hablar de Remoting, sino simplemente decir que cuando ejecutamos un método remoto, se abre un thread nuevo para llevar a cabo la ejecución del mismo en el servidor.

(more…)

MonoReporter – Reportes en Mono

Wednesday, October 10th, 2007

Ya escribí un post sobre este tema. Desde ahí hasta hace un mes aproximadamente, MonoReporter quedó olvidado, ya que en realidad no lo necesitaba con tanta urgencia… pero ahora sí. Es lo que sigue por hacer en Zaspe#: la generación de reportes.

Mi idea era hacer algo que no sólo me sirva a mí, sino que lo pueda usar otra persona también. Cuando le comenté la idea a Nacho, sobre un lenguaje basado en XML para describir el reporte, me propuso leer un SVG, hecho con Inkscape por ejemplo… así me ahorraría un futuro diseñador de reportes. Eso es lo que he hecho.

MonoReporter entonces lee de un SVG hecho con Inkscape (lo aclaro porque sobre este software hice las pruebas), y lo transforma a instrucciones para dibujar con Cairo y GtkPrint (el nuevo sistema de impresión de Gtk+). Es posible, por ejemplo, exportar directamente a PDF, o mostrar el diálogo de impresión, tanto en GNU/Linux como Windows (previa instalación de los runtimes de gtk-sharp que se pueden encontrar en la web de zaspe#). A esto lo realiza en forma nativa.

(more…)