<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-24271036</id><updated>2012-01-13T11:13:29.822-08:00</updated><category term='C#'/><category term='Personal'/><category term='xml'/><category term='Software Libre'/><category term='Pixbuf'/><category term='Windows Forms'/><category term='Sqlite'/><category term='Glade'/><category term='Gtk'/><category term='Mono Php'/><category term='Imagenes'/><category term='Linux'/><category term='Impresion en .NET'/><category term='.Net'/><category term='Juego'/><category term='Eventos'/><category term='Codigo'/><category term='Mono'/><category term='MySql'/><category term='Treeview'/><category term='clases'/><category term='Base de datos'/><category term='FolderBrowserDialog'/><category term='Desarrollo Software'/><title type='text'>El Blog de gsur</title><subtitle type='html'>Un buen comienzo para escribir un poco de código de algunos lenguajes como c#, c++, etc.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>58</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-24271036.post-8111739914179109820</id><published>2010-11-12T20:05:00.001-08:00</published><updated>2010-11-12T20:25:45.898-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Base de datos'/><category scheme='http://www.blogger.com/atom/ns#' term='Sqlite'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Base de datos Sqlite, .Net y C# primera parte</title><content type='html'>Bueno después de varios días sin actividad de nuevo retomo este espacio para traer un nuevo proyecto que quizas tenga varios errores pero lo que se pretende es conocer el uso de bases de datos Sqlite con .Net y C#, lo que veremos sera la unión de los ejemplos pasados (el explorador de imagenes con C# e Impresión con C#), aqui tenemos una aplicación que fungira como album fotografico que contendra hojas con un diseño y a cada foto se le podra incluir fotos para imprimir o solamente para organizar un poco el reguero de fotos que acostumbramos ir guardando en nuestro equipo y luego no sabemos donde quedaron.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Para la creación de este album usaremos una base de datos de Sqlite y para ello necesitamos solamente de incluir una referencia a system.data.sqlite.dll que se puede descargar de &lt;a href="http://sqlite.phxsoftware.com/"&gt;http://sqlite.phxsoftware.com/&lt;/a&gt; y con esto ya podemos empezar a trabajar con la base de datos, claro esto se vera mas adelante, advierto que si el tiempo no me lo permite no podre explicar a detalle pero el codigo lo dejare.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Empecemos, la base de datos consistira en 5 tablas (por el momento)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1.- Tabla Album (tiene muy poca información pero es necesaria)&lt;/div&gt;&lt;div&gt;2.- Tabla Hoja ( aqui se guardara todo lo relacionado a la hoja de diseño para imprimir)&lt;/div&gt;&lt;div&gt;3.- Tabla Foto (aqui estara la información de cada foto desde nombre, tamaño, pie de foto, etc)&lt;/div&gt;&lt;div&gt;4.- Tabla Etiqueta (aqui podremos llevar etiquetas para agrupar las fotos)&lt;/div&gt;&lt;div&gt;5.- Tabla Elementos (aqui se pretende llevar todos los elementos de texto de la hoja de diseño)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Estas tablas se generaran cuando se cree un nuevo album&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;En la proxima entrega se dejara la imagen de la ventana de la aplicación.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-8111739914179109820?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/8111739914179109820/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=8111739914179109820' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/8111739914179109820'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/8111739914179109820'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2010/11/base-de-datos-sqlite-net-y-c-primera.html' title='Base de datos Sqlite, .Net y C# primera parte'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-1089411260713131466</id><published>2010-10-31T17:34:00.000-07:00</published><updated>2010-10-31T17:52:29.235-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FolderBrowserDialog'/><category scheme='http://www.blogger.com/atom/ns#' term='Treeview'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Imagenes'/><title type='text'>Explorador de Imagenes con C# en .Net</title><content type='html'>Aquí dejo el código de un sencillo explorador de archivos de imagen que se encuentran en una carpeta. Para todo esto se utiliza un formulario con un botón para abrir el cuadro de dialogo para seleccionar una carpeta del sistema (FolderBrowserDialog) y después se realiza un recorrido en la carpeta para mostrar los archivos que tengan una extensión de imágenes (jpg, bmp, gif, jpeg, etc), los resultados se muestran en un Treeview en forma de nodos que al seleccionar alguno se mostrara en un PictureBox en tamaño pequeño la imagen y ademas se mostraran unos pocos detalles del archivo de imagen.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Para mejor explicación dejo la imagen del programa en ejecución&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://3.bp.blogspot.com/_hHscOY1kZf4/TM4MlfPtNjI/AAAAAAAAADU/MIZ8cGxTNLE/s320/Ima02_Prog007.jpg" style="cursor:pointer; cursor:hand;width: 320px; height: 231px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5534374830266988082" /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Lo que aquí se pretende es mostrar la utilización de FolderBrowserDialog, TreeView y PictureBox.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Código del Programa&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;//&lt;/div&gt;&lt;div&gt;// Pequeño Explorador de Imagenes con C# en .Net&lt;/div&gt;&lt;div&gt;// Programo: http://gsur.blogspot.com&lt;/div&gt;&lt;div&gt;// El uso y modificación del código es libre y no olviden mencionar el origen gsur.blogspot.com&lt;/div&gt;&lt;div&gt;//&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;using System;&lt;/div&gt;&lt;div&gt;using System.Drawing;&lt;/div&gt;&lt;div&gt;using System.Windows.Forms;&lt;/div&gt;&lt;div&gt;using System.IO;&lt;/div&gt;&lt;div&gt;using System.Linq;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;class Formulario : Form&lt;/div&gt;&lt;div&gt;{&lt;/div&gt;&lt;div&gt; private System.ComponentModel.IContainer components = null;&lt;/div&gt;&lt;div&gt; private System.Windows.Forms.FolderBrowserDialog DialogoSeleccionarCarpetas;&lt;/div&gt;&lt;div&gt; private System.Windows.Forms.Button btnBuscarCarpeta;&lt;/div&gt;&lt;div&gt; private System.Windows.Forms.TreeView Arbol;&lt;/div&gt;&lt;div&gt; private System.Windows.Forms.PictureBox Imagen;&lt;/div&gt;&lt;div&gt; private System.Windows.Forms.Panel PanelSup;&lt;/div&gt;&lt;div&gt; private System.Windows.Forms.Label lblDetalles;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt; public Formulario()&lt;/div&gt;&lt;div&gt; {&lt;/div&gt;&lt;div&gt;  this.DialogoSeleccionarCarpetas = new System.Windows.Forms.FolderBrowserDialog();&lt;/div&gt;&lt;div&gt;  this.btnBuscarCarpeta = new System.Windows.Forms.Button();  &lt;/div&gt;&lt;div&gt;  this.Arbol = new System.Windows.Forms.TreeView();&lt;/div&gt;&lt;div&gt;  this.Imagen = new System.Windows.Forms.PictureBox();&lt;/div&gt;&lt;div&gt;  this.PanelSup = new System.Windows.Forms.Panel();&lt;/div&gt;&lt;div&gt;  this.lblDetalles = new System.Windows.Forms.Label();&lt;/div&gt;&lt;div&gt;  &lt;/div&gt;&lt;div&gt;  this.Size = new System.Drawing.Size(845,610);&lt;/div&gt;&lt;div&gt;  this.Text = "Clic en el boton Seleccionar carpeta";&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;  PanelSup.Location = new Point(0,0);&lt;/div&gt;&lt;div&gt;  PanelSup.Size = new Size(845, 50);&lt;/div&gt;&lt;div&gt;  PanelSup.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;&lt;/div&gt;&lt;div&gt;  PanelSup.Anchor = (AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right);&lt;/div&gt;&lt;div&gt;    &lt;/div&gt;&lt;div&gt;  btnBuscarCarpeta.Location = new System.Drawing.Point(8, 10);&lt;/div&gt;&lt;div&gt;  btnBuscarCarpeta.Name = "btnBuscarCarpeta";&lt;/div&gt;&lt;div&gt;  btnBuscarCarpeta.Size = new System.Drawing.Size(180, 32);&lt;/div&gt;&lt;div&gt;  btnBuscarCarpeta.TabIndex = 1;&lt;/div&gt;&lt;div&gt;  btnBuscarCarpeta.Text = "Seleccionar Carpeta";&lt;/div&gt;&lt;div&gt;  btnBuscarCarpeta.UseVisualStyleBackColor = true;&lt;/div&gt;&lt;div&gt;  btnBuscarCarpeta.Click += new System.EventHandler(btnBuscarCarpeta_Click);  &lt;/div&gt;&lt;div&gt;  &lt;/div&gt;&lt;div&gt;  Arbol.Location = new Point(8, 64);&lt;/div&gt;&lt;div&gt;  Arbol.Size = new Size(480, 515);&lt;/div&gt;&lt;div&gt;  Arbol.Anchor = AnchorStyles.Top | AnchorStyles.Left;&lt;/div&gt;&lt;div&gt;  Arbol.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(Arbol_AfterSelect);&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;  Imagen.Location = new System.Drawing.Point(490, 64);&lt;/div&gt;&lt;div&gt;  Imagen.Size = new System.Drawing.Size(340, 260);&lt;/div&gt;&lt;div&gt;  Imagen.TabStop = false;&lt;/div&gt;&lt;div&gt;  Imagen.SizeMode = PictureBoxSizeMode.StretchImage;&lt;/div&gt;&lt;div&gt;  Imagen.BorderStyle = BorderStyle.Fixed3D;&lt;/div&gt;&lt;div&gt;  Imagen.Anchor = AnchorStyles.Top | AnchorStyles.Left;&lt;/div&gt;&lt;div&gt;  &lt;/div&gt;&lt;div&gt;  lblDetalles.Location = new System.Drawing.Point(500,340);&lt;/div&gt;&lt;div&gt;  lblDetalles.Font = new Font(lblDetalles.Font.Name, 8, FontStyle.Bold, lblDetalles.Font.Unit);  &lt;/div&gt;&lt;div&gt;  &lt;/div&gt;&lt;div&gt;  Controls.Add(PanelSup);&lt;/div&gt;&lt;div&gt;  PanelSup.Controls.Add(btnBuscarCarpeta);&lt;/div&gt;&lt;div&gt;  Controls.Add(Arbol);&lt;/div&gt;&lt;div&gt;  Controls.Add(Imagen);&lt;/div&gt;&lt;div&gt;  Controls.Add(lblDetalles);&lt;/div&gt;&lt;div&gt;  DialogoSeleccionarCarpetas.ShowNewFolderButton = false;&lt;/div&gt;&lt;div&gt;  DialogoSeleccionarCarpetas.RootFolder = Environment.SpecialFolder.Desktop;&lt;/div&gt;&lt;div&gt; }&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt; private void btnBuscarCarpeta_Click(object sender, EventArgs e)&lt;/div&gt;&lt;div&gt; { &lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt; System.IO.FileInfo []archivos;&lt;/div&gt;&lt;div&gt;        DialogResult result = DialogoSeleccionarCarpetas.ShowDialog();&lt;/div&gt;&lt;div&gt;        if( result == DialogResult.OK )&lt;/div&gt;&lt;div&gt;        {&lt;/div&gt;&lt;div&gt;         this.Text = DialogoSeleccionarCarpetas.SelectedPath;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt; var dir = new System.IO.DirectoryInfo(DialogoSeleccionarCarpetas.SelectedPath);&lt;/div&gt;&lt;div&gt;         //Uso de LINQ to FileSystem (O LINQ to Objects)&lt;/div&gt;&lt;div&gt;         var resultado = from arch in dir.GetFiles()&lt;/div&gt;&lt;div&gt;                      where arch.Extension.ToLower() == ".jpg" ||&lt;/div&gt;&lt;div&gt;                      arch.Extension.ToLower() == ".bmp" ||&lt;/div&gt;&lt;div&gt;                      arch.Extension.ToLower() == ".png" ||&lt;/div&gt;&lt;div&gt;                      arch.Extension.ToLower() == ".gif" ||&lt;/div&gt;&lt;div&gt;                      arch.Extension.ToLower() == ".jpeg"&lt;/div&gt;&lt;div&gt;                      select arch;&lt;/div&gt;&lt;div&gt;         archivos=resultado.ToArray&amp;lt;System.IO.FileInfo&amp;gt;();&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt; System.IO.FileInfo item;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt; Arbol.BeginUpdate();&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt; Arbol.Nodes.Clear();&lt;/div&gt;&lt;div&gt;         for(int i=0;i&amp;lt;archivos.Length;i++)&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;    {&lt;/div&gt;&lt;div&gt;             item = archivos[i];&lt;/div&gt;&lt;div&gt;             if (item.Extension.ToLower() == ".jpg" ||&lt;/div&gt;&lt;div&gt;                 item.Extension.ToLower() == ".bmp" ||&lt;/div&gt;&lt;div&gt;                 item.Extension.ToLower() == ".png" ||&lt;/div&gt;&lt;div&gt;                 item.Extension.ToLower() == ".gif" ||&lt;/div&gt;&lt;div&gt;                 item.Extension.ToLower() == ".jpeg")&lt;/div&gt;&lt;div&gt;                {&lt;span class="Apple-tab-span" style="white-space:pre"&gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;     &lt;/span&gt;Arbol.Nodes.Add(item.FullName);&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;    &lt;/span&gt;}&lt;/div&gt;&lt;div&gt;            }&lt;/div&gt;&lt;div&gt;         Arbol.EndUpdate(); &lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;&lt;/div&gt;&lt;div&gt;        }&lt;/div&gt;&lt;div&gt; }&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; private void Arbol_AfterSelect(System.Object sender, System.Windows.Forms.TreeViewEventArgs e)&lt;/div&gt;&lt;div&gt; { &lt;/div&gt;&lt;div&gt;  System.IO.FileInfo ArchivoImagen = new System.IO.FileInfo(Arbol.SelectedNode.FullPath);&lt;/div&gt;&lt;div&gt;  long tArchivo = ArchivoImagen.Length;&lt;/div&gt;&lt;div&gt;  string tam_Archivo;&lt;/div&gt;&lt;div&gt;  if(tArchivo&amp;gt;1024)&lt;/div&gt;&lt;div&gt;    { &lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt; if(tArchivo / 1024 &amp;gt; 1024)&lt;/div&gt;&lt;div&gt;        tam_Archivo = (tArchivo / (1024*1000)).ToString("N") + " Megabytes";&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt; else&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;    tam_Archivo = (tArchivo / 1024).ToString("N") + " Kilobytes";&lt;/div&gt;&lt;div&gt;    }&lt;/div&gt;&lt;div&gt;  else&lt;/div&gt;&lt;div&gt;      tam_Archivo = tArchivo.ToString("N") + " Bytes";&lt;/div&gt;&lt;div&gt;    &lt;/div&gt;&lt;div&gt;  Imagen.Image = System.Drawing.Image.FromFile(Arbol.SelectedNode.FullPath);&lt;/div&gt;&lt;div&gt;  lblDetalles.Text = "Nombre: " + ArchivoImagen.Name;&lt;/div&gt;&lt;div&gt;  lblDetalles.Text += "nnTamaño del Archivo: " + tam_Archivo; &lt;/div&gt;&lt;div&gt;  lblDetalles.Text += "nnDimensiones (Ancho x Alto): ";&lt;/div&gt;&lt;div&gt;  lblDetalles.Text += Imagen.Image.Width.ToString("#,###");&lt;/div&gt;&lt;div&gt;  lblDetalles.Text += " x " + Imagen.Image.Height.ToString("#,###") + " Pixeles";&lt;/div&gt;&lt;div&gt;  lblDetalles.Size = new Size (lblDetalles.PreferredWidth, lblDetalles.PreferredHeight);&lt;/div&gt;&lt;div&gt; }&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; protected override void Dispose(bool disposing)&lt;/div&gt;&lt;div&gt; {&lt;/div&gt;&lt;div&gt;  if (disposing &amp;amp;&amp;amp; (components != null))&lt;/div&gt;&lt;div&gt;     {&lt;/div&gt;&lt;div&gt;      components.Dispose();&lt;/div&gt;&lt;div&gt;     }&lt;/div&gt;&lt;div&gt;  base.Dispose(disposing);&lt;/div&gt;&lt;div&gt; }&lt;/div&gt;&lt;div&gt; [STAThread]&lt;/div&gt;&lt;div&gt; public static void Main()&lt;/div&gt;&lt;div&gt; {&lt;/div&gt;&lt;div&gt;  Application.Run(new Formulario());&lt;/div&gt;&lt;div&gt; }&lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-1089411260713131466?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/1089411260713131466/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=1089411260713131466' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/1089411260713131466'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/1089411260713131466'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2010/10/explorador-de-imagenes-con-c-en-net.html' title='Explorador de Imagenes con C# en .Net'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_hHscOY1kZf4/TM4MlfPtNjI/AAAAAAAAADU/MIZ8cGxTNLE/s72-c/Ima02_Prog007.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-2389701397857814814</id><published>2010-10-30T17:56:00.000-07:00</published><updated>2010-10-30T18:04:16.320-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='.Net'/><category scheme='http://www.blogger.com/atom/ns#' term='Impresion en .NET'/><title type='text'>Impresion en .Net con C#</title><content type='html'>Aquí dejo el código en C# de un programa que muestra un formulario con un control TextBox y un Boton para mostrar en vista previa lo capturado en el TextBox.&lt;div&gt;&lt;br /&gt;&lt;div&gt;Código del programa&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;//&lt;/div&gt;&lt;div&gt;// Programa que muestra como mostrar una vista previa e imprimir&lt;/div&gt;&lt;div&gt;// http://gsur.blogspot.com&lt;/div&gt;&lt;div&gt;//&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;using System;&lt;/div&gt;&lt;div&gt;using System.Drawing;&lt;/div&gt;&lt;div&gt;using System.Windows.Forms;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;namespace Impresion&lt;/div&gt;&lt;div&gt;{&lt;/div&gt;&lt;div&gt; class Formulario : Form&lt;/div&gt;&lt;div&gt; {&lt;/div&gt;&lt;div&gt;  private System.ComponentModel.IContainer components = null;&lt;/div&gt;&lt;div&gt;  private System.Drawing.Printing.PrintDocument ImprimeDocumento;&lt;/div&gt;&lt;div&gt;  private System.Windows.Forms.PrintPreviewDialog DialogoVistaPrevia;&lt;/div&gt;&lt;div&gt;  private System.Windows.Forms.Button btnImprime;&lt;/div&gt;&lt;div&gt;  private System.Windows.Forms.TextBox txtNombre;&lt;/div&gt;&lt;div&gt;  private System.Windows.Forms.Label lblNombre;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;  public Formulario()&lt;/div&gt;&lt;div&gt;  {&lt;/div&gt;&lt;div&gt;   ImprimeDocumento = new System.Drawing.Printing.PrintDocument();&lt;/div&gt;&lt;div&gt;   DialogoVistaPrevia = new System.Windows.Forms.PrintPreviewDialog();&lt;/div&gt;&lt;div&gt;   btnImprime = new System.Windows.Forms.Button();       &lt;/div&gt;&lt;div&gt;   txtNombre = new System.Windows.Forms.TextBox();&lt;/div&gt;&lt;div&gt;   lblNombre = new System.Windows.Forms.Label();&lt;/div&gt;&lt;div&gt;   ImprimeDocumento.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(ImprimeDocumento_ImprimePagina);&lt;/div&gt;&lt;div&gt;   DialogoVistaPrevia.AutoScrollMargin = new System.Drawing.Size(0, 0);&lt;/div&gt;&lt;div&gt;   DialogoVistaPrevia.AutoScrollMinSize = new System.Drawing.Size(0, 0);&lt;/div&gt;&lt;div&gt;   DialogoVistaPrevia.ClientSize = new System.Drawing.Size(400, 300);&lt;/div&gt;&lt;div&gt;   DialogoVistaPrevia.Document = ImprimeDocumento;&lt;/div&gt;&lt;div&gt;   DialogoVistaPrevia.Enabled = true;&lt;/div&gt;&lt;div&gt;   DialogoVistaPrevia.Name = "printPreviewDialog1";&lt;/div&gt;&lt;div&gt;   DialogoVistaPrevia.Visible = false;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;   btnImprime.Location = new System.Drawing.Point(80, 64);&lt;/div&gt;&lt;div&gt;   btnImprime.Name = "btnImprime";&lt;/div&gt;&lt;div&gt;   btnImprime.Size = new System.Drawing.Size(80, 22);&lt;/div&gt;&lt;div&gt;   btnImprime.TabIndex = 1;&lt;/div&gt;&lt;div&gt;   btnImprime.Text = "Vista Previa";&lt;/div&gt;&lt;div&gt;   btnImprime.UseVisualStyleBackColor = true;&lt;/div&gt;&lt;div&gt;   btnImprime.Click += new System.EventHandler(btnImprime_Click);&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;   txtNombre.Location = new System.Drawing.Point(80, 32);&lt;/div&gt;&lt;div&gt;   txtNombre.Name = "txtNombre";&lt;/div&gt;&lt;div&gt;   txtNombre.Size = new System.Drawing.Size(200, 22);&lt;/div&gt;&lt;div&gt;   txtNombre.TabIndex = 0;&lt;/div&gt;&lt;div&gt;   txtNombre.Text = "Escribir su nombre"; &lt;/div&gt;&lt;div&gt;   &lt;/div&gt;&lt;div&gt;   lblNombre.Location = new System.Drawing.Point(32, 32);&lt;/div&gt;&lt;div&gt;   lblNombre.Name = "lblNombre";&lt;/div&gt;&lt;div&gt;   lblNombre.Text = "Nombre: ";   &lt;/div&gt;&lt;div&gt;   &lt;/div&gt;&lt;div&gt;   AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);&lt;/div&gt;&lt;div&gt;   AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;&lt;/div&gt;&lt;div&gt;   ClientSize = new System.Drawing.Size(322, 287);&lt;/div&gt;&lt;div&gt;   Controls.Add(btnImprime);&lt;/div&gt;&lt;div&gt;   Controls.Add(txtNombre);&lt;/div&gt;&lt;div&gt;   Controls.Add(lblNombre);&lt;/div&gt;&lt;div&gt;   Name = "frmImprime";&lt;/div&gt;&lt;div&gt;   Text = "Impresion con C#";&lt;/div&gt;&lt;div&gt;  }&lt;/div&gt;&lt;div&gt;  &lt;/div&gt;&lt;div&gt;  private void ImprimeDocumento_ImprimePagina(object sender, System.Drawing.Printing.PrintPageEventArgs e)&lt;/div&gt;&lt;div&gt;  {&lt;/div&gt;&lt;div&gt;   e.Graphics.DrawString("Nombre: " + txtNombre.Text, new Font("Arial", 16), System.Drawing.Brushes.Blue, new PointF(20,20));&lt;/div&gt;&lt;div&gt;   Pen LineaNegra = new Pen(Color.FromArgb(255, 0, 0, 255), 5);&lt;/div&gt;&lt;div&gt;   e.Graphics.DrawRectangle(LineaNegra, 120, 50, 450, 1);&lt;/div&gt;&lt;div&gt;  }&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;  private void btnImprime_Click(object sender, EventArgs e)&lt;/div&gt;&lt;div&gt;  {&lt;/div&gt;&lt;div&gt;   DialogoVistaPrevia.ShowDialog();&lt;/div&gt;&lt;div&gt;  }&lt;/div&gt;&lt;div&gt;  &lt;/div&gt;&lt;div&gt;  protected override void Dispose(bool disposing)&lt;/div&gt;&lt;div&gt;  {&lt;/div&gt;&lt;div&gt;   if (disposing &amp;amp;&amp;amp; (components != null))&lt;/div&gt;&lt;div&gt;      {&lt;/div&gt;&lt;div&gt;       components.Dispose();&lt;/div&gt;&lt;div&gt;      }&lt;/div&gt;&lt;div&gt;   base.Dispose(disposing);&lt;/div&gt;&lt;div&gt; }&lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; static class Programa&lt;/div&gt;&lt;div&gt; { &lt;/div&gt;&lt;div&gt;  public static void Main()&lt;/div&gt;&lt;div&gt;  {&lt;/div&gt;&lt;div&gt;   Application.Run(new Formulario());&lt;/div&gt;&lt;div&gt;  }&lt;/div&gt;&lt;div&gt; }&lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Imagen de la compilación del programa&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;img src="http://4.bp.blogspot.com/_hHscOY1kZf4/TMy_5bCsqhI/AAAAAAAAADE/lJ8HOpVHhIs/s320/Ima01_Prog004.jpg" style="cursor:pointer; cursor:hand;width: 320px; height: 158px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5534009035364018706" /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Imagen del programa en ejecución&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://3.bp.blogspot.com/_hHscOY1kZf4/TMy_6LaIjXI/AAAAAAAAADM/7P716nhfrvU/s320/Ima02_Prog004.jpg" style="cursor:pointer; cursor:hand;width: 320px; height: 288px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5534009048347217266" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-2389701397857814814?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/2389701397857814814/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=2389701397857814814' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/2389701397857814814'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/2389701397857814814'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2010/10/impresion-en-net-con-c.html' title='Impresion en .Net con C#'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_hHscOY1kZf4/TMy_5bCsqhI/AAAAAAAAADE/lJ8HOpVHhIs/s72-c/Ima01_Prog004.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-1058954367422284190</id><published>2010-10-28T19:24:00.000-07:00</published><updated>2010-10-28T19:36:35.630-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eventos'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Forms'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Eventos del Mouse en C# (MouseEventHandler)</title><content type='html'>Programa de Ejemplo que mostrara las coordenadas de la posición donde se pulse el boton Izquierdo del ratón dentro de un formulario.&lt;br /&gt;&lt;br /&gt;Codigo&lt;br /&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Windows.Forms;&lt;br /&gt;&lt;br /&gt;class Recibe_Evento&lt;br /&gt;{&lt;br /&gt;public Recibe_Evento(Formulario frm)&lt;br /&gt;{&lt;br /&gt;frm.MouseDown += new MouseEventHandler(AlHacerClicRaton);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void AlHacerClicRaton(object origen, MouseEventArgs e)&lt;br /&gt;{&lt;br /&gt;if(e.Button == MouseButtons.Left)&lt;br /&gt;((Form)origen).Text = "Posicion: (" + e.X + ", " + e.Y + ")";&lt;br /&gt;else&lt;br /&gt;if((e.Button == MouseButtons.Right) || (e.Button == MouseButtons.Middle))&lt;br /&gt;  MessageBox.Show("Debe pulsar el boton izquierdo");&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;class Formulario : Form&lt;br /&gt;{&lt;br /&gt;public Formulario()&lt;br /&gt;{&lt;br /&gt;this.Size = new System.Drawing.Size(400,250);&lt;br /&gt;this.Text = "Clic con el raton sobre el formulario";&lt;br /&gt;Recibe_Evento r = new Recibe_Evento(this);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;protected override void Dispose (bool disposing)&lt;br /&gt;{&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;//Para demostrar que dispose es invocado&lt;br /&gt;MessageBox.Show("Liberado");&lt;br /&gt;}&lt;br /&gt;catch(Exception)&lt;br /&gt;{}&lt;br /&gt;base. Dispose(disposing);&lt;br /&gt;}&lt;br /&gt;public static void Main()&lt;br /&gt;{&lt;br /&gt;Application.Run(new Formulario());&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Ventanas donde se muestra la compilación y la ejecución.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_hHscOY1kZf4/TMox7sRghjI/AAAAAAAAAC0/NlIcwJV_e9M/s1600/Ima002.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 168px;" src="http://3.bp.blogspot.com/_hHscOY1kZf4/TMox7sRghjI/AAAAAAAAAC0/NlIcwJV_e9M/s320/Ima002.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5533289993744713266" /&gt;&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ventana que muestra el mensaje liberado al cerrar la ventana&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_hHscOY1kZf4/TMoyeP3UsfI/AAAAAAAAAC8/YOax6QsBzs8/s1600/Ima003.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 200px;" src="http://1.bp.blogspot.com/_hHscOY1kZf4/TMoyeP3UsfI/AAAAAAAAAC8/YOax6QsBzs8/s320/Ima003.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5533290587414114802" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-1058954367422284190?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/1058954367422284190/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=1058954367422284190' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/1058954367422284190'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/1058954367422284190'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2010/10/eventos-del-mouse-en-c.html' title='Eventos del Mouse en C# (MouseEventHandler)'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_hHscOY1kZf4/TMox7sRghjI/AAAAAAAAAC0/NlIcwJV_e9M/s72-c/Ima002.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-6834313393091458435</id><published>2010-10-27T19:36:00.000-07:00</published><updated>2010-10-27T19:44:46.403-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='clases'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Programa Ejemplo de clases en C#</title><content type='html'>&lt;b&gt;Aquí el código de ejemplo de uso de clases en c#&lt;/b&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;using System;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;public class Persona //Clase Persona&lt;/div&gt;&lt;div&gt;{&lt;/div&gt;&lt;div&gt; private string Nombre; //Atributos&lt;/div&gt;&lt;div&gt; private int Edad;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt; //Constructor&lt;/div&gt;&lt;div&gt; public Persona(string N, int nEdad)&lt;/div&gt;&lt;div&gt; {&lt;/div&gt;&lt;div&gt;  elNombre = N;&lt;/div&gt;&lt;div&gt;  laEdad = nEdad;&lt;/div&gt;&lt;div&gt; }&lt;/div&gt;&lt;div&gt; //Metodos&lt;/div&gt;&lt;div&gt; public string elNombre&lt;/div&gt;&lt;div&gt; {&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;get&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;{&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;return this.Nombre;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;}&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;set&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;{&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;this.Nombre = value;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;}&lt;/div&gt;&lt;div&gt; }&lt;/div&gt;&lt;div&gt; public int laEdad&lt;/div&gt;&lt;div&gt; {&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;get&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;{&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;return this.Edad;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;}&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;set&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;{&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;this.Edad = value;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;}&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt; }&lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;public class Prog002&lt;/div&gt;&lt;div&gt;{&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;public static void Main()&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;{&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;Persona  per = new Persona("Pedro Martinez Solis",24);&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;Console.WriteLine("***********************************************************************");&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;Console.WriteLine(" Programa usando una clase, inicia mostrando los datos que se pasan aln crear la instancia");&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;Console.WriteLine("***********************************************************************n");&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;Console.WriteLine("Nombre de la persona: {0}", per.elNombre);&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;Console.WriteLine("Edad: {0}", per.laEdad);&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;//Ahora pediremos los datos y los mostraremos&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;Console.Write("nnNombre de la persona: ");&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;per.elNombre = Console.ReadLine();&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;Console.Write("nEdad: ");&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;per.laEdad = int.Parse(Console.ReadLine()); &lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;Console.WriteLine("nnNuevos datos capturados");&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;Console.WriteLine("Nombre de la persona: {0}", per.elNombre);&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;Console.WriteLine("Edad: {0}", per.laEdad);&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;}&lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ventana de como se vería la compilación y ejecución&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_hHscOY1kZf4/TMjjP_P3qLI/AAAAAAAAACM/M72yhXiarrk/s1600/Ima001.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 170px;" src="http://1.bp.blogspot.com/_hHscOY1kZf4/TMjjP_P3qLI/AAAAAAAAACM/M72yhXiarrk/s320/Ima001.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5532922006040193202" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-6834313393091458435?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/6834313393091458435/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=6834313393091458435' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/6834313393091458435'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/6834313393091458435'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2010/10/programa-ejemplo-de-clases-en-c.html' title='Programa Ejemplo de clases en C#'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_hHscOY1kZf4/TMjjP_P3qLI/AAAAAAAAACM/M72yhXiarrk/s72-c/Ima001.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-3887929738531837980</id><published>2008-12-15T17:01:00.000-08:00</published><updated>2008-12-15T17:16:15.443-08:00</updated><title type='text'>Fin de año</title><content type='html'>Pues si, ya es casi fin de año y aqui de nuevo desempolvando el blog, me pregunto sobre que tendria que escribir para que no deje morir a esta bitacora, al comienzo comence con programacion, puro codigo crudo, quizas no de mucha utilidad pero a alguna que otra persona le aligere la tarea de investigar, en fin despues comence a divagar con codigo y entradas personales y por ultimo inclui un video, despues de ahi solamente 1 entrada mas y nada mas, asi que ahora llego a este punto considerando seguir escribiendo o solamente copiar y pegar alguno que otro codigo que he escrito, bueno, en fin ahora que ya estableci algunos dilemas de la problematica de comenzar un blog y mantenerlo vivo, me vuelvo a comprometer a mantener un poco mas al dia el blog con temas o codigo crudo copiado y pegado.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-3887929738531837980?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/3887929738531837980/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=3887929738531837980' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/3887929738531837980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/3887929738531837980'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2008/12/fin-de-ao.html' title='Fin de año'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-8290956158504920708</id><published>2008-07-07T21:04:00.000-07:00</published><updated>2008-07-07T21:11:19.396-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><title type='text'>Desde hace mas de un año</title><content type='html'>De nuevo aqui con una entrada para quitar el polvo de este blog, por el momento no tengo codigo que pegar, pero lo que si se tiene es un proyecto en mente que espero no entumirme demasiado e irlo publicando y dandole forma, lo mas seguro es que sea programado con c# para darle un mejor sabor a todo esto, pero en fin dejo esto hasta aqui para irme preparando y ademas para desempolve con estas lineas es suficiente.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-8290956158504920708?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/8290956158504920708/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=8290956158504920708' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/8290956158504920708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/8290956158504920708'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2008/07/desde-hace-mas-de-un-ao.html' title='Desde hace mas de un año'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-1418155084286809445</id><published>2007-01-19T08:34:00.000-08:00</published><updated>2007-01-19T08:48:02.832-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mono'/><title type='text'>Concierto privado</title><content type='html'>Aqui dejo un video de un concierto privado del PDC03, tema "Miguel My Belle" dedicacion de Don Box a Miguel de Icaza.&lt;br /&gt;&lt;center&gt;&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://www.youtube.com/v/BFspnU_TaFo"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/BFspnU_TaFo" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-1418155084286809445?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/1418155084286809445/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=1418155084286809445' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/1418155084286809445'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/1418155084286809445'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2007/01/concierto-privado.html' title='Concierto privado'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-8010323576717413174</id><published>2007-01-18T18:54:00.000-08:00</published><updated>2007-01-18T19:50:16.264-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><title type='text'>Quemaduras por el Sol</title><content type='html'>Hace ya una tanda de años atras, recuerdo haber ido a la playa y pasar el día completo al sol sin bloqueador solar y pasarmela de lo lindo, al terminar el día solo tenia una leve quemadita por el sol que no pasaba a mayores, pero las cosas cambian, creces y tratas lo mas posible de no estar expuesto al Sol, así que la piel se hace mas sensible y claro no le quitemos credito al incremento de la radiación UV-B por la destrucción gradual de la capa de ozono, bueno creo que ya me sali del tema, el caso que en días pasados me decidi irme con mi familia a la playa, así que como nunca habia tenido problemas en la piel por el Sol, me atrevi a no aplicarme bloqueador solar y mucho menos andar en la playa con camiseta (no queria perder la oportunidad de mostrar mi gran abdomen mas de 100 cm) por lo que sufri unas quemaduras tremendas principalmente en la espalda, al menos ese día por la noche no pude dormir boca arriba y por la mañana tenia un dolor tan tremendo que queria andar sin ropa, en fin los siguientes días me la he pasando curandome las quemaduras y durmiendo boca abajo y no se hable de sentarme sin recargar la espalda por lo que ya ando con un dolor de espalda tremendo.&lt;br /&gt;&lt;br /&gt;Quizas el leer esto despues me cause risa, pero lo unico que puedo decir es que ya no lo vuelvo a hacer y aconsejo no hagan lo que yo, jajaja, hasta luego y no sean muy duros y me llenen de mensajes de burla.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-8010323576717413174?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/8010323576717413174/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=8010323576717413174' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/8010323576717413174'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/8010323576717413174'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2007/01/quemaduras-por-el-sol.html' title='Quemaduras por el Sol'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-2764727137583017716</id><published>2007-01-11T19:13:00.000-08:00</published><updated>2007-01-11T19:27:13.214-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><title type='text'>A la Alza</title><content type='html'>Empieza el año y ya las estimaciones inflacionarias de nuestros economistas han sido superadas en un poco mas de 0.04% y ahora con el alza del precio de la tortilla el panal se ha alborotado y las avispas andan bravas, claro sin considerar que los medios de comunicación lo resaltan a mas no poder y buscando por toda la republica el precio mas alto del kg de tortilla que primero decian $14, luego $15 y ahora resulta que ha llegado hasta $18.&lt;br /&gt;&lt;br /&gt;Ahora segun nuestros secretarios dicen que el precio elevado se debe al alto costo del Maíz y que ademas nuestro campo mexicano no satisface la demanda de grano y que se debe recurrir a la importación, pero que pasa, si ya el campo mexicano ha sido olvidado, ahora quieren darle otro golpe mas, no creen que seria mas conveniente quitar a los intermediarios que compran barato al productor y almacenan el grano para venderlo caro.&lt;br /&gt;&lt;br /&gt;En fin yo no soy economista ni tampoco pretendo serlo, pero lo que si quiero es que nuestro gobierno busque soluciones de largo plazo y no siga dando aspirinas.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-2764727137583017716?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/2764727137583017716/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=2764727137583017716' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/2764727137583017716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/2764727137583017716'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2007/01/la-alza.html' title='A la Alza'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-1859662495103816656</id><published>2007-01-10T21:20:00.000-08:00</published><updated>2007-01-10T21:29:07.041-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Especificadores de formato</title><content type='html'>c -&gt; Formato de moneda&lt;br /&gt;d -&gt; Formato decimal&lt;br /&gt;f -&gt; Coma fija&lt;br /&gt;n -&gt; Número&lt;br /&gt;p -&gt; Porcentaje&lt;br /&gt;r -&gt; Format para evitar perdida de precisión&lt;br /&gt;&lt;br /&gt;Los resultados de los especificadores pueden diferir ya que dependen de las caracteristicas culturales consideradas en ese momento actuales por C#.&lt;br /&gt;&lt;br /&gt;Ejemplo: Se muestra el resultado que proporciona el especificador 'c' cuando se trabaja con las caracteristicas culturales de Estados Unidos.&lt;br /&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Globalization;&lt;br /&gt;&lt;br /&gt;class FormateoEU&lt;br /&gt;{&lt;br /&gt;  public static void Main()&lt;br /&gt; {&lt;br /&gt;  CultureInfo N = new CultureInfo("en-US");&lt;br /&gt;  string cadena = 12345.6.ToString("c",N);   //Mostraria $12,345.60&lt;br /&gt;  Console.WriteLine(cadena);&lt;br /&gt; }&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-1859662495103816656?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/1859662495103816656/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=1859662495103816656' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/1859662495103816656'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/1859662495103816656'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2007/01/especificadores-de-formato.html' title='Especificadores de formato'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-7956998895929281091</id><published>2007-01-01T17:58:00.000-08:00</published><updated>2007-01-01T18:09:24.201-08:00</updated><title type='text'>Comienza el 2007</title><content type='html'>Despues de meses de espera empezamos un nuevo año, en primer lugar no sabia si escribiria una entrada este día y en segundo lugar no sabia si aguantaria 1 año con este blog, ya que las estadisticas nos dicen que para el 2007 mas de la mitad de los blogs creados seran abandonados, debido a las prestaciones de los nuevos celulares para comunicarse y otros rollos, pero como yo no tengo celular de los nuevecitos con camara ciber-shot incluida y conexión a internet, pues seguire escribiendo en este humilde blog, aunque a veces sea yo el unico que me lea jajajaja, en fin lo unico que espero es que tengamos todos mucha salud y que sea prospero el año 2007 y todos los venideros, me despido y no sean gandallas dejenme un mensaje, sean de los primeros por que luego el blog no tiene cupo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-7956998895929281091?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/7956998895929281091/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=7956998895929281091' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/7956998895929281091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/7956998895929281091'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2007/01/comienza-el-2007.html' title='Comienza el 2007'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-9021997341943237200</id><published>2006-12-20T08:51:00.000-08:00</published><updated>2008-12-12T22:59:43.065-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Codigo'/><title type='text'>Vista Preeliminar con C#</title><content type='html'>En ciertas ocasiones nuestro programa debe enviar por impresora información ya sea de una base de datos o de algun documento plano, pero entonces nos topamos con los diseñadores de reportes (cristal report) por llamarlo asi, pero que sucede cuando no lo tenemos a la mano, pues aqui planteo una forma interesante de enviar un archivo XML a vista preeliminar y claro desde aqui ya podemos imprimir, que es lo que se necesita:&lt;br /&gt;&lt;br /&gt;Con este pequeño codigo es mas que suficiente&lt;br /&gt;&lt;br /&gt;using System.Xml; //Con esto trataremos los objetos para XML&lt;br /&gt;using System.Xml.Xsl;&lt;br /&gt;&lt;br /&gt;Ahora el codigo de la función&lt;br /&gt;&lt;br /&gt;XslCompiledTransform xslt = new XslCompiledTransform();&lt;br /&gt;xslt.Load("s.xsl"); //Archivo con el que le daremos forma a nuestro archivo XML&lt;br /&gt;&lt;br /&gt;//Aqui le aplicamos la transformación y lo guardamos como archivo HTML&lt;br /&gt;xslt.Transform("Miarchivo.xml", "informe.html");&lt;br /&gt;&lt;br /&gt;//Con un control webBrowser (disponible en el framework .NET 2.x ) insertado en nuestro form&lt;br /&gt;//Cargamos el archivo HTML creado&lt;br /&gt;&lt;br /&gt;web.Navigate(new Uri(Environment.CurrentDirectory + "&lt;a href="file://informe.html/"&gt;file://informe.html/&lt;/a&gt;"));&lt;br /&gt;&lt;br /&gt;//Ahora solo llamamos al metodo PrintPreviewDialog y listo&lt;br /&gt;&lt;br /&gt;web.ShowPrintPreviewDialog();&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Figura(1)&lt;/strong&gt; Este es el control a insertar&lt;br /&gt;&lt;p&gt;&lt;img id="BLOGGER_PHOTO_ID_5010660862356198338" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_hHscOY1kZf4/RYlxgbaxk8I/AAAAAAAAAAY/b2FeSYo0bms/s320/webBrowser.JPG" border="0" /&gt;&lt;br /&gt;&lt;strong&gt;Figgura(2)&lt;/strong&gt; Asi es como saldria nuestra ventana con vista preeliminar&lt;/p&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5010660866651165650" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_hHscOY1kZf4/RYlxgraxk9I/AAAAAAAAAAg/rtazSI-ODAM/s320/vpreviawebBrowser.JPG" border="0" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-9021997341943237200?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/9021997341943237200/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=9021997341943237200' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/9021997341943237200'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/9021997341943237200'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/12/vista-preeliminar-con-c.html' title='Vista Preeliminar con C#'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_hHscOY1kZf4/RYlxgbaxk8I/AAAAAAAAAAY/b2FeSYo0bms/s72-c/webBrowser.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-852688621318101245</id><published>2006-12-14T09:58:00.000-08:00</published><updated>2006-12-14T10:03:45.409-08:00</updated><title type='text'>¿Y la educacion?</title><content type='html'>Con gran desconcierto escuchaba la noticia del recorte al presupuesto para la educación superior en México, y me pregunto, pensaran que le estaban dando mucho?, o por que el recorte?, estas cosas son las que me molestan, terminamos el año con el cambio de presidente despues de varios meses en disputas pos-electorales, despues la burla del gobierno austero y ahora el recorte, y para acabarla no tengo nada en mente para escribir en el blog y me pongo a escribir estas patrañas... me despido y que tengan un buen dia.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-852688621318101245?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/852688621318101245/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=852688621318101245' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/852688621318101245'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/852688621318101245'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/12/y-la-educacion.html' title='¿Y la educacion?'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-5019210578640997440</id><published>2006-12-13T07:56:00.000-08:00</published><updated>2008-12-12T22:59:43.295-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Codigo'/><title type='text'>C# y xml</title><content type='html'>En dias pasados instale el visual c# express de Microsoft (nadie es perfecto jejeje), y para empezar me programe un directorio telefonico pero utilizando XML para almacenar los contactos y en realidad me agrado, aunque el codigo no esta muy optimizado en cierta forma es funcional, de momento aqui les dejo el pantallazo y el codigo, espero no sea muy criticado el hecho de haber abordado esto con Mono, pero recuerdo que solo es un ejemplo de prueba con Visual C# express, aunque no se ha perdido la esencia ya que seguimos utilizando C#.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5008046204882288226" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_hHscOY1kZf4/RYAnfVTAfmI/AAAAAAAAAAM/7KYxAS2h0rg/s400/dirjpg.JPG" border="0" /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.ComponentModel;&lt;br /&gt;using System.Data;&lt;br /&gt;using System.Drawing;&lt;br /&gt;using System.Text;&lt;br /&gt;using System.Windows.Forms;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;namespace WindowsApplication1&lt;br /&gt;{&lt;br /&gt;public partial class frmppal : Form&lt;br /&gt;{&lt;br /&gt;DataSet archivoXML;&lt;br /&gt;DataGrid Grid;&lt;br /&gt;public frmppal()&lt;br /&gt;{&lt;br /&gt;InitializeComponent();&lt;br /&gt;}&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;private void frmppal_Load(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;Grid = new DataGrid();&lt;br /&gt;Grid.Name = "Grid";&lt;br /&gt;Grid.Size = new Size(200, 150);&lt;br /&gt;Grid.Location = new Point(0, 50);&lt;br /&gt;Grid.Dock = DockStyle.Fill;&lt;br /&gt;pgrid.Controls.Add(Grid);&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;//crear un objeto para estilos en el Datagrid&lt;br /&gt;DataGridTableStyle estilo = new DataGridTableStyle();&lt;br /&gt;estilo.MappingName = "CONTACTO";&lt;br /&gt;estilo.BackColor = Color.LightGray;&lt;br /&gt;estilo.AlternatingBackColor = Color.LightSteelBlue;&lt;br /&gt;estilo.ForeColor = Color.Black;&lt;br /&gt;estilo.LinkColor = Color.Black;&lt;br /&gt;&lt;br /&gt;//Crear objetos del tipo DataGridTextBoxColumn&lt;br /&gt;//para cada columna de la tabla del Datagrid&lt;br /&gt;DataGridTextBoxColumn columna = new DataGridTextBoxColumn();&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;//Configurar cada columna&lt;br /&gt;//Esta es la primera columna&lt;br /&gt;columna = new DataGridTextBoxColumn();&lt;br /&gt;//columna.TextBox.MaxLength = 50;&lt;br /&gt;columna.Alignment = HorizontalAlignment.Left;&lt;br /&gt;columna.HeaderText = "Nombre del contacto";&lt;br /&gt;//columna del Dataset enlazada con esta columna del Datagrid&lt;br /&gt;columna.MappingName = "NOMBRE";&lt;br /&gt;columna.Width = 280;&lt;br /&gt;//texto que se muestra cuando la columna tiene valor null&lt;br /&gt;columna.NullText = "";&lt;br /&gt;//añadir la columna a los estilos del Datagrid&lt;br /&gt;estilo.GridColumnStyles.Add(columna);&lt;br /&gt;//Direccion&lt;br /&gt;columna = new DataGridTextBoxColumn();&lt;br /&gt;//columna.TextBox.MaxLength = 50;&lt;br /&gt;columna.Alignment = HorizontalAlignment.Left;&lt;br /&gt;columna.HeaderText = "Direccion";&lt;br /&gt;//columna del Dataset enlazada con esta columna del Datagrid&lt;br /&gt;columna.MappingName = "DIRECCION";&lt;br /&gt;columna.Width = 190;&lt;br /&gt;//texto que se muestra cuando la columna tiene valor null&lt;br /&gt;columna.NullText = "";&lt;br /&gt;//añadir la columna a los estilos del Datagrid&lt;br /&gt;estilo.GridColumnStyles.Add(columna);&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;//CARGO&lt;br /&gt;columna = new DataGridTextBoxColumn();&lt;br /&gt;//columna.TextBox.MaxLength = 50;&lt;br /&gt;columna.Alignment = HorizontalAlignment.Left;&lt;br /&gt;columna.HeaderText = "Cargo";&lt;br /&gt;//columna del Dataset enlazada con esta columna del Datagrid&lt;br /&gt;columna.MappingName = "CARGO";&lt;br /&gt;columna.Width = 190;&lt;br /&gt;//texto que se muestra cuando la columna tiene valor null&lt;br /&gt;columna.NullText = "";&lt;br /&gt;//añadir la columna a los estilos del Datagrid&lt;br /&gt;estilo.GridColumnStyles.Add(columna);&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;//GRUPO&lt;br /&gt;columna = new DataGridTextBoxColumn();&lt;br /&gt;//columna.TextBox.MaxLength = 50;&lt;br /&gt;columna.Alignment = HorizontalAlignment.Left;&lt;br /&gt;columna.HeaderText = "Grupo";&lt;br /&gt;//columna del Dataset enlazada con esta columna del Datagrid&lt;br /&gt;columna.MappingName = "GRUPO";&lt;br /&gt;columna.Width = 190;&lt;br /&gt;//texto que se muestra cuando la columna tiene valor null&lt;br /&gt;columna.NullText = "";&lt;br /&gt;//añadir la columna a los estilos del Datagrid&lt;br /&gt;estilo.GridColumnStyles.Add(columna);&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;//LETRA&lt;br /&gt;columna = new DataGridTextBoxColumn();&lt;br /&gt;//columna.TextBox.MaxLength = 50;&lt;br /&gt;columna.Alignment = HorizontalAlignment.Left;&lt;br /&gt;columna.HeaderText = "Letra";&lt;br /&gt;//columna del Dataset enlazada con esta columna del Datagrid&lt;br /&gt;columna.MappingName = "LETRA";&lt;br /&gt;columna.Width = 50;&lt;br /&gt;//texto que se muestra cuando la columna tiene valor null&lt;br /&gt;columna.NullText = "";&lt;br /&gt;//añadir la columna a los estilos del Datagrid&lt;br /&gt;estilo.GridColumnStyles.Add(columna);&lt;br /&gt;//FAX&lt;br /&gt;columna = new DataGridTextBoxColumn();&lt;br /&gt;//columna.TextBox.MaxLength = 50;&lt;br /&gt;columna.Alignment = HorizontalAlignment.Left;&lt;br /&gt;columna.HeaderText = "Fax";&lt;br /&gt;//columna del Dataset enlazada con esta columna del Datagrid&lt;br /&gt;columna.MappingName = "FAX";&lt;br /&gt;columna.Width = 90;&lt;br /&gt;//texto que se muestra cuando la columna tiene valor null&lt;br /&gt;columna.NullText = "";&lt;br /&gt;//añadir la columna a los estilos del Datagrid&lt;br /&gt;estilo.GridColumnStyles.Add(columna);&lt;br /&gt;//EMAIL&lt;br /&gt;columna = new DataGridTextBoxColumn();&lt;br /&gt;//columna.TextBox.MaxLength = 50;&lt;br /&gt;columna.Alignment = HorizontalAlignment.Left;&lt;br /&gt;columna.HeaderText = "Correo Electronico";&lt;br /&gt;//columna del Dataset enlazada con esta columna del Datagrid&lt;br /&gt;columna.MappingName = "EMAIL";&lt;br /&gt;columna.Width = 190;&lt;br /&gt;//texto que se muestra cuando la columna tiene valor null&lt;br /&gt;columna.NullText = "";&lt;br /&gt;//añadir la columna a los estilos del Datagrid&lt;br /&gt;estilo.GridColumnStyles.Add(columna);&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;//crear un objeto para estilos en el Datagrid&lt;br /&gt;DataGridTableStyle estiloTelefono = new DataGridTableStyle();&lt;br /&gt;estiloTelefono.MappingName = "TELEFONO";&lt;br /&gt;estiloTelefono.BackColor = Color.Beige;&lt;br /&gt;estiloTelefono.AlternatingBackColor = Color.AliceBlue;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;//NUMERO&lt;br /&gt;columna = new DataGridTextBoxColumn();&lt;br /&gt;//columna.TextBox.MaxLength = 50;&lt;br /&gt;columna.Alignment = HorizontalAlignment.Left;&lt;br /&gt;columna.HeaderText = "Numero Telefonico";&lt;br /&gt;//columna del Dataset enlazada con esta columna del Datagrid&lt;br /&gt;columna.MappingName = "NUMERO";&lt;br /&gt;columna.Width = 300;&lt;br /&gt;//texto que se muestra cuando la columna tiene valor null&lt;br /&gt;columna.NullText = "";&lt;br /&gt;//añadir la columna a los estilos del Datagrid&lt;br /&gt;estiloTelefono.GridColumnStyles.Add(columna);&lt;br /&gt;//TIPO&lt;br /&gt;columna = new DataGridTextBoxColumn();&lt;br /&gt;//columna.TextBox.MaxLength = 50;&lt;br /&gt;columna.Alignment = HorizontalAlignment.Left;&lt;br /&gt;columna.HeaderText = "Tipo de Telefono";&lt;br /&gt;//columna del Dataset enlazada con esta columna del Datagrid&lt;br /&gt;columna.MappingName = "TIPO";&lt;br /&gt;columna.Width = 180;&lt;br /&gt;//texto que se muestra cuando la columna tiene valor null&lt;br /&gt;columna.NullText = "";&lt;br /&gt;//añadir la columna a los estilos del Datagrid&lt;br /&gt;estiloTelefono.GridColumnStyles.Add(columna);&lt;br /&gt;//ANOTACION&lt;br /&gt;columna = new DataGridTextBoxColumn();&lt;br /&gt;//columna.TextBox.MaxLength = 50;&lt;br /&gt;columna.Alignment = HorizontalAlignment.Left;&lt;br /&gt;columna.HeaderText = "Acerca del Telefono";&lt;br /&gt;//columna del Dataset enlazada con esta columna del Datagrid&lt;br /&gt;columna.MappingName = "DESCRIBE";&lt;br /&gt;columna.Width = 220;&lt;br /&gt;//texto que se muestra cuando la columna tiene valor null&lt;br /&gt;columna.NullText = "";&lt;br /&gt;//añadir la columna a los estilos del Datagrid&lt;br /&gt;estiloTelefono.GridColumnStyles.Add(columna);&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;Grid.TableStyles.Add(estilo);&lt;br /&gt;Grid.TableStyles.Add(estiloTelefono);&lt;br /&gt;}&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;private void salirToolStripMenuItem_Click(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;Application.Exit();&lt;br /&gt;}&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;private void abrirToolStripMenuItem_Click(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;OpenFileDialog fo = new OpenFileDialog();&lt;br /&gt;fo.InitialDirectory = Environment.CurrentDirectory + "\\";&lt;br /&gt;fo.Filter = "xml Archivos (*.xml)*.xml";&lt;br /&gt;fo.RestoreDirectory = true;&lt;br /&gt;if (fo.ShowDialog() == DialogResult.OK)&lt;br /&gt;{&lt;br /&gt;if (fo.OpenFile() != null)&lt;br /&gt;{&lt;br /&gt;archivoXML = new DataSet();&lt;br /&gt;archivoXML.ReadXml(fo.FileName);&lt;br /&gt;Grid.CaptionText = fo.FileName;&lt;br /&gt;Grid.SetDataBinding(archivoXML, "CONTACTO");&lt;br /&gt;//Grid.Update();&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;private void guardarToolStripMenuItem_Click(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;//escribir el DataSet al archivo XML&lt;br /&gt;archivoXML.WriteXml(Grid.CaptionText);&lt;br /&gt;archivoXML.Clear();&lt;br /&gt;archivoXML.ReadXml(Grid.CaptionText);&lt;br /&gt;MessageBox.Show("Datos Guardados", "Aviso al usuario", MessageBoxButtons.OK);&lt;br /&gt;}&lt;br /&gt;catch(Exception pollo)&lt;br /&gt;{&lt;br /&gt;MessageBox.Show("Error","Aviso al usuario", MessageBoxButtons.OK);&lt;br /&gt;}&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;private void acercaDeDirectorioToolStripMenuItem_Click(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;frmacerce frmacerca = new frmacerce();&lt;br /&gt;frmacerca.ShowDialog();&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;Cualquier comentario es bienvenido, si desean todos los archivos del proyecto, dejen su comentario y se los hare llegar.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-5019210578640997440?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/5019210578640997440/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=5019210578640997440' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/5019210578640997440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/5019210578640997440'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/12/c-y-xml.html' title='C# y xml'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_hHscOY1kZf4/RYAnfVTAfmI/AAAAAAAAAAM/7KYxAS2h0rg/s72-c/dirjpg.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-1792797647364170035</id><published>2006-11-30T07:28:00.000-08:00</published><updated>2006-11-30T08:31:42.517-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mono Php'/><title type='text'>Se acabo Noviembre</title><content type='html'>&lt;span style="color:#333333;"&gt;Asi como dice el titulo de esta entrada, se ha acabado Noviembre y solo una triste entrada en este, me pregunto a que se debera, sera por la nostalgia del fin de año?, pero en fin durante este mes descubri algo que quizas ya algunos conozcan, estoy hablando de un compilador de Php para generar ejecutables para Mono, si asi como se escucha, el compilador en cuestion va en la version 0.2, pero ya tiene bastante funcionalidad, y al igual que c# tambien puede integrarse Gtk, como ejemplo voy a escribir las siguientes lineas de codigo:&lt;br /&gt;&lt;br /&gt;Codigo en PHP, guardado como &gt;&gt;&gt;&gt; EjemploPhp.php&lt;br /&gt;&lt;br /&gt;&lt; ? php&lt;br /&gt;echo "\n\nEl blog de Gsur...!\n\n";&lt;br /&gt;?&gt;&lt;br /&gt;&lt;br /&gt;Compilar el script de la siguiente forma&lt;br /&gt;&lt;br /&gt;mono mPHP.exe EjemploPhp.php&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 423px; CURSOR: hand; HEIGHT: 135px; TEXT-ALIGN: center" height="143" alt="" src="http://photos1.blogger.com/x/blogger2/6332/2962/400/552318/compila.jpg" width="431" border="0" /&gt;&lt;br /&gt;si todo sale bien, tenemos el archivo &gt;&gt;&gt;&gt; EjemploPhp.exe&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ahora ejecutamos y tenemos en pantalla: El blog de Gsur...!&lt;br /&gt;&lt;br /&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 409px; CURSOR: hand; HEIGHT: 97px; TEXT-ALIGN: center" height="102" alt="" src="http://photos1.blogger.com/x/blogger2/6332/2962/400/368046/salidaphp.jpg" width="414" border="0" /&gt;&lt;br /&gt;Y listo, rapido creo yo, en la siguiente entrada mostrare un ejemplo de mPHP pero con Gtk, para descargar visitar &lt;/span&gt;&lt;a href="http://php4mono.sourceforge.net"&gt;&lt;span style="color:#000000;"&gt;http://php4mono.sourceforge.net&lt;/span&gt;&lt;/a&gt;&lt;span style="color:#000000;"&gt; espero sus comentarios. &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-1792797647364170035?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/1792797647364170035/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=1792797647364170035' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/1792797647364170035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/1792797647364170035'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/11/se-acabo-noviembre.html' title='Se acabo Noviembre'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-1365597932270070907</id><published>2006-11-06T09:24:00.000-08:00</published><updated>2006-11-06T09:36:42.490-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mono'/><title type='text'>Proyecto en mente</title><content type='html'>Ultimamente he estado trabajando con una imagen jpeg y puntos sensitivos al paso del puntero del raton sobre esta, pero para ello lo he hecho con flash, por la facilidad que representa implementar estas situaciones, pero llegas al punto donde flash tiene sus limitantes y ya no es lo suficiente para lo que se quiere implementar, por este motivo estaba pensando como hacerlo con Mono, en realidad este proyecto es algo como un SIG, aunque no totalmente, ahora lo que me queda es investigar y claro si alguien ya lo hizo agradecere su comentario.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-1365597932270070907?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/1365597932270070907/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=1365597932270070907' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/1365597932270070907'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/1365597932270070907'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/11/proyecto-en-mente.html' title='Proyecto en mente'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-5421866736524177364</id><published>2006-10-18T18:39:00.000-07:00</published><updated>2006-10-18T18:42:25.601-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><title type='text'>Estas lluvias</title><content type='html'>Que barbaro 4 dias lloviendo sin parar, y claro ya esto ha dejado estragos en mi persona con tremenda tos y combinado con gripe, en que momento me ha sucedido, justo cuando he terminado el programa de sumatic y ya estoy en la documentación del codigo fuente, ni modos esto tendra que esperar ya que estoy mas que mallugado por la gripe, pero bueno no todo es programar en la vida.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-5421866736524177364?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/5421866736524177364/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=5421866736524177364' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/5421866736524177364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/5421866736524177364'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/10/estas-lluvias.html' title='Estas lluvias'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-5855887030471956904</id><published>2006-10-16T07:50:00.000-07:00</published><updated>2006-10-16T08:03:10.192-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Gtk'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Mono'/><category scheme='http://www.blogger.com/atom/ns#' term='Juego'/><category scheme='http://www.blogger.com/atom/ns#' term='Glade'/><title type='text'>Terminado! Sumatic</title><content type='html'>Ahora si doy por terminada la version 0.1 de mi juego Sumatic programado en lenguaje c# y usando gtk# y glade para la interfaz del juego y claro todo esto bajo mono, ahora que ya funciona estoy limpiando un poco el codigo y viendo donde se puede optimizar, pero aqui les dejo 2 pantallas de una jugada espectacular que hice de prueba, por cierto solucione lo del arrastre de los numeros desde las Labels, claro que tuve que usar un EventBox, me costo trabajo e incluso no estoy convencido como lo utilice, pero en fin funciona de esa manera, si lo modifico despues ya sacare la version modificada, entonces aqui deja las pantallas y esten pendientes a la publicacion del codigo completo, la verdad he aprendido mucho al realizar este juego, entre lo aprovechable se encuentra el como hacer un Drag and Drop, manejo de un Timer y un ProgressBar, utilizacion de EventBox y utilización de Sqlite basico para almacenar los records y entre otras cosas interesantes, bueno aqui le dejo las pantallas para no aburrir.&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;strong&gt;Pantallas&lt;/strong&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger2/6332/2962/320/s1.jpg" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger2/6332/2962/320/s2.jpg" border="0" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-5855887030471956904?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/5855887030471956904/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=5855887030471956904' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/5855887030471956904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/5855887030471956904'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/10/terminado-sumatic.html' title='Terminado! Sumatic'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-4012177338859001599</id><published>2006-10-12T20:48:00.000-07:00</published><updated>2006-10-12T20:57:30.416-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Gtk'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Mono'/><category scheme='http://www.blogger.com/atom/ns#' term='Juego'/><category scheme='http://www.blogger.com/atom/ns#' term='Glade'/><title type='text'>Cerca del fin Sumatic</title><content type='html'>Ya ahorita esta en un 65% el juego de sumatic, solo resta el codigo de los records, que tengo pensado almacenarlos con Sqlite para ponerlo mas interesante, pero todavia tengo un pequeño problema, utilice unas labels para recibir los numeros arrastrados y ahora el detalle radica en como regreso estos numeros o los muevo de los labels, ya que intente aplicar los eventos de arrastre y nada que no funciona, espero que alguien me pueda iluminar, y si no pues por el momento lo sacare asi y ya en la version siguiente cambiare las labels por unos botones o unos pictures, en fin aqui dejo una pantalla del avance.&lt;br /&gt;&lt;div align="center"&gt;&lt;br /&gt;&lt;strong&gt;Pantalla sumatic&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger2/6332/2962/320/PantallaSumatic3.jpg" border="0" /&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;Hasta el proximo post....&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-4012177338859001599?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/4012177338859001599/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=4012177338859001599' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/4012177338859001599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/4012177338859001599'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/10/cerca-del-fin-sumatic.html' title='Cerca del fin Sumatic'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-4336673109648024526</id><published>2006-10-10T20:38:00.000-07:00</published><updated>2006-10-10T21:01:36.532-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Gtk'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Mono'/><category scheme='http://www.blogger.com/atom/ns#' term='Juego'/><category scheme='http://www.blogger.com/atom/ns#' term='Glade'/><title type='text'>Correcciones y pantalla modificada</title><content type='html'>Bueno aqui un breve cambio en la pantalla de sumatic y por lo que veo yo creo que habra mas cambios, estoy encontrando problemas en el arrastre, pero bueno aqui dejo parte del codigo y la nueva pantalla de sumatic.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;strong&gt;Codigo&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;// ------------------------------------------ //&lt;br /&gt;// Proyecto: Juego de sumas&lt;br /&gt;// Desarrollador: gsur&lt;br /&gt;// Licencia: GPL&lt;br /&gt;// Blog: http:gsur.blogspot.com&lt;br /&gt;// Email: &lt;a href="mailto:dot@gmail.com"&gt;rafamp78(dot)gmail.com&lt;/a&gt;&lt;br /&gt;// ------------------------------------------&lt;br /&gt;// mcs -pkg:gtk-sharp-2.0 -pkg:glade-sharp-2.0 -resource:vsumatic.glade Sumatic-0.1.cs&lt;br /&gt;// mono Sumatic-0.1.exe&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;using System;&lt;br /&gt;using Gtk;&lt;br /&gt;using Gdk;&lt;br /&gt;using GtkSharp;&lt;br /&gt;using Glade;&lt;br /&gt;class Sumatic&lt;br /&gt;{&lt;br /&gt;[Glade.Widget] Gtk.Window window;&lt;br /&gt;[Glade.Widget] Gtk.HBox boxBotones;&lt;br /&gt;[Glade.Widget] Gtk.Table tabla;&lt;br /&gt;[Glade.Widget] Gtk.Button btNuevo;&lt;br /&gt;[Glade.Widget] Gtk.Button btN1;&lt;br /&gt;[Glade.Widget] Gtk.Button btN2;&lt;br /&gt;[Glade.Widget] Gtk.Button btN3;&lt;br /&gt;[Glade.Widget] Gtk.Button btN4;&lt;br /&gt;[Glade.Widget] Gtk.Button btN5;&lt;br /&gt;[Glade.Widget] Gtk.Button btN6;&lt;br /&gt;[Glade.Widget] Gtk.Button btN7;&lt;br /&gt;[Glade.Widget] Gtk.Button btN8;&lt;br /&gt;[Glade.Widget] Gtk.Button btN9;&lt;br /&gt;[Glade.Widget] Gtk.Button btN10;&lt;br /&gt;[Glade.Widget] Gtk.Label lblN1;&lt;br /&gt;[Glade.Widget] Gtk.Label lblN2;&lt;br /&gt;[Glade.Widget] Gtk.Label lblN3;&lt;br /&gt;[Glade.Widget] Gtk.Label lblN4;&lt;br /&gt;[Glade.Widget] Gtk.Label lblN5;&lt;br /&gt;[Glade.Widget] Gtk.Label lblN6;&lt;br /&gt;[Glade.Widget] Gtk.Label lblN7;&lt;br /&gt;[Glade.Widget] Gtk.Label lblN8;&lt;br /&gt;[Glade.Widget] Gtk.Label lblN9;&lt;br /&gt;[Glade.Widget] Gtk.Label lblN10;&lt;br /&gt;int Nfila1, Nfila2, Nresultado;&lt;br /&gt;static void Main()&lt;br /&gt;{&lt;br /&gt;Application.Init();&lt;br /&gt;new Sumatic();&lt;br /&gt;Application.Run();&lt;br /&gt;}&lt;br /&gt;public Sumatic()&lt;br /&gt;{&lt;br /&gt;Glade.XML gxml = new Glade.XML("vsumatic.glade", "window", null);&lt;br /&gt;gxml.Autoconnect(this);&lt;br /&gt;window.ShowAll();&lt;br /&gt;btNuevo.Clicked += Nuevo_Juego;&lt;br /&gt;TargetEntry [] te = new TargetEntry [] { new TargetEntry ("STRING", 0, 1), };&lt;br /&gt;foreach(Gtk.Widget b in boxBotones)&lt;br /&gt;{&lt;br /&gt;Gtk.Drag.SourceSet (b, Gdk.ModifierType.Button1Mask, te, Gdk.DragAction.Copy);&lt;br /&gt;b.DragDataGet += OnBtNDragGet;&lt;br /&gt;}&lt;br /&gt;foreach(Gtk.Widget lbl in tabla)&lt;br /&gt;{&lt;br /&gt;Gtk.Drag.DestSet (lbl, DestDefaults.All, te, DragAction.Copy);&lt;br /&gt;lbl.DragDataReceived += OnlblNDropDragDataRecieved;&lt;br /&gt;}&lt;br /&gt;iniciar();&lt;br /&gt;}&lt;br /&gt;public void on_window_delete_event(object obj, DeleteEventArgs args)&lt;br /&gt;{&lt;br /&gt;Application.Quit();&lt;br /&gt;}&lt;br /&gt;public void on_btsalir_clicked(object obj, EventArgs args)&lt;br /&gt;{&lt;br /&gt;Application.Quit();&lt;br /&gt;}&lt;br /&gt;private void Nuevo_Juego(object obj, EventArgs args)&lt;br /&gt;{&lt;br /&gt;Random r = new Random();&lt;br /&gt;Nfila1 = r.Next(100,999);&lt;br /&gt;Nfila2 = r.Next(100,999);&lt;br /&gt;Nresultado = Nfila1 + Nfila2;&lt;br /&gt;string numeros = Nresultado.ToString();&lt;br /&gt;if(numeros.Length &lt; 4)&lt;br /&gt; numeros += "?";&lt;br /&gt; numeros += Nfila1.ToString() + Nfila2.ToString();&lt;br /&gt;int i=0;&lt;br /&gt;foreach(Gtk.Button b in boxBotones)&lt;br /&gt; {&lt;br /&gt; b.Label = numeros[i].ToString();&lt;br /&gt;i+=1;&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt; private void OnBtNDragGet(object o, DragDataGetArgs args)&lt;br /&gt;{&lt;br /&gt; Gtk.Button boton = (Gtk.Button) o;&lt;br /&gt;Atom [] targets = args.Context.Targets;&lt;br /&gt;args.SelectionData.Set(targets [0], 8, System.Text.Encoding.UTF8.GetBytes(boton.Label));&lt;br /&gt; }&lt;br /&gt; private void OnlblNDropDragDataRecieved(object o, DragDataReceivedArgs args)&lt;br /&gt;{&lt;br /&gt;Gtk.Widget source = Gtk.Drag.GetSourceWidget(args.Context);&lt;br /&gt;Gtk.Button boton = (Gtk.Button) source;&lt;br /&gt;Gtk.Label Contenedor = (Gtk.Label) o;&lt;br /&gt;string strB = boton.Data["disponible"].ToString();&lt;br /&gt;string strL = Contenedor.Data["vacio"].ToString();&lt;br /&gt;if((strB.Equals("si") == true) &amp;&amp;amp; (strL.Equals("si") == true))&lt;br /&gt; {&lt;br /&gt;string data = System.Text.Encoding.UTF8.GetString ( args.SelectionData.Data );&lt;br /&gt;Contenedor.Markup = "&lt; background="\" foreground="\" size="\"&gt; " + data + " &lt; / span &gt;";&lt;br /&gt;boton.Data["disponible"] = "no";&lt;br /&gt;Contenedor.Data["vacio"]="no";&lt;br /&gt;boton.Label = "-";&lt;br /&gt;//boton.Hide();&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;private void iniciar()&lt;br /&gt;{&lt;br /&gt;foreach(Gtk.Widget b in boxBotones)&lt;br /&gt;{&lt;br /&gt;b.Data["disponible"] = "si";&lt;br /&gt;}&lt;br /&gt;foreach(Gtk.Widget lbl in tabla)&lt;br /&gt;{&lt;br /&gt;lbl.Data["vacio"] = "si";&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;strong&gt;Pantalla&lt;/strong&gt;&lt;/div&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger2/6332/2962/320/PantallaSumatic2.jpg" border="0" /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Ya solo falta la parte logica del juego, claro que si alguien quisiera aportar alguna mejora con gusto sera recibida, pero ahora hasta aqui dejo esto, ya es tarde y quiero ver mi programa en la tele.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-4336673109648024526?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/4336673109648024526/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=4336673109648024526' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/4336673109648024526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/4336673109648024526'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/10/correcciones-y-pantalla-modificada.html' title='Correcciones y pantalla modificada'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-6373421660800338134</id><published>2006-10-10T10:48:00.000-07:00</published><updated>2006-10-10T10:51:51.970-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mono'/><category scheme='http://www.blogger.com/atom/ns#' term='Juego'/><title type='text'>Primera pantalla</title><content type='html'>Aqui dejo la primer pantalla del Juego que comente comenzaria a pasar a Mono, por el momento el avance casi se reduce a esta pantalla, sin funciones todavia, bueno un poco ya de avance en el codigo de arrastre de los numeros pero falta todavia, pero les dejo la pantalla para que vayan conociendo el proyecto en cuestion.&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger2/6332/2962/320/pantalla1Sumatic.jpg" border="0" /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-6373421660800338134?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/6373421660800338134/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=6373421660800338134' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/6373421660800338134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/6373421660800338134'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/10/primera-pantalla.html' title='Primera pantalla'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-7843939681957163614</id><published>2006-10-09T07:34:00.000-07:00</published><updated>2006-10-09T07:43:13.795-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><category scheme='http://www.blogger.com/atom/ns#' term='Mono'/><category scheme='http://www.blogger.com/atom/ns#' term='Juego'/><title type='text'>Juego Interesante</title><content type='html'>Bueno aqui de nuevo planteando otro proyecto a realizar, creo que ya van varios planteamientos que aun no han sido realizados o al menos expuestos, pero este sera algo especial, este no es un proyecto que partira desde cero, en realidad se trata de un pequeño juego que realice en visual basic y que buscando unos archivos en mis respaldos de archivos lo encontre, asi que me he planteado pasarlo ahora a Mono, en resumen es un juego de esos que te distraen en un rato de ocio y que en parte te hace ocupar un poco de masa encefalica.&lt;br /&gt;&lt;br /&gt;El juego en cuestion trata sobre una serie de numeros que se han de acomodar en un tablero de tal forma que se realiza una suma, pero para que dar mas detalles, mejor cuando este listo vendra la pantalla y la explicación a detalle, y si se preguntan de que servira esto para el aprendizaje de Mono, pues lo que aqui se manejara sera el arrastre o Drag and Drop de objetos cosa que no hemos abordado en ninguna entrada anterior y claro no desmerecera el codigo de generación de numeros para el juego.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-7843939681957163614?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/7843939681957163614/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=7843939681957163614' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/7843939681957163614'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/7843939681957163614'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/10/juego-interesante.html' title='Juego Interesante'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-8407260514292033772</id><published>2006-10-05T17:57:00.000-07:00</published><updated>2006-10-05T17:59:21.943-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Mono'/><title type='text'>Mejora en dbimage</title><content type='html'>Estaba pensando en agregarle alguna mejora al programa &lt;a href="http://gsur.blogspot.com/2006/08/aqui-la-pantalla-del-dbimage.html"&gt;dbimage&lt;/a&gt; y  nada mejor que incluir la opcion de guardar los datos cargados en el treeview, asi que he optado por guardar esa informacion en un archivo xml, por lo que ahora veremos un poco como se manipula un archivo xml con c# en Mono, ahora me pongo a trabajar en ello y espero tener algo en los siguientes dias&lt;br /&gt;&lt;br /&gt;Referencias previas:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://gsur.blogspot.com/2006/08/aqui-la-pantalla-del-dbimage.html"&gt;Pantalla de dbimage&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://gsur.blogspot.com/2006/08/thumbnails-con-mono-c-y-gtk.html"&gt;Codigo de dbimage&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-8407260514292033772?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/8407260514292033772/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=8407260514292033772' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/8407260514292033772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/8407260514292033772'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/10/mejora-en-dbimage.html' title='Mejora en dbimage'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-4991662697725816499</id><published>2006-09-30T16:36:00.000-07:00</published><updated>2006-09-30T17:01:07.553-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><title type='text'>Mas memoria para mi pc</title><content type='html'>Ahora si que ya no se ni como contar esta anecdota, si molesto o contento, les explicare molesto por que y contento tambien.&lt;br /&gt;&lt;br /&gt;Resulta que ultimamente venia pensando en comprarle mas memoria a mi pc, no era por que estuviera lenta o que sintiera que ya la necesitaba, pero me dije pues por que no ponerle algo extra que al final de cuentas se llega a necesitar, asi que me dirijo a la tienda (que segun es la mas surtida) y pregunto por una memoria DDR pc3200 (400 Mhz) de 512 Mb y el empleado en tono como burlon me dice "Esas ya no las vendemos" y ya fue todo, que es lo que pasa con este tipo, en realidad su salario es tan poco, que solo se limita a contestar a un cliente de esa manera, ahora ya entenderan la parte molesta de esta anecdota, si ya se mi pc esta rucona, y con esa idea me largue de la mendiga tienda, pero y ahora entonces mi pc la debo tirar, debo buscar un incauto y vendersela para actualizarme o por ultimo regalarla.&lt;br /&gt;&lt;br /&gt;Pero bueno despues de calmarme opte por dirigirme al lugar donde compre mi pc, ya ahi le digo al dueño (por que en este caso no es empleado, es el mero dueño) tienes una memoria DDR pc3200 (400 Mhz) de 512 Mb, y el de manera muy amable me dice claro y saca la memoria y me la entrega, asi mero se debe de tratar al cliente, hasta ni me queje por el costo de la memoria.&lt;br /&gt;&lt;br /&gt;La conclusion de todo esto me lleva a una cosa, si yo estoy a gusto con mi pc y solo quiero hacerle unos ajustes por que me han de obligar a decidirme por regalar o vender mi pc, no señores distribuidores estan en un error y creo que deben capacitar muy bien a sus empleados para que no corran a los clientes, en fin por el moment0 mi pc ya tiene sus 512 mb adicionales y yo a gusto hasta que no tenga que buscar algo nuevamente para ella.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-4991662697725816499?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/4991662697725816499/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=4991662697725816499' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/4991662697725816499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/4991662697725816499'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/09/mas-memoria-para-mi-pc.html' title='Mas memoria para mi pc'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-6904636086726596770</id><published>2006-09-28T19:54:00.000-07:00</published><updated>2006-09-28T20:07:04.372-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><category scheme='http://www.blogger.com/atom/ns#' term='Mono'/><title type='text'>Se acaba septiembre</title><content type='html'>Se acaba septiembre y las entradas en este mes fueron a cuenta gotas, pero que mas queda decir, espero que en el proximo mes acabe los proyectos iniciados o de perdida descargue la nueva version de Mono 1.1.17 y la instale para reemplazar el 1.1.16.1 que apenas instale, segun cuentan que cambiaron por completo el compilador del visual basic .net para Mono, cosa que me empieza a causar tentacion probarlo con Mono y recordar aquellos tiempos en los que aprendi a programar con visual basic (el que diga que no a programado en vb que alce la mano), pero seria algo interesante poner mis codigos escritos ahora en vb .net&lt;br /&gt;&lt;br /&gt;A veces se me viene a la mente las palabras del señor Miguel de Icaza respecto a programar en Visual Basic en el ambiente de Mono (jajaja), en fin Octubre llega y ahora a recargar pilas para comenzar de nuevo por el buen camino.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-6904636086726596770?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/6904636086726596770/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=6904636086726596770' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/6904636086726596770'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/6904636086726596770'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/09/se-acaba-septiembre.html' title='Se acaba septiembre'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-6381438941693282719</id><published>2006-09-26T19:25:00.000-07:00</published><updated>2006-09-26T19:36:58.698-07:00</updated><title type='text'>Buen radio</title><content type='html'>Creo que nunca sabre poner un titulo de entrada.... pero a lo que voy, en estos dias buscando algo acerca de &lt;a href="http://creativecommons.org.mx"&gt;creative commons&lt;/a&gt; (cc) me encontre con una entrevista que se realizo en el programa de radio &lt;a href="http://www.dommo.net"&gt;Dommo&lt;/a&gt; que se transmite de lunes a viernes de 20:00 a 21:00 horas en el 96.9 de F.M. y es conducido por Ricardo Zamora y Javier Matuk, y diran que tiene de especial esto, pues nada mas y nada menos que puedes descargar el programa de la pagina en formato MP3 para escucharlo tranquilamente para los que no tenemos la oportunidad de escucharlo de manera directa del radio, es una propuesta muy interesante, saludos al señor Matuk desde este blog.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-6381438941693282719?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/6381438941693282719/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=6381438941693282719' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/6381438941693282719'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/6381438941693282719'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/09/buen-radio.html' title='Buen radio'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-8108034445936972405</id><published>2006-09-22T21:04:00.000-07:00</published><updated>2006-09-22T21:34:47.472-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>C# con .NET</title><content type='html'>En estos dias a pesar de no querer me he tenido que desarrollar una aplicacion con windows forms y c# yo no queria utilizarlo ya que me agrada mas GTK pero como no encontre una forma sencilla de distribuir una aplicacion GTK y C# hecha para MONO pues he optado por hacerla con C# .NET de Micro... el framework 1.1, pero en fin despues mostrare el codigo, ya que esta aplicacion abre un archivo XML y lo almacena en un dataset para llenar un DataGrid y de igual forma se puede editar y guardar (actualizar) los datos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-8108034445936972405?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/8108034445936972405/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=8108034445936972405' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/8108034445936972405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/8108034445936972405'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/09/c-con-net.html' title='C# con .NET'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-115638678825109569</id><published>2006-08-23T19:25:00.000-07:00</published><updated>2006-08-23T19:33:08.253-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Gtk'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Mono'/><category scheme='http://www.blogger.com/atom/ns#' term='Codigo'/><title type='text'>error en clipboard</title><content type='html'>Compilando minis en linux me he encontrado con 2 errores en el objeto Gtk.Clipboard&lt;br /&gt;&lt;br /&gt;me dice que WaitIsImageAvailable() no esta en el espacio de nombres de Gtk.Clipboard y tambien clip.WaitForImage() no se encuentra, pero el caso de que tengo instalado Mono-1.1.16.1 tanto en Linux como en Windows, pero en Windows no existe error alguno, pero en linux me da estos 2 errores, por lo que por el momento la funcion de pegado de imagen en minis solo estara disponible en windows (que mala pata) y en linux pues buscare como arreglarlo, pero si alguien sabe que pasa y se anima a iluminarme lo agradecere en grande.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-115638678825109569?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/115638678825109569/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=115638678825109569' title='1 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/115638678825109569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/115638678825109569'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/08/error-en-clipboard.html' title='error en clipboard'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-115638631969792994</id><published>2006-08-23T19:16:00.000-07:00</published><updated>2006-08-23T19:25:19.713-07:00</updated><title type='text'>He retirado la encuesta</title><content type='html'>Ayer se me ha ocurrido entrar y ver el resultado de la encuesta que habia colocado en este blog, el cuestionamiento era sobre que se deberian de enfocar los ejemplos de c# aqui mostrados y cual es mi sorpresa que me encontre con una ventana emergente que me decia que mi equipo estaba vulnerable y otros rollos, principalmente era un addware (creo que asi se llama) y pues le dije adios a esta encuesta, pues no fueran a pensar que era obra mia, pero nada de esto, la encuesta la habia agregado de un servicio gratuito a este blog, pero pues asi son las cosas, pero en fin despues de varios meses ya me di cuenta de lo que debo de enfocar mis ejemplos, ganando rotundamente ejemplos con bases de datos con 12 votos (que barbaro) nunca imagine recibir tantos votos!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-115638631969792994?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/115638631969792994/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=115638631969792994' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/115638631969792994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/115638631969792994'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/08/he-retirado-la-encuesta.html' title='He retirado la encuesta'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-115561707761012992</id><published>2006-08-14T21:33:00.000-07:00</published><updated>2006-08-16T19:06:20.483-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Gtk'/><category scheme='http://www.blogger.com/atom/ns#' term='Mono'/><category scheme='http://www.blogger.com/atom/ns#' term='Codigo'/><title type='text'>Mejoras en minis-0.0.1</title><content type='html'>minis-0.0.1 ahora tiene una mejora, se incorporo la funcion de carga de imagenes desde el portapapeles, incluso si capturan la pantalla con printscreen de igual forma tambien la puede pegar y despues generarse su thumbnail (miniatura), de igual forma pueden bajar el paquete con todos los cambios incluidos.&lt;br /&gt;&lt;br /&gt;descargar &lt;a href="http://rafamp78.googlepages.com/minis-0.0.1.zip"&gt;minis-0.0.1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Este es el codigo anexado&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;public void on_bPegar_clicked(System.Object b, EventArgs e)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;{ &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Gtk.Clipboard clip = Gtk.Clipboard.Get(Gdk.Atom.Intern("CLIPBOARD", true));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;//Se verifica que el contenido del portapapeles sea una imagen valida&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;if(clip.WaitIsImageAvailable() == true) &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Gdk.Pixbuf ImagenScreen = clip.WaitForImage(); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;ImagenScreen.Save("screen.jpg","jpeg");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;NombreImagen = "screen.jpg"; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Gdk.Pixbuf escalar; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;escalar = ImagenScreen.ScaleSimple (460, 380, Gdk.InterpType.Hyper);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;ImagenActual.Pixbuf = escalar;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;ImagenMiniatura.Pixbuf = Thumbnail(NombreImagen, Ancho.ValueAsInt, Alto.ValueAsInt); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;else&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;mensaje("El Portapapeles no contiene una imagen valida!", MessageType.Warning);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Aqui la pantalla del cambio y nueva imagen&lt;br /&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/3381/2514/1600/pminislinux.jpg"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/3381/2514/320/pminislinux.jpg" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-115561707761012992?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/115561707761012992/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=115561707761012992' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/115561707761012992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/115561707761012992'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/08/mejoras-en-minis-001.html' title='Mejoras en minis-0.0.1'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-115553425853587913</id><published>2006-08-13T22:36:00.000-07:00</published><updated>2006-08-13T22:44:18.546-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pixbuf'/><category scheme='http://www.blogger.com/atom/ns#' term='Gtk'/><category scheme='http://www.blogger.com/atom/ns#' term='Mono'/><category scheme='http://www.blogger.com/atom/ns#' term='Codigo'/><title type='text'>minis-0.0.1 gtksharp-2.0</title><content type='html'>Despues de corregir ciertos detalles de minis aqui dejo el enlace para su descarga con todos los archivos necesarios.&lt;br /&gt;&lt;br /&gt;Aclaracion: el codigo mostrado anteriormente se puede compilar con gtk-sharp inferior a 2.0&lt;br /&gt;&lt;br /&gt;El codigo aqui disponible para su descarga es para compilarse con gtksharp 2.8.3&lt;br /&gt;&lt;br /&gt;Requerimientos:&lt;br /&gt;&lt;br /&gt;mono-1.1.16.1&lt;br /&gt;gtk-sharp-2.8.3&lt;br /&gt;&lt;br /&gt;descargar &lt;a href="http://rafamp78.googlepages.com/minis-0.0.1.zip"&gt;minis-0.0.1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Mas informacion de &lt;a href="http://rafamp78.googlepages.com/minis-0.0.1"&gt;minis&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-115553425853587913?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/115553425853587913/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=115553425853587913' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/115553425853587913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/115553425853587913'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/08/minis-001-gtksharp-20.html' title='minis-0.0.1 gtksharp-2.0'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-115544725465877908</id><published>2006-08-12T22:19:00.000-07:00</published><updated>2006-08-12T22:45:01.183-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pixbuf'/><category scheme='http://www.blogger.com/atom/ns#' term='Gtk'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Mono'/><category scheme='http://www.blogger.com/atom/ns#' term='Codigo'/><category scheme='http://www.blogger.com/atom/ns#' term='Glade'/><title type='text'>Minis-0.0.1</title><content type='html'>Ya encarrerado con esto de los Thumb's, agarre parte del codigo de dbimage y lo transforme en minis, que viene siendo un programa para abrir una imagen y pasarla a miniatura, minis tiene la opcion de configurar el tamaño de la miniatura y el formato de la imagen resultante, puede ser jpg o png, por el momento es funcional claro con detalles que arreglar, pero ya se puede utilizar con cierto grado de confianza, aqui dejo la pantalla, y el codigo, si gustas mejorarlo o utilizarlo como esta pueden hacerlo solo no olviden comentar a su autor.&lt;br /&gt;&lt;br /&gt;Lenguaje utilizado: &lt;span style="FONT-WEIGHT: bold"&gt;c#&lt;/span&gt;&lt;br /&gt;Entorno de desarrollo: &lt;span style="FONT-WEIGHT: bold"&gt;Mono 1.1.12&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="TEXT-ALIGN: center"&gt;Pantalla de &lt;span style="FONT-WEIGHT: bold"&gt;minis&lt;/span&gt; en accion&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3381/2514/1600/pantallaminis.jpg"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: pointer; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/3381/2514/320/pantallaminis.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Aqui dejo el codigo&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;//------------------------------------------------------------------------------------------------------------------&lt;br /&gt;// Proyecto: Convertidor de Imagenes a tamaño miniatura (thumbnails)&lt;br /&gt;// Desarrollo: gsur&lt;br /&gt;// Fecha: 12/08/2006&lt;br /&gt;// Compilar:&lt;br /&gt;// mcs minis.cs AcercaDe.cs -out:minis.exe -pkg:gtk-sharp -pkg:glade-sharp -resource:minis-0.0.1.glade;acercade.glade&lt;br /&gt;// Entorno de desarrollo: Mono&lt;br /&gt;//blog: http://gsur.blogspot.com&lt;br /&gt;//------------------------------------------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;using System;&lt;br /&gt;using Gtk;&lt;br /&gt;using Glade;&lt;br /&gt;&lt;br /&gt;public class minis&lt;br /&gt;{&lt;br /&gt;[Glade.Widget] Gtk.Window window;&lt;br /&gt;[Glade.Widget] Gtk.SpinButton Ancho;&lt;br /&gt;[Glade.Widget] Gtk.SpinButton Alto;&lt;br /&gt;[Glade.Widget] Gtk.Image ImagenActual;&lt;br /&gt;[Glade.Widget] Gtk.Image ImagenMiniatura;&lt;br /&gt;static FileSelection filew;&lt;br /&gt;static string tipo;&lt;br /&gt;string NombreImagen;&lt;br /&gt;public static void Main(String[] args)&lt;br /&gt;{&lt;br /&gt;Application.Init();&lt;br /&gt;minis prog = new minis();&lt;br /&gt;prog.muestra();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public minis()&lt;br /&gt;{&lt;br /&gt;Glade.XML gxml=new Glade.XML(null, "minis-0.0.1.glade","window",null);&lt;br /&gt;gxml.Autoconnect(this);&lt;br /&gt;window.Icon = new Gdk.Pixbuf("minisico.png");&lt;br /&gt;NombreImagen="";&lt;br /&gt;tipo = "jpeg";&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void muestra()&lt;br /&gt;{&lt;br /&gt;Application.Run();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void on_window_delete_event(object o, DeleteEventArgs args)&lt;br /&gt;{&lt;br /&gt;Application.Quit();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void on_bSalir_clicked(System.Object b, EventArgs e)&lt;br /&gt;{&lt;br /&gt;Application.Quit();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void on_bAbrir_clicked(System.Object b, EventArgs e)&lt;br /&gt;{&lt;br /&gt;filew = new FileSelection("Archivo de Imagen");&lt;br /&gt;filew.HideFileopButtons ();&lt;br /&gt;filew.Filename = NombreImagen;&lt;br /&gt;ResponseType r = (ResponseType) filew.Run();&lt;br /&gt;if(r == ResponseType.Ok)&lt;br /&gt;{&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;NombreImagen = filew.Filename;&lt;br /&gt;ImagenActual.Pixbuf = Thumbnail(filew.Filename, 640, 480);&lt;br /&gt;ImagenMiniatura.Pixbuf = Thumbnail(NombreImagen, Ancho.ValueAsInt, Alto.ValueAsInt);&lt;br /&gt;filew.Destroy();&lt;br /&gt;}&lt;br /&gt;catch(Exception error)&lt;br /&gt;{&lt;br /&gt;Console.WriteLine(error);&lt;br /&gt;}&lt;br /&gt;filew.Destroy();&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;filew.Destroy();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void on_bGuardar_clicked(System.Object b, EventArgs e)&lt;br /&gt;{&lt;br /&gt;String msg;&lt;br /&gt;Gtk.FileSelection fileg = new FileSelection("Guardar Miniatura como");&lt;br /&gt;fileg.HideFileopButtons ();&lt;br /&gt;fileg.SetResponseSensitive(ResponseType.Ok,false);&lt;br /&gt;fileg.AddButton(Stock.Save,ResponseType.Ok);&lt;br /&gt;fileg.Filename = NombreImagen;&lt;br /&gt;fileg.Icon= new Gdk.Pixbuf("minisico.png");&lt;br /&gt;ResponseType r = (ResponseType) fileg.Run();&lt;br /&gt;if(r == ResponseType.Ok)&lt;br /&gt;{&lt;br /&gt;if(Guardar(fileg.Filename))&lt;br /&gt;{&lt;br /&gt;msg="\n\nSe ha guardado la miniatura";&lt;br /&gt;mensaje(msg, MessageType.Info);&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;msg="\n\nOcurrio Error al guardar!";&lt;br /&gt;mensaje(msg, MessageType.Warning);&lt;br /&gt;}&lt;br /&gt;fileg.Destroy();&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;fileg.Destroy();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void on_bAplicar_clicked(System.Object b, EventArgs e)&lt;br /&gt;{&lt;br /&gt;if(NombreImagen == "")&lt;br /&gt;mensaje("Debe abrir una imagen valida!", MessageType.Warning);&lt;br /&gt;else&lt;br /&gt;ImagenMiniatura.Pixbuf = Thumbnail(NombreImagen, Ancho.ValueAsInt, Alto.ValueAsInt);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void on_bAcerca_clicked(System.Object b, EventArgs e)&lt;br /&gt;{&lt;br /&gt;new AcercaDe();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Gdk.Pixbuf Thumbnail(string nombre, int ancho, int alto)&lt;br /&gt;{&lt;br /&gt;Gdk.Pixbuf p = new Gdk.Pixbuf(nombre);&lt;br /&gt;Gdk.Pixbuf thumb;&lt;br /&gt;thumb = p.ScaleSimple(ancho, alto, Gdk.InterpType.Hyper);&lt;br /&gt;return thumb;&lt;br /&gt;}&lt;br /&gt;void mensaje(string mensaje, MessageType MensajeTipo)&lt;br /&gt;{&lt;br /&gt;MessageDialog md = new MessageDialog(&lt;br /&gt;window,&lt;br /&gt;DialogFlags.DestroyWithParent,&lt;br /&gt;MensajeTipo,&lt;br /&gt;ButtonsType.Ok,&lt;br /&gt;mensaje);&lt;br /&gt;ResponseType rok = (ResponseType) md.Run();&lt;br /&gt;if(rok == ResponseType.Ok)&lt;br /&gt;{&lt;br /&gt;md.Destroy();&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;bool Guardar(string NombreGuardar)&lt;br /&gt;{&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;Gdk.Pixbuf temp;&lt;br /&gt;temp = ImagenMiniatura.Pixbuf;&lt;br /&gt;temp.Savev(NombreGuardar + "." + tipo,tipo,null,null);&lt;br /&gt;return true;&lt;br /&gt;}&lt;br /&gt;catch(Exception e)&lt;br /&gt;{&lt;br /&gt;return false;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void on_opjpg_toggled(System.Object b, EventArgs e)&lt;br /&gt;{&lt;br /&gt;tipo = "jpeg";&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void on_oppng_toggled(System.Object b, EventArgs e)&lt;br /&gt;{&lt;br /&gt;tipo = "png";&lt;br /&gt;}&lt;br /&gt;}&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-115544725465877908?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/115544725465877908/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=115544725465877908' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/115544725465877908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/115544725465877908'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/08/minis-001.html' title='Minis-0.0.1'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-115480942965313777</id><published>2006-08-05T13:18:00.000-07:00</published><updated>2006-08-05T13:23:49.666-07:00</updated><title type='text'>Aqui la pantalla del dbimage</title><content type='html'>Aqui dejo la pantalla de como se ejecuta el programa generador de Thumbnails con c# en mono y gtk&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3381/2514/1600/genthumb.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer" src="http://photos1.blogger.com/blogger/3381/2514/400/genthumb.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-115480942965313777?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/115480942965313777/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=115480942965313777' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/115480942965313777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/115480942965313777'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/08/aqui-la-pantalla-del-dbimage.html' title='Aqui la pantalla del dbimage'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-115480680819571045</id><published>2006-08-05T12:31:00.000-07:00</published><updated>2006-08-05T13:04:47.650-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Gtk'/><category scheme='http://www.blogger.com/atom/ns#' term='Mono'/><title type='text'>Thumbnails con Mono - C# y Gtk</title><content type='html'>Despues de un tiempo de no poner codigo, aqui dejo lo que es el avance del organizador de fotos que estoy haciendo, donde incluire el almacenamiento en una base de datos (MySql), por el momento este codigo genera thumbnails y los muestra en un Treeview, todo esto esta programado en c# y Gtk.&lt;br /&gt;&lt;br /&gt;Este codigo lo puedes utilizar y claro no olviden mencionar a gsur como su autor&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;font-size:85%;"&gt;//mcs -pkg:gtk-sharp dbimagen.cs&lt;br /&gt;//mono dbimagen.exe&lt;br /&gt;&lt;br /&gt;&lt;archivos.length; i=""&gt;&lt;span style="font-family:verdana;font-size:78%;"&gt;using System;&lt;br /&gt;using Gtk;&lt;br /&gt;using System.IO;&lt;br /&gt;&lt;br /&gt;public class dbimagen&lt;br /&gt;{&lt;br /&gt;public static void Main()&lt;br /&gt;{&lt;br /&gt;Gtk.Application.Init();&lt;br /&gt;new dbimagen();&lt;br /&gt;Gtk.Application.Run();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;static Gtk.TreeView tree;&lt;br /&gt;static Gtk.Entry EntradaFolder;&lt;br /&gt;static Gtk.Entry ancho;&lt;br /&gt;static Gtk.Entry alto;&lt;br /&gt;static FileSelection filew;&lt;br /&gt;static Gtk.Entry EntradaThumb;&lt;br /&gt;static Gtk.ListStore ImagenLista;&lt;br /&gt;&lt;br /&gt;public dbimagen()&lt;br /&gt;{&lt;br /&gt;//Creacion de ventana&lt;br /&gt;Gtk.Window window = new Gtk.Window("Generador de Thumbnails ver. 0.1");&lt;br /&gt;window.SetSizeRequest(600, 400);&lt;br /&gt;window.DeleteEvent+=new DeleteEventHandler(Window_Delete);&lt;br /&gt;&lt;br /&gt;EntradaFolder = new Gtk.Entry();&lt;br /&gt;&lt;br /&gt;Gtk.Label lblFolder = new Gtk.Label("Folder: ");&lt;br /&gt;&lt;br /&gt;Gtk.HBox BoxSup = new Gtk.HBox();&lt;br /&gt;Gtk.Button bexaminar = new Gtk.Button(Stock.Open);&lt;br /&gt;bexaminar.Clicked += OnButtonClicked;&lt;br /&gt;&lt;br /&gt;Gtk.Button bcargar = new Gtk.Button(Stock.Ok);&lt;br /&gt;bcargar.Clicked += OnBCargarClicked;&lt;br /&gt;&lt;br /&gt;Gtk.Label lblancho = new Gtk.Label("Ancho: ");&lt;br /&gt;Gtk.Label lblalto = new Gtk.Label("Alto: ");&lt;br /&gt;ancho = new Gtk.Entry("75");&lt;br /&gt;alto = new Gtk.Entry("50");&lt;br /&gt;&lt;br /&gt;BoxSup.PackStart(lblFolder, false, false, 5);&lt;br /&gt;BoxSup.PackStart(EntradaFolder, false, false, 5);&lt;br /&gt;BoxSup.PackStart(bexaminar, false, false, 5);&lt;br /&gt;BoxSup.PackStart(bcargar, false, false, 5);&lt;br /&gt;BoxSup.PackStart(lblancho, false, false, 5);&lt;br /&gt;BoxSup.PackStart(ancho, true, true, 5);&lt;br /&gt;BoxSup.PackStart(lblalto, false, false, 5);&lt;br /&gt;BoxSup.PackStart(alto, true, true, 5);&lt;br /&gt;&lt;br /&gt;//Creacion del Treeview donde se mostrara informacion de la imagen&lt;br /&gt;tree = new Gtk.TreeView();&lt;br /&gt;&lt;br /&gt;Gtk.VBox box = new Gtk.VBox();&lt;br /&gt;&lt;br /&gt;box.PackStart(BoxSup, false, false, 5);&lt;br /&gt;ScrolledWindow scrolledWindow = new ScrolledWindow ();&lt;br /&gt;scrolledWindow.ShadowType = ShadowType.EtchedIn;&lt;br /&gt;scrolledWindow.SetPolicy (PolicyType.Automatic, PolicyType.Automatic);&lt;br /&gt;scrolledWindow.Add(tree);&lt;br /&gt;box.PackStart (scrolledWindow, true, true, 5);&lt;br /&gt;&lt;br /&gt;Gtk.HBox boxinf= new Gtk.HBox();&lt;br /&gt;Gtk.Label lblnthumb = new Gtk.Label("Thumbnail Seleccionado ");&lt;br /&gt;EntradaThumb = new Gtk.Entry();&lt;br /&gt;Gtk.Button bguardar = new Gtk.Button(Stock.Save);&lt;br /&gt;boxinf.PackStart(lblnthumb, false, false, 5);&lt;br /&gt;boxinf.PackStart(EntradaThumb, false, false, 5);&lt;br /&gt;boxinf.PackStart(bguardar, false, false, 5);&lt;br /&gt;&lt;br /&gt;box.PackStart(boxinf, false, false, 5);&lt;br /&gt;//Lo agregamos a la ventana&lt;br /&gt;window.Add(box);&lt;br /&gt;&lt;br /&gt;//Agregamos las columnas al Treeview&lt;br /&gt;tree.AppendColumn("Miniatura",new Gtk.CellRendererPixbuf(),"pixbuf",0);&lt;br /&gt;Gtk.TreeViewColumn NombreImagenColumna = new Gtk.TreeViewColumn();&lt;br /&gt;NombreImagenColumna.Title = "Nombre de la Imagen";&lt;br /&gt;Gtk.CellRendererText NombreImagenCelda = new Gtk.CellRendererText();&lt;br /&gt;NombreImagenColumna.PackStart(NombreImagenCelda,true);&lt;br /&gt;tree.AppendColumn(NombreImagenColumna.Title, new Gtk.CellRendererText(),"text",1);&lt;br /&gt;tree.AppendColumn("Tipo",new Gtk.CellRendererText(),"text",2);&lt;br /&gt;&lt;br /&gt;window.ShowAll();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;static void OnBCargarClicked(object o, EventArgs args)&lt;br /&gt;{&lt;br /&gt;ImagenLista = new Gtk.ListStore(typeof(Gdk.Pixbuf), typeof(string), typeof(string));&lt;br /&gt;string ndir = EntradaFolder.Text;&lt;br /&gt;string nombreima;&lt;br /&gt;DirectoryInfo dir = new DirectoryInfo(ndir);&lt;br /&gt;FileInfo[] archivos = dir.GetFiles();&lt;br /&gt;for(int i = 0; i &lt; nombreima =" ndir" model =" ImagenLista;" twidth =" Convert.ToInt32(ancho.Text);" theight =" Convert.ToInt32(alto.Text);" pb =" new" thumb =" pb.ScaleSimple" retval="true;" filew =" new" filename = "" text =" filew.Filename;"&gt;&lt;br /&gt;&lt;/ARCHIVOS.LENGTH;&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-115480680819571045?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/115480680819571045/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=115480680819571045' title='1 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/115480680819571045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/115480680819571045'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/08/thumbnails-con-mono-c-y-gtk.html' title='Thumbnails con Mono - C# y Gtk'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-115480596960388830</id><published>2006-08-05T12:11:00.000-07:00</published><updated>2006-08-05T12:29:42.053-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><category scheme='http://www.blogger.com/atom/ns#' term='Mono'/><title type='text'>Mis playeras mono y gnome (2)</title><content type='html'>Aqui las imagenes de mis playeras ...!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="center"&gt;&lt;a href="http://photos1.blogger.com/blogger/3381/2514/1600/playeras.gif"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/3381/2514/320/playeras.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;a href="http://photos1.blogger.com/blogger/3381/2514/1600/playeras.gif"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/3381/2514/1600/playera_gnome.gif"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/3381/2514/1600/playera_mono1.gif"&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://photos1.blogger.com/blogger/3381/2514/1600/playera_mono2.gif"&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/3381/2514/1600/playera_mono1.gif"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/3381/2514/200/playera_mono1.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/3381/2514/1600/playera_mono1.gif"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://photos1.blogger.com/blogger/3381/2514/1600/playera_mono2.gif"&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/3381/2514/1600/playera_gnome.gif"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/3381/2514/200/playera_gnome.png" border="0" /&gt;&lt;/a&gt;&lt;a href="http://photos1.blogger.com/blogger/3381/2514/1600/playera_gnome.gif"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/3381/2514/1600/playera_gnome.gif"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://photos1.blogger.com/blogger/3381/2514/1600/playera_mono2.gif"&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/3381/2514/1600/playera_gnome.gif"&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://photos1.blogger.com/blogger/3381/2514/1600/playera_mono2.gif"&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://photos1.blogger.com/blogger/3381/2514/1600/playera_mono2.gif"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/3381/2514/200/playera_mono2.png" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://photos1.blogger.com/blogger/3381/2514/1600/playera_mono2.gif"&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-115480596960388830?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/115480596960388830/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=115480596960388830' title='3 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/115480596960388830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/115480596960388830'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/08/mis-playeras-mono-y-gnome-2.html' title='Mis playeras mono y gnome (2)'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-115465984734379360</id><published>2006-08-03T19:35:00.000-07:00</published><updated>2006-08-03T19:50:47.356-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><category scheme='http://www.blogger.com/atom/ns#' term='Mono'/><title type='text'>Mis playeras mono y gnome (1)</title><content type='html'>Que!!!! ya mas de un mes sin publicar nada, pero en fin de estos dias que no he escrito no hablaremos, y mejor ni pregunten si he programado por que de plano en este tema estoy mas frito, pero dejemos de hablar de cosas tristes y les comento que despues de buscar algunos souveniers (asi se escribe?) del ambiente de software libre, me canse de buscar y cotizar, pero no encontre nada, asi que me decidi por hacerme de unas playeras con el logo de &lt;strong&gt;gnome&lt;/strong&gt; y claro de &lt;strong&gt;Mono&lt;/strong&gt; no podian faltar, asi que me bajo los logos de algunos sitios (espero no exista algun problema legal) y nos lanzamos a una imprenta para cotizar cuanto me sale el estampado de los logos en las playeras, y bueno si no fuera por que llevaba freno quien sabe como hubiera terminado con mis estampados, en fin me convenci por el precio (aqui no lo pondre, no viene al caso) y ahora a escoger unas playeras para los logos, ya imaginaran el entusiasmo que me cargaba, bueno despues de todo esto, por fin tengo mis super playeras de &lt;strong&gt;Mono&lt;/strong&gt; y &lt;strong&gt;Gnome&lt;/strong&gt; y en la primer puesta me tomo la foto para subirlas aqui, a veces no queda de otra que hacerlo uno mismo si no tenemos las cosas a la mano.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-115465984734379360?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/115465984734379360/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=115465984734379360' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/115465984734379360'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/115465984734379360'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/08/mis-playeras-mono-y-gnome-1.html' title='Mis playeras mono y gnome (1)'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-115085540948267507</id><published>2006-06-20T18:51:00.000-07:00</published><updated>2006-06-21T08:06:50.210-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Desarrollo Software'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Libre'/><category scheme='http://www.blogger.com/atom/ns#' term='Mono'/><title type='text'>Que mas queda</title><content type='html'>Andaba investigando sobre cursos o conferencias de software, linux o si fuera mejor sobre Mono, y lo que encontre me dejo algo pensativo, se que el conocimiento cuesta y que nada es gratis, pero las tarifas en realidad me sacaron de onda de momento, pero reflexione y llegue a la conclusión, si quieres un buen congreso tienes que traer a unos fregones, y pues cuesta traerlos asi que mas queda, mas que echarle ganas para engordar al marranito para poder ir a Veracruz ora en Diciembre.&lt;br /&gt;&lt;br /&gt;&lt;div style="PADDING-RIGHT: 10px; PADDING-LEFT: 10px; BACKGROUND: #000000; PADDING-BOTTOM: 10px; COLOR: #ffffff; PADDING-TOP: 10px; HEIGHT: 60px"&gt;&lt;a href="http://www.gulev.org.mx"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/3381/2514/320/LogoGULEVHeader.png" border="0" /&gt;&lt;/a&gt;http://www.gulev.org.mx&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-115085540948267507?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/115085540948267507/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=115085540948267507' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/115085540948267507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/115085540948267507'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/06/que-mas-queda.html' title='Que mas queda'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-115064264182561877</id><published>2006-06-18T07:50:00.000-07:00</published><updated>2006-06-18T07:57:21.853-07:00</updated><title type='text'>Mi blog</title><content type='html'>Estaba viendo la fecha de mi ultima entrada y creo que ya pasaron muchos dias sin escribir nada y eso que dije que atenderia peticiones, pero ya esta ya tengo en mente el proximo ejemplo que abordare, es muy cierto que mucho de los que he empezado aun no estan terminados, pero en fin espero terminarlos un dia, asi que abordare este nuevo proyecto, que claro que algunas cosas no las sabre asi que tendre que investigar y en cierta forma las entradas no seran tan continuas, el proyecto en cuestion es un organizador de fotos o mas bien dicho algo asi como una agenda de fotos donde se almacene el nombre de la foto, la ubicacion, alguna descripcion de la foto, fecha, vista en miniatura y quizas algun herramienta adicional, y lo que pretendo utilizar sera C#, MySql y Gtk, quizas de primera intención se quede corta la aplicación pero como ejemplo yo creo que quedara practico.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-115064264182561877?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/115064264182561877/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=115064264182561877' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/115064264182561877'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/115064264182561877'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/06/mi-blog.html' title='Mi blog'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-114982462016269629</id><published>2006-06-08T20:35:00.000-07:00</published><updated>2006-06-08T20:43:40.186-07:00</updated><title type='text'>Atenderemos peticiones</title><content type='html'>Despues de quien sabe cuantos dias, por que no anote la fecha de haber colocado la encuesta, llevo la nada despreciable cantidad de 4 votos y pues la mayoria de los votos piden que los ejemplos se enfoquen en bases de datos, y asi que atenderemos la peticion y pronto tendre algo de c# y MySql, claro con una interfaz en Gtk, asi que manos a la obra.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-114982462016269629?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/114982462016269629/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=114982462016269629' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/114982462016269629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/114982462016269629'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/06/atenderemos-peticiones.html' title='Atenderemos peticiones'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-114969568285597913</id><published>2006-06-07T08:37:00.000-07:00</published><updated>2006-06-07T19:18:27.470-07:00</updated><title type='text'>Solo en México?</title><content type='html'>Este tema creo que se saldra de lo que acostumbro escribir en mi humilde blog, pero en fin a lo voy, recientemente fue el debate con los candidatos a la presidencia y asi que cada televisora invito a un representante de cada partido para hablar ya en un posdebate, y con que se encuentra el televidente ante algo asi como una encuesta que te obliga a decidir entre ver noticias del mundial de futbol o mirar lo que dicen acerca del debate, y es buena pregunta que atraera mas la atención el mundial o el ajetreo politico ya casi a su cierre de campañas, bueno tenemos que aclarar que estoy hablando de los que solo tenemos 4 canales libres, por que los que gozan de un buen servicio de cable ni le piensan, y ahora ya entrando en el tema de politica, que podemos decir tenemos a 5 candidatos oficialmente reonocidos por el IFE y un candidato libre, en cierta forma me gustaria decir cual es mi gallo para votar, pero mejor lo mantengo en secreto para no recibir algun comentario (claro si leen este blog) negativo, lo unico que dire es que en mi estado llevamos un año que apostamos por el cambio despues de mas de 72 años y pues la verdad las cosas son diferentes, claro no vamos a pensar en que todo ya esta solucionado, pero por el momento se han visto cambios, y ahora elegir un presidente sera algo complejo y quizas seran de las elecciones mas cerradas, por lo que todos acudamos a dejar nuestro sufragio para despues no quejarnos o al menos poder alzar la voz cuando algo no nos convenga del ejecutivo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-114969568285597913?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/114969568285597913/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=114969568285597913' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/114969568285597913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/114969568285597913'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/06/solo-en-mxico.html' title='Solo en México?'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-114912416709742842</id><published>2006-05-31T17:59:00.000-07:00</published><updated>2006-05-31T18:09:27.110-07:00</updated><title type='text'>Almacenamiento de conocimiento</title><content type='html'>El día de ayer explorando un directorio de mi pc, me encontre con un interesante libro electronico con cerca de 771 páginas y de curiosidad lo abri y empece a recorrer y cual fue mi sorpresa que tenia la información que hace días andaba buscando en Google, entonces llego a mi mente, en que momento descargue este libro?, como lo busque?, por que lo baje?, y lo que mas me pregunte fue, por que demonios no lo habia leido?, si se supone que lo baje por que me interesaba este tema, en fin a lo llegue fue que muchas veces andamos vagando con busquedas en Google y descargamos cualquier cosa que consideramos interesante y convertimos nuestra pc en una maquina de almacenamiento de conocimiento al cual no siempre recurrimos para buscar y mas sin embargo de nueva cuenta volvemos a saturar de preguntas al google y el nos devuelve miles de respuestas, sin pensar que en nuestro enpolvado pc tenemos ya esta valiosa información, ahora me pregunto si yo soy el unico al que le ha sucedio esto, que almacena y almacena conocimiento en su pc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-114912416709742842?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/114912416709742842/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=114912416709742842' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/114912416709742842'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/114912416709742842'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/05/almacenamiento-de-conocimiento.html' title='Almacenamiento de conocimiento'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-114900436451068304</id><published>2006-05-30T08:35:00.000-07:00</published><updated>2006-05-30T08:52:44.523-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Gtk'/><category scheme='http://www.blogger.com/atom/ns#' term='Codigo'/><title type='text'>Conversor numero a letras con c# (1)</title><content type='html'>Aqui dejo la pantalla y un poco de codigo de los avances que llevo con este conversor de una cantidad numerica a su representación en letra, el codigo aun esta un poco enredoso, pero despues de concluir dedicare una etapa a corregir y mejorar el codigo y claro a incluir los comentarios ya que por el momento no se los he puesto.&lt;br /&gt;&lt;br /&gt;Aqui la pantalla&lt;br /&gt;&lt;br /&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/3381/2514/320/pantalla1.jpg" border="0" /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Y aqui les dejo el codigo, espero sus comentarios y claro sus ideas para mejorar este programita, que quizas sencillo, pero a veces muy util cuando tienes que elaborarte un presupuestillo y necesitas poner la cantidad en letra.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;using System;&lt;br /&gt;using Gtk;&lt;br /&gt;class nletras&lt;br /&gt;{&lt;br /&gt;static Gtk.Window w;&lt;br /&gt;static Gtk.Entry tcantidad;&lt;br /&gt;static Gtk.Entry tresultado;&lt;br /&gt;static Gtk.Button bconvertir;&lt;br /&gt;static Gtk.Button bsalir;&lt;br /&gt;static String UnoAl15(double N)&lt;br /&gt;{&lt;br /&gt;String[] numero = new String[17];&lt;br /&gt;numero[0] = "CERO ";&lt;br /&gt;numero[1] = "UN ";&lt;br /&gt;numero[2] = "DOS ";&lt;br /&gt;numero[3] = "TRES ";&lt;br /&gt;numero[4] = "CUATRO ";&lt;br /&gt;numero[5] = "CINCO ";&lt;br /&gt;numero[6] = "SEIS ";&lt;br /&gt;numero[7] = "SIETE ";&lt;br /&gt;numero[8] = "OCHO ";&lt;br /&gt;numero[9] = "NUEVE ";&lt;br /&gt;numero[10] = "DIEZ ";&lt;br /&gt;numero[11] = "ONCE ";&lt;br /&gt;numero[12] = "DOCE ";&lt;br /&gt;numero[13] = "TRECE ";&lt;br /&gt;numero[14] = "CATORCE ";&lt;br /&gt;numero[15] = "QUINCE ";&lt;br /&gt;return numero[Convert.ToInt32(N)];&lt;br /&gt;}&lt;br /&gt;static void Main()&lt;br /&gt;{&lt;br /&gt;Application.Init();&lt;br /&gt;w = new Gtk.Window("Convierte numero a letras");&lt;br /&gt;w.SetDefaultSize(450,150);&lt;br /&gt;w.DeleteEvent += new DeleteEventHandler(Cerrar);&lt;br /&gt;Gtk.VBox panelv = new Gtk.VBox();&lt;br /&gt;Gtk.HBox panelsup = new Gtk.HBox(false, 5);&lt;br /&gt;panelv.PackStart(panelsup,false, false, 5);&lt;br /&gt;Gtk.Label lbl1 = new Gtk.Label("Cantidad en numero ");&lt;br /&gt;tcantidad = new Gtk.Entry();&lt;br /&gt;bconvertir = new Button("Convertir a letras");&lt;br /&gt;bconvertir.Clicked += OnButtonClickedConvertir;&lt;br /&gt;panelsup.PackStart(lbl1, false, false, 5);&lt;br /&gt;panelsup.PackStart(tcantidad, false, false, 5);&lt;br /&gt;panelsup.PackStart(bconvertir, false, false, 5);&lt;br /&gt;Gtk.Label lbl2 = new Gtk.Label("Numero en letra ");&lt;br /&gt;tresultado = new Gtk.Entry();&lt;br /&gt;Gtk.HBox panelres = new Gtk.HBox(false, 5);&lt;br /&gt;panelv.PackStart(panelres, false, false, 5);&lt;br /&gt;panelres.PackStart(lbl2, false, false, 5);&lt;br /&gt;panelres.PackStart(tresultado, true, true, 5);&lt;br /&gt;bsalir = new Button(Stock.Quit);&lt;br /&gt;bsalir.Clicked += OnButtonClicked;&lt;br /&gt;panelv.PackStart(bsalir, false, false, 5);&lt;br /&gt;w.Add(panelv);&lt;br /&gt;w.ShowAll();&lt;br /&gt;Application.Run();&lt;br /&gt;}&lt;br /&gt;static void Cerrar(object o, DeleteEventArgs args)&lt;br /&gt;{&lt;br /&gt;args.RetVal = true;&lt;br /&gt;Application.Quit();&lt;br /&gt;}&lt;br /&gt;static void OnButtonClicked(object o, EventArgs args)&lt;br /&gt;{&lt;br /&gt;Application.Quit();&lt;br /&gt;}&lt;br /&gt;static void OnButtonClickedConvertir(object o, EventArgs args)&lt;br /&gt;{&lt;br /&gt;String aux = UnoAl15(Convert.ToDouble(tcantidad.Text));&lt;br /&gt;tresultado.Text = aux;&lt;br /&gt;}&lt;br /&gt;}&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-114900436451068304?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/114900436451068304/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=114900436451068304' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/114900436451068304'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/114900436451068304'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/05/conversor-numero-letras-con-c-1.html' title='Conversor numero a letras con c# (1)'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-114876106085636403</id><published>2006-05-27T13:01:00.000-07:00</published><updated>2006-05-27T13:17:40.866-07:00</updated><title type='text'>Ya tengo algo</title><content type='html'>Comentaba ayer que no tenia nada de programación y esperaba que en el fin de semana algo me iluminara y ya esta por ahi encontre un codigo en vba para transformar un número a su representación en letra, así que me pondre a traducir este codigo a su equivalente en c# y claro si se puede lo armamos con gtk y compilado con Mono, ahora me pondre manos a la obra y les aviso.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-114876106085636403?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/114876106085636403/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=114876106085636403' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/114876106085636403'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/114876106085636403'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/05/ya-tengo-algo.html' title='Ya tengo algo'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-114867668212413796</id><published>2006-05-26T13:46:00.000-07:00</published><updated>2006-05-26T13:51:22.136-07:00</updated><title type='text'>Avances lentos</title><content type='html'>Ultimamente creo que no he trabajado nada de programación, creo que el avance es lento en mi aprendizaje, pero en fin, que mas da despues de terminar una semana de trabajo, me inspira para planear que programa hacer y practicar un poco de c#, asi que por el momento les dejare esta triste entrada en mi blog y espero no sean muy crueles y me llenen mi buzon con mensajes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-114867668212413796?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/114867668212413796/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=114867668212413796' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/114867668212413796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/114867668212413796'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/05/avances-lentos.html' title='Avances lentos'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-114857015107772944</id><published>2006-05-25T08:04:00.000-07:00</published><updated>2006-05-25T08:15:51.093-07:00</updated><title type='text'>Un intruso sospechoso</title><content type='html'>Recientemente mi conexión de internet la note algo extraña, para decir estaba lenta, por lo que aplique un netstat -a 3 y este me arrojo una linea como esta a204-2-128-167.deploy.akamaitechnologies.com y que ademas estaba la conexión establecida, me pregunte de inmediato quien diablos es este intruso, así que meti esta línea al google y barbaro no he sido el unico, y en los foros encontre que algunos programas utilizan este servicio, pero no encontre nada concreto que me dijera si era bueno o era malo, por que pues a pesar de tener panda como cortafuegos, este no me avisaba sobre este intruso, en fin que mas da seguire investigando, para llegar a encontrar el fin que persigue este intruso.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-114857015107772944?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/114857015107772944/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=114857015107772944' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/114857015107772944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/114857015107772944'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/05/un-intruso-sospechoso.html' title='Un intruso sospechoso'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-114848956491584897</id><published>2006-05-24T09:32:00.000-07:00</published><updated>2006-05-24T11:02:49.733-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Desarrollo Software'/><title type='text'>Desarrollo de software en México</title><content type='html'>En días pasados lei una nota publicada en el diaro el universal en su edición electronica &lt;a href="http://www.eluniversal.com.mx/articulos/31443.html" target="_blank"&gt;http://www.eluniversal.com.mx/articulos/31443.html&lt;/a&gt; acerca de la proxima inauguración del centro de desarrollo de software en Jalisco, que en forma resumida se refiere a la construcción de instalaciones donde se alojara una agrupación de aproximadamente 500 ingenieros desarrolladores de software, y en realidad me parecio algo muy bueno para ser la punta de lanza de todos los execelentes programadores que tiene nuestro pais, y como no me quede tranquilo publique este tema en el foro de matuk &lt;a href="http://www.matuk.com/foros/viewtopic.php?t=1779"&gt;http://www.matuk.com/foros/viewtopic.php?t=1779&lt;/a&gt; para que alguien residente de Jalisco nos comentara que sabia al respecto y las respuestas no se hicieron esperar, y comentaron que en si ya existian estas empresas con son un grupo de pymes dedicadas al desarrollo y que estaban establecidas en otro lugar y que ahora se mudaran a este lugar, ahora despues de conocer un poco las expectativas que se tienen respecto al desarrollo del sofware en México, estaria bien seguir investigando mas para conocer realmente cual es la oferta que presenta México en cuanto a desarrollo de software y establecer las causas si la oferta fuera baja respecto a otros paises.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-114848956491584897?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/114848956491584897/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=114848956491584897' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/114848956491584897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/114848956491584897'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/05/desarrollo-de-software-en-mxico.html' title='Desarrollo de software en México'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-114744917974292173</id><published>2006-05-12T08:22:00.000-07:00</published><updated>2006-05-12T08:52:59.753-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Cambiando de distro Linux</title><content type='html'>En días pasados cuando empece a escribir en este blog tenia instalado en mi portatil un sistema operativo Linux, para ser preciso consegui una distribución liveCD de monoppix que ya traia todo para empezar a echar a rodar a Mono, despues de una rato de usarlo lo instale de forma definitiva en mi portatil y bueno me gustaba todo por el momento, pero de repente me empece a dar cuenta que algo andaba mal, por que? por la sencilla razon que esta distribución venia con un escritorio KDE y no con GNOME y entonces me dije por que usar KDE, así que empece a considerar en cambiar de distribución Linux, y claro tenia que considerar que distro ya que mi portatil es una compaq presario con AMDk6 y escasos 92 mb en ram, así que despues de buscar un amigo me dijo yo tengo una distribución Ubuntu 4.10 y esta viene con GNOME, y lo que comente fue pues adelante le instalamos Ubuntu, y ya esta le tumbe al monoppix y le instale Ubuntu 4.10 se que ya esta una distro mas reciente, pero como les comente mi pequeña portatil no tiene muchos recursos, la instalación fue un poco tardada pero facil y sin problemas, despues de instalarlo me restaba descargarme Mono para instalarlo, por lo que elegi descargar el paquete binario para no tener problemas, y ya esta lo instale y pues no pude esperar a meterle unas líneas de codigo aunque nomas fuera para mostrar una ventana vacia en pantalla, yo creo fue tanta mi rapidez que meti mal las instrucciones, de tal forma que al compilar todo estaba bien pero al ejecutar me tiraba una bola de patrañas que claro no era lo que esperaba, jejeje ahora me causa risa al mirar mi codigo que escribi y me pregunto si estaba ya durmiendo o en proceso de ello, aqui les dejo mi codigo y ustedes diganme si no estaba mal.&lt;br /&gt;&lt;br /&gt;using System;&lt;br /&gt;using Gtk;&lt;br /&gt;&lt;br /&gt;class miventana&lt;br /&gt;{&lt;br /&gt;static void Main(String[] args)&lt;br /&gt;{&lt;br /&gt;Application.Quit();&lt;br /&gt;Window v = new Window("Mi ventana");&lt;br /&gt;v.ShowAll();&lt;br /&gt;Application.Init();&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Mucho ojo el codigo esta mal! jejeje&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-114744917974292173?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/114744917974292173/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=114744917974292173' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/114744917974292173'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/114744917974292173'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/05/cambiando-de-distro-linux.html' title='Cambiando de distro Linux'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-114418450005286527</id><published>2006-04-04T13:56:00.000-07:00</published><updated>2006-04-04T14:01:40.066-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Codigo'/><title type='text'>Utopo practica 1 ( I ) C#</title><content type='html'>Empezare el desarrollo de una pequeña aplicación para uso de quienes se dediquen a la topografia, claro especificamos sera con fines de practica y ya despues veremos si el tiempo lo permite ampliarlo con mas utilerias y caracteristicas.&lt;br /&gt;&lt;br /&gt;Por el momento aqui le dejo, pero se ira publicando el codigo y pantallazos que resulte.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-114418450005286527?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/114418450005286527/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=114418450005286527' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/114418450005286527'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/114418450005286527'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/04/utopo-practica-1-i-c.html' title='Utopo practica 1 ( I ) C#'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-114411640556376341</id><published>2006-04-03T19:02:00.000-07:00</published><updated>2006-04-03T19:06:45.576-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySql'/><title type='text'>Me preguntaba sobre Mysql embebido y C#</title><content type='html'>Recientemente lei que se puede embeber Mysql en C para sistemas que no se desee montar un servidor de Mysql, en caso concreto como un negocio pequeño o algo asi, pero con toda la potencia de las API de Mysql, así que he dado vueltas y vueltas preguntandome como se embeberia usando C#, bueno para no cansar con este post, le buscare y si encuentro algo, lo ponemos y si fallamos en el intento pues le seguimos que mas da, pero si alguien sabe algo, pues adelante se reciben comentarios.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-114411640556376341?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/114411640556376341/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=114411640556376341' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/114411640556376341'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/114411640556376341'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/04/me-preguntaba-sobre-mysql-embebido-y-c.html' title='Me preguntaba sobre Mysql embebido y C#'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-114383983863695402</id><published>2006-03-31T13:13:00.000-08:00</published><updated>2006-03-31T13:17:18.650-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Codigo'/><title type='text'>Clases con C#</title><content type='html'>&lt;span style="color:#3366ff;"&gt;//Un poco de codigo usando Clases con c#&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;using System;&lt;br /&gt;class Tabla&lt;br /&gt;{&lt;br /&gt;private int NumeroRenglones;&lt;br /&gt;private int PosicionActual;&lt;br /&gt;&lt;br /&gt;//Constructor&lt;br /&gt;public Tabla()&lt;br /&gt;{&lt;br /&gt;NumRenglones = 0;&lt;br /&gt;Posicion = 0;&lt;br /&gt;}&lt;br /&gt;public int NumRenglones&lt;br /&gt;{&lt;br /&gt;get&lt;br /&gt;{&lt;br /&gt;return this.NumeroRenglones;&lt;br /&gt;}&lt;br /&gt;set&lt;br /&gt;{&lt;br /&gt;this.NumeroRenglones = value;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;public int Posicion&lt;br /&gt;{&lt;br /&gt;get&lt;br /&gt;{&lt;br /&gt;return this.PosicionActual;&lt;br /&gt;}&lt;br /&gt;set&lt;br /&gt;{&lt;br /&gt;this.PosicionActual = value;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;public Boolean AgregaRenglon()&lt;br /&gt;{&lt;br /&gt;NumRenglones+=1;&lt;br /&gt;return true;&lt;br /&gt;}&lt;br /&gt;public Boolean MueveAdelante()&lt;br /&gt;{&lt;br /&gt;Posicion +=1;&lt;br /&gt;return true;&lt;br /&gt;}&lt;br /&gt;public Boolean MueveAtras()&lt;br /&gt;{&lt;br /&gt;Posicion -=1;&lt;br /&gt;return true;&lt;br /&gt;}&lt;br /&gt;public Boolean MueveUltimo()&lt;br /&gt;{&lt;br /&gt;Posicion = NumRenglones;&lt;br /&gt;return true;&lt;br /&gt;}&lt;br /&gt;public Boolean MuevePrimero()&lt;br /&gt;{&lt;br /&gt;Posicion = 0;&lt;br /&gt;return true;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;class Agenda&lt;br /&gt;{&lt;br /&gt;static void Main()&lt;br /&gt;{&lt;br /&gt;Tabla rt = new Tabla();&lt;br /&gt;Console.WriteLine("Inicializacion ..... ");&lt;br /&gt;Console.WriteLine("Renglones: {0}", rt.NumRenglones);&lt;br /&gt;Console.WriteLine("Posicion: {0}", rt.Posicion);&lt;br /&gt;Console.WriteLine("-------------------------------------");&lt;br /&gt;int opcion;&lt;br /&gt;do&lt;br /&gt;{&lt;br /&gt;Console.WriteLine("Menu");&lt;br /&gt;Console.WriteLine("1.- Agregar registro");&lt;br /&gt;Console.WriteLine("2.- Numero de registros");&lt;br /&gt;Console.WriteLine("3.- Posicion actual");&lt;br /&gt;Console.WriteLine("4.- Mover primero");&lt;br /&gt;Console.WriteLine("5.- Mover atras");&lt;br /&gt;Console.WriteLine("6.- Mover adelante");&lt;br /&gt;Console.WriteLine("7.- Mover ultimo");&lt;br /&gt;Console.WriteLine("8.- Salir");&lt;br /&gt;Console.WriteLine("Elija una opcion: ");&lt;br /&gt;opcion = Console.Read();&lt;br /&gt;Console.Read();&lt;br /&gt;switch(opcion)&lt;br /&gt;{&lt;br /&gt;case '1':&lt;br /&gt;if(rt.AgregaRenglon())&lt;br /&gt;Console.WriteLine("Agregado");&lt;br /&gt;break;&lt;br /&gt;case '2':&lt;br /&gt;Console.WriteLine("Renglones: {0}", rt.NumRenglones);&lt;br /&gt;break;&lt;br /&gt;case '3':&lt;br /&gt;Console.WriteLine("Posicion: {0}",rt.Posicion);&lt;br /&gt;break;&lt;br /&gt;case '6':&lt;br /&gt;if(rt.MueveAdelante())&lt;br /&gt;Console.WriteLine("Listo");&lt;br /&gt;break;&lt;br /&gt;}&lt;br /&gt;}while(opcion!='8');&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;aun faltan las otras instrucciones, pero creo que es facil de implementar lo que falta.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-114383983863695402?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/114383983863695402/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=114383983863695402' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/114383983863695402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/114383983863695402'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/03/clases-con-c.html' title='Clases con C#'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-114374084648016713</id><published>2006-03-30T09:47:00.000-08:00</published><updated>2006-03-30T10:27:01.990-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mono'/><title type='text'>Un poco de Miguel de Icaza</title><content type='html'>&lt;p align="center"&gt;&lt;a href="http://photos1.blogger.com/hello/189/10335/640/Miguel_de_Icaza.jpg"&gt;&lt;img style="BORDER-RIGHT: #666666 1px solid; BORDER-TOP: #666666 1px solid; MARGIN: 2px; BORDER-LEFT: #666666 1px solid; BORDER-BOTTOM: #666666 1px solid" src="http://photos1.blogger.com/hello/189/10335/320/Miguel_de_Icaza.jpg" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;Miguel de Icaza, creador del proyecto Mono y uno de los mejores programadores de software libre, en los años 90 estudiante de la Universidad Autonoma de México desarrolla un software para la manipulación de archivos (mid night commander) , crea el escritorio para linux gnome, y funda su empresa Ximian donde empieza a desarrollar el proyecto Mono, que es una plataforma .Net para desarrollo de software libre, actualmente vive en Boston, trabaja en Novell y sigue a cargo de la dirección del proyecto Mono.&lt;br /&gt;&lt;br /&gt;Su blog: &lt;a href="http://tirania.org/blog/index.html"&gt;http://tirania.org/blog/index.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-114374084648016713?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/114374084648016713/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=114374084648016713' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/114374084648016713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/114374084648016713'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/03/un-poco-de-miguel-de-icaza.html' title='Un poco de Miguel de Icaza'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-114373965182508200</id><published>2006-03-30T09:08:00.000-08:00</published><updated>2006-03-30T09:27:31.840-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySql'/><title type='text'>Levantando a Mysql</title><content type='html'>En dias pasados tenia un problema con el server de Mysql, bueno en realidad creo que todavia persiste, pero encontre una solución temporal.&lt;br /&gt;&lt;br /&gt;El error en cuestión era este:&lt;br /&gt;&lt;br /&gt;shell&gt;&gt;mysql -u root -p&lt;br /&gt;Enter password:&lt;br /&gt;&lt;br /&gt;Me botaba este error&lt;br /&gt;&lt;br /&gt;Error 2002 (HY000) Can't connect to local MySQL server through socket '/tmp'&lt;br /&gt;&lt;br /&gt;y la verdad que era un quebradero de cabeza, así que busque como solucionarlo, y esta es hasta ahorita la manera de levantar al demonio de Mysql.&lt;br /&gt;&lt;br /&gt;shell&gt;&gt;/usr/bin/mysqld --skip-grant-tables --user=root&lt;br /&gt;&lt;br /&gt;Esto me arroja un comentario acerca de problemas creo con las tablas tipo INNODB&lt;br /&gt;&lt;br /&gt;y despues de esto un ctrl+d&lt;br /&gt;&lt;br /&gt;En fin esto me ha solucionado mi problema, espero les sirva en su caso.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-114373965182508200?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/114373965182508200/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=114373965182508200' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/114373965182508200'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/114373965182508200'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/03/levantando-mysql.html' title='Levantando a Mysql'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-114365329805251246</id><published>2006-03-29T09:22:00.000-08:00</published><updated>2006-03-29T09:38:08.746-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Acerca de la agenda</title><content type='html'>He estado pensando que en el proyecto de la agenda tenemos mucho codigo, o quizas sea el necesario, pero de lo que si estoy seguro es de que se puede modificar para que este mas optimizado, así que en los próximos días ire haciendo unas modificaciones, cuando ya lo tenga lo publicare, espero sea pronto no desesperen.&lt;br /&gt;&lt;br /&gt;La idea es tener una forma mas general para el recorrido de los registros y despues este codigo pueda ser reutilizado en proyectos similares.&lt;br /&gt;&lt;br /&gt;mas o menos asi:&lt;br /&gt;class Mitabla&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;Private int PosicionRenglon;&lt;br /&gt;&lt;br /&gt;public Mitabla()&lt;br /&gt;{&lt;br /&gt;//Aqui inicializar las variables de acuerdo a los datos de la bd&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public MoverSiguiente()&lt;br /&gt;{&lt;br /&gt;this.PosicionRenglon+=1;&lt;br /&gt;//Posicion+=1;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public int Posicion()&lt;br /&gt;{&lt;br /&gt;get&lt;br /&gt;{&lt;br /&gt;return this.PosicionRenglon;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;set&lt;br /&gt;{&lt;br /&gt;this.PosicionRenglon=value;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;bueno hasta aqui llevo la idea, si alguien considera algo mejor no duden en comentar&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-114365329805251246?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/114365329805251246/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=114365329805251246' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/114365329805251246'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/114365329805251246'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/03/acerca-de-la-agenda.html' title='Acerca de la agenda'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-114347771566485473</id><published>2006-03-27T07:58:00.000-08:00</published><updated>2006-03-27T08:45:49.420-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Gtk'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Mono'/><category scheme='http://www.blogger.com/atom/ns#' term='Codigo'/><title type='text'>Creacion de una ventana con Gtk</title><content type='html'>Aqui les dejo el codigo básico para crear una ventana con C# y Gtk con Mono&lt;br /&gt;&lt;br /&gt;using System;&lt;br /&gt;using Gtk;&lt;br /&gt;&lt;br /&gt;class Miventana&lt;br /&gt;{&lt;br /&gt;static void Main(string[] args)&lt;br /&gt;{&lt;br /&gt;Application.Init();&lt;br /&gt;Miventana window = new Miventana();&lt;br /&gt;Application.Run();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public Miventana() //Constructor de la ventana&lt;br /&gt;{&lt;br /&gt;Gtk.Window v = new Gtk.Window("Mi ventana");&lt;br /&gt;v.DeleteEvent += new DeleteEventHandler(OnDeleteWindow);&lt;br /&gt;v.ShowAll();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;static void OnDeleteWindow(object obj, DeleteEventArgs args)&lt;br /&gt;{&lt;br /&gt;Application.Quit();&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;compilar de la siguiente: mcs Miventana.cs -pkg:gtk-sharp&lt;br /&gt;&lt;br /&gt;Ejecutar: mono Miventana.exe&lt;br /&gt;&lt;br /&gt;Resultado que se obtiene&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/3381/2514/400/Miventana.jpg" border="0" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-114347771566485473?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/114347771566485473/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=114347771566485473' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/114347771566485473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/114347771566485473'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/03/creacion-de-una-ventana-con-gtk.html' title='Creacion de una ventana con Gtk'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-114313189249999501</id><published>2006-03-23T08:26:00.000-08:00</published><updated>2006-03-23T09:37:23.223-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySql'/><category scheme='http://www.blogger.com/atom/ns#' term='Gtk'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Mono'/><category scheme='http://www.blogger.com/atom/ns#' term='Codigo'/><category scheme='http://www.blogger.com/atom/ns#' term='Glade'/><title type='text'>Codigo C# y Gtk# agenda sencilla</title><content type='html'>//--------------------------------------------------------------------------&lt;br /&gt;// Proyecto: Sencilla Agenda de contactos&lt;br /&gt;// Desarrollo: gsur&lt;br /&gt;// Fecha: 18/03/2006&lt;br /&gt;// Compilar:&lt;br /&gt;// mcs sagenda.cs -pkg:gtk-sharp -pkg:glade-sharp -r:System.Data.dll&lt;br /&gt;// -r:Mysql.Data.dll -resource:vagenda.glade&lt;br /&gt;// Entorno de desarrollo: Mono&lt;br /&gt;// Comentarios: El borrado de contactos tiene un error, ya que no recorre el&lt;br /&gt;// numero actual de contactos, falta añadir un poco mas de codigo,&lt;br /&gt;// pero el borrado si lo aplica correctamente, asi que quedan&lt;br /&gt;// advertidos&lt;br /&gt;//--------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Data;&lt;br /&gt;using MySql.Data.MySqlClient;&lt;br /&gt;using Gtk;&lt;br /&gt;using Glade;&lt;br /&gt;&lt;br /&gt;public class Agenda&lt;br /&gt;{&lt;br /&gt;[Glade.Widget] Gtk.Window ventana;&lt;br /&gt;[Glade.Widget] Gtk.Entry txtcontacto;&lt;br /&gt;[Glade.Widget] Gtk.Entry txtdire;&lt;br /&gt;[Glade.Widget] Gtk.Entry txttel;&lt;br /&gt;[Glade.Widget] Gtk.Entry txtmail;&lt;br /&gt;[Glade.Widget] Gtk.Label lblnregs;&lt;br /&gt;[Glade.Widget] Gtk.Entry txtbusqueda;&lt;br /&gt;&lt;br /&gt;public string sql; //Variable para las cadenas de consulta&lt;br /&gt;public string connectionString;&lt;br /&gt;public IDbConnection dbcon;&lt;br /&gt;public IDbCommand dbcmd;&lt;br /&gt;public IDataReader reader;&lt;br /&gt;public int npos; //Renglon actual&lt;br /&gt;public long nc; //Numero de renglones&lt;br /&gt;public System.UInt32 id_contacto; //Clave primaria de los contactos&lt;br /&gt;public string nombre; //Nombre del contacto&lt;br /&gt;public string direccion; //Direccion del contacto&lt;br /&gt;public string telefono; //Telefono del contacto&lt;br /&gt;public string email; //Email del contacto&lt;br /&gt;public int opcion; //Situacion actual [Insercion o Update]&lt;br /&gt;&lt;br /&gt;public static void Main(String[] args)&lt;br /&gt;{&lt;br /&gt;Application.Init();&lt;br /&gt;Agenda gt=new Agenda();&lt;br /&gt;Application.Run();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public Agenda()&lt;br /&gt;{&lt;br /&gt;Glade.XML gxml=new Glade.XML(null, "vagenda.glade","ventana",null);&lt;br /&gt;gxml.Autoconnect(this);&lt;br /&gt;connectionString ="Server=localhost;" + "Database=personal;" + "User ID=rafita;" + "Password=;" + "Pooling=false";&lt;br /&gt;dbcon = new MySqlConnection(connectionString);&lt;br /&gt;dbcon.Open();&lt;br /&gt;dbcmd = dbcon.CreateCommand();&lt;br /&gt;sql = "SELECT * FROM miscontactos ORDER BY nombre_contacto LIMIT 0,1";&lt;br /&gt;dbcmd.CommandText = sql;&lt;br /&gt;reader = dbcmd.ExecuteReader();&lt;br /&gt;leer_contacto(reader);&lt;br /&gt;npos=0;&lt;br /&gt;dhabilita(false);&lt;br /&gt;reader.Close();&lt;br /&gt;reader=null;&lt;br /&gt;sql = "SELECT COUNT(id_contacto) AS ncount FROM miscontactos";&lt;br /&gt;dbcmd.CommandText = sql;&lt;br /&gt;reader = dbcmd.ExecuteReader();&lt;br /&gt;reader.Read();&lt;br /&gt;nc = (long) reader["ncount"];&lt;br /&gt;lblnregs.Text="Contacto: 1 de " + nc;&lt;br /&gt;opcion=0;&lt;br /&gt;reader.Close();&lt;br /&gt;reader = null;&lt;br /&gt;dbcmd.Dispose();&lt;br /&gt;dbcmd = null;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void on_ventana_delete_event(object o, DeleteEventArgs args)&lt;br /&gt;{&lt;br /&gt;dbcon.Close();&lt;br /&gt;dbcon = null;&lt;br /&gt;Application.Quit();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void on_bsalir_clicked(System.Object b, EventArgs e)&lt;br /&gt;{&lt;br /&gt;dbcon.Close();&lt;br /&gt;dbcon = null;&lt;br /&gt;Application.Quit();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void on_bprimero_clicked(System.Object b, EventArgs e)&lt;br /&gt;{&lt;br /&gt;npos=0;&lt;br /&gt;lblnregs.Text="Contacto: 1 de " + nc;&lt;br /&gt;mover();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void on_banterior_clicked(System.Object b, EventArgs e)&lt;br /&gt;{&lt;br /&gt;if(npos&gt;0) {&lt;br /&gt;npos-=1;&lt;br /&gt;mover();&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;advierte("\n\nSe ha llegado al primer contacto");&lt;br /&gt;lblnregs.Text="Contacto: " + (int) (npos + 1) + " de " + nc;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void on_bsiguiente_clicked(System.Object b, EventArgs e)&lt;br /&gt;{&lt;br /&gt;if(npos&lt;((int) nc-1)) {&lt;br /&gt;npos+=1;&lt;br /&gt;mover();&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;advierte("\n\nSe ha llegado al ultimo contacto");&lt;br /&gt;lblnregs.Text="Contacto: " + (int) (npos + 1) + " de " + nc;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void on_bultimo_clicked(System.Object b, EventArgs e)&lt;br /&gt;{&lt;br /&gt;npos=(int) (nc-1);&lt;br /&gt;mover();&lt;br /&gt;lblnregs.Text="Contacto: " + nc + " de " + nc;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void guardar_cancelar()&lt;br /&gt;{&lt;br /&gt;nombre = txtcontacto.Text;&lt;br /&gt;direccion = txtdire.Text;&lt;br /&gt;telefono = txttel.Text;&lt;br /&gt;email = txtmail.Text;&lt;br /&gt;}&lt;br /&gt;public void on_bnuevo_clicked(System.Object b, EventArgs e)&lt;br /&gt;{&lt;br /&gt;dhabilita(true);&lt;br /&gt;guardar_cancelar();&lt;br /&gt;txtcontacto.Text="";&lt;br /&gt;txtdire.Text="";&lt;br /&gt;txttel.Text="";&lt;br /&gt;txtmail.Text="";&lt;br /&gt;opcion=1;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void on_beditar_clicked(System.Object b, EventArgs e)&lt;br /&gt;{&lt;br /&gt;dhabilita(true);&lt;br /&gt;guardar_cancelar();&lt;br /&gt;opcion=2;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void on_bguardar_clicked(System.Object b, EventArgs e)&lt;br /&gt;{&lt;br /&gt;dbcmd = dbcon.CreateCommand();&lt;br /&gt;switch(opcion)&lt;br /&gt;{&lt;br /&gt;case 0:&lt;br /&gt;String msg;&lt;br /&gt;msg="\n\nNo ha elegido alguna opcion [Nuevo/Editar]";&lt;br /&gt;MessageDialog md = new MessageDialog(ventana, DialogFlags.DestroyWithParent, MessageType.Warning, ButtonsType.Ok,msg);&lt;br /&gt;ResponseType r = (ResponseType) md.Run();&lt;br /&gt;if(r==ResponseType.Ok) {&lt;br /&gt;md.Destroy();&lt;br /&gt;}&lt;br /&gt;break;&lt;br /&gt;case 1:&lt;br /&gt;guardar_nuevo();&lt;br /&gt;break;&lt;br /&gt;case 2:&lt;br /&gt;guardar_edicion();&lt;br /&gt;break;&lt;br /&gt;}&lt;br /&gt;opcion=0;&lt;br /&gt;dhabilita(false);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void guardar_nuevo()&lt;br /&gt;{&lt;br /&gt;sql = "INSERT INTO miscontactos(nombre_contacto, direccion_contacto, telefono_contacto, email_contacto) VALUES(";&lt;br /&gt;sql = sql + "'" + txtcontacto.Text + "','" + txtdire.Text + "','" + txttel.Text + "','" + txtmail.Text + "')";&lt;br /&gt;dbcmd.CommandText = sql;&lt;br /&gt;dbcmd.ExecuteNonQuery();&lt;br /&gt;sql = "SELECT COUNT(id_contacto) AS ncount FROM miscontactos";&lt;br /&gt;dbcmd.CommandText = sql;&lt;br /&gt;reader = dbcmd.ExecuteReader();&lt;br /&gt;reader.Read();&lt;br /&gt;nc = (long) reader["ncount"];&lt;br /&gt;nc-=1;&lt;br /&gt;reader.Close();&lt;br /&gt;reader = null;&lt;br /&gt;sql = "SELECT * FROM miscontactos ORDER BY id_contacto LIMIT " + nc + ",1";&lt;br /&gt;dbcmd.CommandText = sql;&lt;br /&gt;reader = dbcmd.ExecuteReader();&lt;br /&gt;reader.Read();&lt;br /&gt;System.UInt32 na = (System.UInt32) reader["id_contacto"];&lt;br /&gt;id_contacto = na;&lt;br /&gt;reader.Close();&lt;br /&gt;reader = null;&lt;br /&gt;&lt;br /&gt;sql = "SELECT * FROM miscontactos ORDER BY nombre_contacto";&lt;br /&gt;dbcmd.CommandText = sql;&lt;br /&gt;reader = dbcmd.ExecuteReader();&lt;br /&gt;int ncont=0;&lt;br /&gt;while(reader.Read() &amp;&amp;amp; ((System.UInt32) reader["id_contacto"]!=na)) {&lt;br /&gt;ncont+=1;&lt;br /&gt;}&lt;br /&gt;npos=ncont;&lt;br /&gt;ncont+=1;&lt;br /&gt;nc+=1;&lt;br /&gt;lblnregs.Text = "Contacto: " + ncont + " de " + nc;&lt;br /&gt;reader.Close();&lt;br /&gt;reader = null;&lt;br /&gt;&lt;br /&gt;dbcmd.Dispose();&lt;br /&gt;dbcmd = null;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void guardar_edicion()&lt;br /&gt;{&lt;br /&gt;sql = "UPDATE miscontactos SET nombre_contacto='" + txtcontacto.Text + "',";&lt;br /&gt;sql = sql + "direccion_contacto='" + txtdire.Text + "',";&lt;br /&gt;sql = sql + "telefono_contacto='" + txttel.Text + "',";&lt;br /&gt;sql = sql + "email_contacto='" + txtmail.Text + "' WHERE id_contacto=" + id_contacto;&lt;br /&gt;dbcmd.CommandText = sql;&lt;br /&gt;dbcmd.ExecuteNonQuery();&lt;br /&gt;dbcmd.Dispose();&lt;br /&gt;dbcmd = null;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void on_bcancelar_clicked(System.Object b, EventArgs e)&lt;br /&gt;{&lt;br /&gt;txtcontacto.Text = nombre;&lt;br /&gt;txtdire.Text = direccion;&lt;br /&gt;txttel.Text = telefono;&lt;br /&gt;txtmail.Text = email;&lt;br /&gt;dhabilita(false);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void on_beliminar_clicked(System.Object b, EventArgs e)&lt;br /&gt;{&lt;br /&gt;String msgdelete;&lt;br /&gt;msgdelete="\n¿Desea realmente eliminar este contacto?";&lt;br /&gt;msgdelete = msgdelete + "\n\nSi desea continuar pulse Aceptar, si no";&lt;br /&gt;msgdelete = msgdelete + "\ndesea continuar pulse Cancelar";&lt;br /&gt;MessageDialog md = new MessageDialog(ventana, DialogFlags.DestroyWithParent, MessageType.Warning, ButtonsType.OkCancel,msgdelete);&lt;br /&gt;ResponseType r = (ResponseType) md.Run();&lt;br /&gt;if(r==ResponseType.Ok) {&lt;br /&gt;dbcon = new MySqlConnection(connectionString);&lt;br /&gt;dbcon.Open();&lt;br /&gt;dbcmd = dbcon.CreateCommand();&lt;br /&gt;sql = "DELETE FROM miscontactos WHERE id_contacto=" + id_contacto;&lt;br /&gt;dbcmd.CommandText = sql;&lt;br /&gt;dbcmd.ExecuteNonQuery();&lt;br /&gt;dbcmd.Dispose();&lt;br /&gt;dbcmd = null;&lt;br /&gt;dbcon.Close();&lt;br /&gt;dbcon = null;&lt;br /&gt;md.Destroy();&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;md.Destroy();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void on_bbuscar_clicked(System.Object b, EventArgs e)&lt;br /&gt;{&lt;br /&gt;dbcmd = dbcon.CreateCommand();&lt;br /&gt;sql = "SELECT * FROM miscontactos WHERE nombre_contacto LIKE '" + txtbusqueda.Text + "%'";&lt;br /&gt;dbcmd.CommandText = sql;&lt;br /&gt;reader = dbcmd.ExecuteReader();&lt;br /&gt;if(reader.Read())&lt;br /&gt;{&lt;br /&gt;id_contacto = (System.UInt32) reader["id_contacto"];&lt;br /&gt;System.UInt32 na = id_contacto;&lt;br /&gt;txtcontacto.Text=(string) reader["nombre_contacto"];&lt;br /&gt;txtdire.Text=(string) reader["direccion_contacto"];&lt;br /&gt;txttel.Text=(string) reader["telefono_contacto"];&lt;br /&gt;txtmail.Text=(string) reader["email_contacto"];&lt;br /&gt;reader.Close();&lt;br /&gt;reader = null;&lt;br /&gt;sql = "SELECT * FROM miscontactos ORDER BY nombre_contacto";&lt;br /&gt;dbcmd.CommandText = sql;&lt;br /&gt;reader = dbcmd.ExecuteReader();&lt;br /&gt;int ncont=0;&lt;br /&gt;while(reader.Read() &amp;&amp;amp; ((System.UInt32) reader["id_contacto"]!=na)) {&lt;br /&gt;ncont+=1;&lt;br /&gt;}&lt;br /&gt;npos=ncont;&lt;br /&gt;ncont+=1;&lt;br /&gt;lblnregs.Text = "Contacto: " + ncont + " de " + nc;&lt;br /&gt;reader.Close();&lt;br /&gt;reader = null;&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;MessageDialog md = new MessageDialog(ventana, DialogFlags.DestroyWithParent, MessageType.Warning, ButtonsType.Ok, "\n\nNo se enontro alguna coincidencia");&lt;br /&gt;ResponseType r = (ResponseType) md.Run();&lt;br /&gt;if(r==ResponseType.Ok)&lt;br /&gt;md.Destroy();&lt;br /&gt;}&lt;br /&gt;dbcmd.Dispose();&lt;br /&gt;dbcmd = null;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void mover()&lt;br /&gt;{&lt;br /&gt;dbcmd = dbcon.CreateCommand();&lt;br /&gt;sql = "SELECT * FROM miscontactos ORDER BY nombre_contacto LIMIT " + npos + ",1";&lt;br /&gt;dbcmd.CommandText = sql;&lt;br /&gt;reader = dbcmd.ExecuteReader();&lt;br /&gt;leer_contacto(reader);&lt;br /&gt;reader.Close();&lt;br /&gt;reader = null;&lt;br /&gt;dbcmd.Dispose();&lt;br /&gt;dbcmd = null;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void dhabilita(Boolean valor)&lt;br /&gt;{&lt;br /&gt;txtcontacto.Editable = valor;&lt;br /&gt;txtdire.Editable = valor;&lt;br /&gt;txttel.Editable = valor;&lt;br /&gt;txtmail.Editable = valor;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void advierte(String mensaje)&lt;br /&gt;{&lt;br /&gt;MessageDialog md = new MessageDialog(ventana, DialogFlags.DestroyWithParent, MessageType.Warning, ButtonsType.Ok, mensaje);&lt;br /&gt;ResponseType r = (ResponseType) md.Run();&lt;br /&gt;if(r==ResponseType.Ok)&lt;br /&gt;md.Destroy();&lt;br /&gt;}&lt;br /&gt;public void leer_contacto(IDataReader mireader)&lt;br /&gt;{&lt;br /&gt;mireader.Read();&lt;br /&gt;id_contacto = (System.UInt32) mireader["id_contacto"];&lt;br /&gt;txtcontacto.Text=(string) mireader["nombre_contacto"];&lt;br /&gt;txtdire.Text=(string) mireader["direccion_contacto"];&lt;br /&gt;txttel.Text=(string) mireader["telefono_contacto"];&lt;br /&gt;txtmail.Text=(string) mireader["email_contacto"];&lt;br /&gt;}&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-114313189249999501?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/114313189249999501/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=114313189249999501' title='8 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/114313189249999501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/114313189249999501'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/03/codigo-c-y-gtk-agenda-sencilla.html' title='Codigo C# y Gtk# agenda sencilla'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-114263339566769252</id><published>2006-03-17T14:09:00.000-08:00</published><updated>2006-03-24T08:06:14.823-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mono'/><category scheme='http://www.blogger.com/atom/ns#' term='Glade'/><title type='text'>C# + Gtk# + Glade + Mysql</title><content type='html'>Empece con una pequeña agenda de contactos para empezar a programar en Mono, durante los proximos dias se ira publicando el desarrollo, por el momento les dejo la interfaz de la agenda, esta se elaboro con Glade.&lt;br /&gt;&lt;br /&gt;Esta pantalla es ejecutandose en Windows&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/3381/2514/320/captura1.jpg" border="0" /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Esta otra pantalla es ejecutandose en Linux&lt;/p&gt;&lt;p&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/3381/2514/400/Pantallazomono.jpg" border="0" /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-114263339566769252?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/114263339566769252/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=114263339566769252' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/114263339566769252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/114263339566769252'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/03/c-gtk-glade-mysql.html' title='C# + Gtk# + Glade + Mysql'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24271036.post-114262927742706781</id><published>2006-03-17T12:48:00.000-08:00</published><updated>2006-03-17T13:09:06.303-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mono'/><title type='text'>Proyecto Mono en México</title><content type='html'>Aunque desconozco realmente el numero de desarrolladores en México que utilicen entornos de desarrollo libre, me atrevo a contarme como uno más, en este blog tratare de mostrar algunas cosillas del desarrollo con Mono.&lt;br /&gt;&lt;br /&gt;Enlaces de interes:&lt;br /&gt;&lt;br /&gt;http://&lt;a href="http://www.monohispano.org"&gt;www.monohispano.org&lt;/a&gt; (en español)&lt;br /&gt;&lt;a href="http://www.monohispano.es"&gt;http://www.monohispano.es&lt;/a&gt; (en español)&lt;br /&gt;http://&lt;a href="http://www.go-mono.org"&gt;www.go-mono.org&lt;/a&gt; (en ingles)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24271036-114262927742706781?l=gsur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsur.blogspot.com/feeds/114262927742706781/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24271036&amp;postID=114262927742706781' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/114262927742706781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24271036/posts/default/114262927742706781'/><link rel='alternate' type='text/html' href='http://gsur.blogspot.com/2006/03/proyecto-mono-en-mxico.html' title='Proyecto Mono en M&amp;eacute;xico'/><author><name>gsur</name><uri>http://www.blogger.com/profile/05027959085079536180</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_hHscOY1kZf4/TMowSbedOZI/AAAAAAAAACU/qb8kLDnc8jE/S220/logo.jpg'/></author><thr:total>0</thr:total></entry></feed>
