Por Geymer Morales Cruz

Compartiendo Información...

Tips para informáticos

Tips para informáticos nace gracias a esas pequeñas necesidades que muchas veces nos complican el desarrollo de una aplicación, espero les sea de utilidad los códigos facilitados.

Códigos fuentes para aplicaciones de escritorio

Aca podras encontrar esa ayuda necesaria para sacar adelante tu aplicación, esos pequeños códigos fuentes que son fundamentales para que nuestro metodo funcione, además la funcionalidad de bases de datos fundamentales para el manejo de nuestros datos.

Códidos fuentes para aplicaciones web

Actualmente las aplicaciones web son fundamentales en las organizaciones, es por eso que estos tips te ayudaran a sacar adelante tu aplicación web.

Códigos fuentes Android

Con el incremento en los Smartphone, las app para estos dispositivos son fundamentales, es por esto que acá tendrás esas pequeñas bases para que puedas realizar tus app.

Códigos Fuentes Windows Mobile

Para los que han trabajado con las Pockets PC o Handheld, los métodos y códigos que encontraras te ayudaran en esos métodos importantísimos en tu aplicación.

Mostrando entradas con la etiqueta Visual Net. Mostrar todas las entradas
Mostrando entradas con la etiqueta Visual Net. Mostrar todas las entradas

Como ordenar un Dataset VB.Net mediante una columna indicada

Hola buenas, otra vez por acá compartiendo un poco de información que ojala les sea útil. Bien hoy les compartiré como ordenar un Dataset mediante la indicación de una columna, para realizar esto basta escribir las siguientes líneas de código:

Dim dt = DSTemp.Tables(0)
dt.DefaultView.Sort = "VIDA_UTIL Asc"
DSTemp.Tables.RemoveAt(0)
DSTemp.Tables.Add(dt.DefaultView.ToTable)
DSTemp.AcceptChanges()

Como se muestra en la línea de código estamos ordenando por vida útil los datos obtenidos en la tabla 0 del DataSet.
Bien en el primer ejemplo ordenamos solo una tabla del dataset, si quisiéramos ordenar todas las tablas del dataset suponiendo que la columna se llama igual en todas las tablas el código seria el siguiente:

For x As Integer = DSTemp.Tables.Count - 1 To 0 Step -1
  Dim dt = DSTemp.Tables(x)
  dt.DefaultView.Sort = "ImageData Asc"
  DSTemp.Tables.RemoveAt(x)
  DSTemp.Tables.Add(dt.DefaultView.ToTable)
Next
DSTemp.AcceptChanges()

Espero que este pequeño post sea de gran ayuda…

Centrar un Objeto en Visual Net

Una vez más por acá posteándoles un pequeño tip que puede ser muy útil para ustedes. Resulta que en algún momento tuve la necesidad de centrar un GroupBox en mi formulario en una de las aplicaciones que estaba desarrollando, es por esto que les comparto el siguiente método que funciona con cualquier objeto que deseen centrar...
 

    Private Sub Centrar(ByVal Objeto As Object)

        ' Centrar un Formulario ...   
        If TypeOf Objeto Is Form Then
            Dim frm As Form = CType(Objeto, Form)
            With Screen.PrimaryScreen.WorkingArea ' Dimensiones de la pantalla sin el TaskBar   
                frm.Top = (.Height - frm.Height) \ 2
                frm.Left = (.Width - frm.Width) \ 2
            End With

            ' Centrar un control dentro del contenedor   
        Else
            ' referencia al control   
            Dim c As Control = CType(Objeto, Control)

            'le  establece el top y el Left dentro del Parent   
            With c
                .Top = (.Parent.ClientSize.Height - c.Height) \ 2
                .Left = (.Parent.ClientSize.Width - c.Width) \ 2
            End With
        End If
    End Sub

Lo invocamos de la siguiente manera...
 

   Centrar(GroupBox4)

Y el resultado es el siguiente, en este caso lo aplique para un sencillo mensaje de carga de información a como se muestra en la siguiente imagen...



Espero les funcione, fue un tip pequeño pero puede que sea de gran utilidad para ustedes.
Hasta pronto…

Combobox en Datagridview vb.net

Hola buenas, otra vez por acá compartiendo un poco de conocimiento, hoy les mostrare algo sencillo, en algún momento tuve la necesidad de poner un combobox dentro de un datagridview en visual basic net es por esto que comparto el pequeño tip por si tienes que realizar algo parecido. Entrando en materia primero debemos de agregar el datagridview, acá les muestro el que yo agregue.


Como pueden notar le cambie el encabezado y estoy iniciando con 4 columnas y aún no he agregado la 5 columna con el combobox, además el nombre que le puse al objeto es el que por defecto tiene al momento de agregarlo DataGridView1, pues bien para agregar el combobox se hace a través de código, que a continuación se los muestro y tratare de explicárselos.

Dim tipocentro() As String = {" Reproduccion ", " Produccion "}
Dim cmb As New DataGridViewComboBoxColumn()

cmb.DataSource = tipocentro
cmb.Width = 150
cmb.HeaderText = "Centro"
DataGridView1.Columns.Add(cmb) 

Este fragmento de código ustedes pueden ponerlo en el momento que cargan la información al DataGridView1 y de esta manera se cargara el combobox a como se muestra a continuación.


Ya con esto ustedes pueden adaptarlos a sus proyectos dependiendo del trabajo que necesiten realizar.

Saludos.

Actualizar o Insertar un Registro en una sentencia ORACLE Y SQL Server

Hola buenas como están, hoy le compartiré un artículo interesante y útil para todos aquellos que desarrollan día a día, A continuación veremos cómo hacer una inserción o actualización en una misma sentencia(Actualizar o Insertar un Registro en ORACLE  Y SQL Server en la misma sentencia), resulta que a partir de la versión 9i de Oracle Database y a partir de SQL Server 2008 se incorpora una novedosa sentencia llamada MERGE(ahora es parte del estándar ANSI SQL). comúnmente cuando queríamos insertar/actualizar una tabla no vacía teníamos que hacer un INSERT o UPDATE, Con MERGE podemos tener esta lógica en una única sentencia SQL y así simplificamos el código.

A continuación les muestro la sintaxis de MERGE:
MERGE TABLA
USING (SELECT @ID AS ID) AS SRC ON SRC.ID = TABLA.ID
WHEN MATCHED THEN
UPDATE SET Campo1 = @Valor
WHEN NOT MATCHED THEN
INSERT (Campo1,ID) VALUES (@Valor,@ID)

En la línea 1 indicamos nuestra tabla en la cual se van a insertar los datos al igual que el select en la línea 2.
En línea 3 y 4 es donde le indicamos que si coinciden los campos anteriores realice entonces una actualización de ese registro, caso contrario en la línea 5 y 6 en donde indicamos que inserte el dato.
Existen varias soluciones para realizar este proceso de inserción o actualización en una sola sentencia ya sea en SQL Server o en Oracle, la siguiente personalmente la utilizaba antes para mis sistemas, pero por eficiencia utilizo mejor MERGE que anteriormente se los explique, de igual manera les comparto la solución.

La estructura de la consulta es la siguiente:

BEGIN
INSERT INTO MITABLA
(CAMPO1,CAMPO2;CAMPO3,CAMPO4) VALUES (1,'2','MIDESCRIPCION','MIDESCRIPCION2');
EXCEPTION
WHEN DUP_VAL_ON_INDEX THEN
UPDATE MITABLA 
SET CAMPO2=22,CAMPO3='OTRADESCRIPCION',CAMPO4='OTRADESCRIPCION'
WHERE CAMPO1='PARAMETRO_ID' ;
END;

En una explicación breve, en la line 2 y 3 le indicamos que realice la inserción común y corriente, lo interesante acá sucede en la línea 4 y 5 que es donde le indicamos que si los campos llaves que definimos en la tabla se duplica entonces esto produce una excepción de duplicidad de llaves por lo que se ejecutara la siguiente instrucción que se refiere  6,7,8 en donde hacemos el UPDATE normal obviamente con el WHERE indicándole también nuestros campos llaves.

Espero les funcione y que les sea de mucha utilidad la información, será hasta la próxima saludos.

Método para eliminar ceros a la izquierda en Visual Net

Saludos amig@s, en el siguiente post les mostrare un método con la cual ustedes podrán eliminar todos los ceros a la izquierda de una cadena determina, pues bien por ejemplo tenemos lo siguiente:
Dim sinceros as string
sinceros = CadenaSinCeros(cadena)

Donde sinceros es una varible tipo string y CadenaSinCeros() es el método que realizara el procedimiento, dicho método recibirá por parámetro una cadena y retornara el valor pero sin ceros a la izquierda. Por ejemplo supongamos que cadena=000123, al invocar el método y enviar dicha información este retornara 123, pues sin más el método:

    Public Function CadenaSinCeros(ByVal sEntrada As String) As String
        Dim i As Integer, j As Integer, sIntermedio As String
        For j = 1 To Len(sEntrada)
            If Mid(sEntrada, j, 1) <> "0" Then
                sIntermedio = Mid(sEntrada, j)
                Exit For
            End If
        Next
        CadenaSinCeros = sIntermedio
    End Function

Espero les sea de utilidad, a mi me ayudo bastante. Hasta la próxima…

My Computer – Información sobre mi computadora Visual Net 2008

Este pequeño aporte se refiere a información que podemos obtener al utilizar My Computer y que muchas veces son necesarias en nuestras aplicaciones, a continuación mencionamos algunas…

1 – Para saber la resolución de mi pantalla el utilizamos el siguiente código

MsgBox("La Resolucion de mi Pantalla es " + My.Computer.Screen.Bounds.Width + " x " + My.Computer.Screen.Bounds.Height)





2 – Muy importante, para obtener el directorio en donde se encuentra la aplicación seria

MsgBox(My.Computer.FileSystem.CurrentDirectory)



3 – Importante también es obtener la ruta completa de Mis Documentos

MsgBox(My.Computer.FileSystem.SpecialDirectories.MyDocuments)




4 – Saber si esta activada la tecla mayúscula

MsgBox(My.Computer.Keyboard.CapsLock) ' true si esta activado la mayuscula,false si no esta activado


5 – Hacer ping a una dirección IP

MsgBox(My.Computer.Network.Ping("192.168.1.3")) ' false si no da ping, true si el dispositivo responde


6 – Obtener el total de memoria física del equipo

MsgBox(My.Computer.Info.TotalPhysicalMemory) ''obtiene el total de memoria fisica del equipo


7 – Obtener el Nombre del Sistema Operativo

MsgBox(My.Computer.Info.OSFullName) 'obtiene el nombre del sistema operativo




8 – Obtener el Nombre de mi computador


MsgBox(My.Computer.Name) ' obtiene el nombre de tu computador


Asi de Facil se obtiene informacion referente al equipo, cabe resaltar que para efecto de ejemplo se utilizo el MsgBox pero los valores se pueden obtener y almacenar en variable..

Hasta la Proxima

Mover Un Archivo En Net 2008

Saludo2, una vez más aportando un pequeño ejemplo de cómo mover un archivo, aunque es muy simple no está de más ponerlo.
Primeramente diseñamos un formulario como el siguiente:




Después de esto en la parte de código importaremos la siguiente librería:

Imports System.IO

Nota: Esta librería es muy importante y con ellas se hacen grandes cosas, pero iremos aprendiendo poco a poco.. :)

Después de esto en el evento clic del botón pondremos el siguiente código:

MoveFile(Me.txt_origen.Text, Me.txt_destino.Text)

Como vemos invocamos a un método, este método tendrá el siguiente código:

Public Sub MoveFile(ByVal StartPath As String, ByVal EndPath As String)

Try

FileCopy(StartPath$, EndPath$)
Kill(StartPath$)
Catch ex As Exception
MsgBox(Err.Description, vbExclamation, "Error")
End Try

Exit Sub

En detalle FileCopy realize la copia del archivo(este metodo se encuentra dentro de la librería System.IO) y Kill elimina el archivo que se encuentre en la ruta que le asignes dentro del paréntesis.

A como mencione anteriormente es un pequeño aporte, esto para comenzar a trabajar con esta esta librería...

Inspeccionar Cambios En Archivos Y Directorios En C#

Investigando mas y mas en C# me he dado cuenta de muchas cosas interesantes que nos pueden servir de mucho en nuestras aplicaciones, esta vez explicare lo básico de un objeto llamado fileSystemWatcher, me surgió la necesidad de examinar o mejor dicho inspeccionar los cambios que podían surgir en un directorio, como por ejemplo saber cuando un archivo es eliminado, creado o que su nombre se haya modificado, por lo que este objeto nos facilita esta tarea.

Para efectos de ejemplo primeramente diseñamos un formulario como el siguiente:



A la hora de de diseñar el formulario anterior agregamos el objeto fileSystemWatcher como se muestra en la imagen:



Ahora pasamos al código, en el evento clic del botón que agregamos en el diseño ponemos lo siguiente:

private void bton_Cambios_Click(object sender, EventArgs e)
{
fileSystemWatcher1.Path ="C:/Users/useradministrador/Desktop";
}


En mi caso el boton se llama bton_Cambios, en la propiedad del objeto fileSystemWatcher1.Path evidentemente lo que le estamos asignando es la direccion en la cual se decea inspeccionar, cabe destacar que tambien se le puede asignar un valor en modo de diseño o dinamicamente con el FolderBrowserDialog como lo muestra la figura:



Ahora bien una ves asignada la direccion a inspeccionar falta darnos cuenta que cambios surgen en esa direccion antes fijada para esto solamente basta buscar los metodos que tenda el objeto fileSystemWatcher para las tareas que buscamos, para esto nos ubicamos en la parte de eventos como lo muestra la imagen, más sencillo aun al lado de las propiedades:




Vemos que hay 4 eventos con que cuenta dicho objeto los cuales son: Changed, Created, Deleted, Renamed. Al lado son los nombres que nosotros le asignemos para utilizarlos, igual podeis asignarle el que gusten.

Una vez que le asignemos al evento un nombre, sigue darnos cuenta cuando surge algún cambio en esa dirección que antes asignamos por lo que el código sería el siguiente:

private void system_changed(object sender, System.IO.FileSystemEventArgs e)
{
MessageBox.Show("El Archivo o Carpeta "+e.Name+ " Ha Cambiado");
}

private void system_created(object sender, System.IO.FileSystemEventArgs e)
{
MessageBox.Show("El Archivo o Carpeta " +e.Name+ " Ha Sido Creado");
}

private void system_deleted(object sender, System.IO.FileSystemEventArgs e)
{
MessageBox.Show("El Archivo o Carpeta " +e.Name+ " Ha Sido Borrado");
}

private void system_renamed(object sender, System.IO.RenamedEventArgs e)
{
MessageBox.Show("El Archivo o Carpeta " +e.Name+ " Ha Sido Renombrado");
}


Vemos que el nombre de cada evento es el nombre que antes asignamos, entonces al darle clic al botón que está en el formulario, este asignara la dirección y estos eventos se pondrán a la “escucha” de cualquier cambio por lo que si surge alguno mostrara un mensaje en pantalla, además hay que enfatizar que e.name contiene el nombre del archivo o carpeta que se creo, elimino o modifico .

Tal vez se preguntaran pero esto ¿para qué? bueno, creo que poniendo de ejemplo mi caso esto me sirvió de mucho para almacenar en una base de datos que usuario de la PC eliminaban archivos txt que contenían datos importantes para el sistema que estaba desarrollando..

Que DIOS les bendiga, y espero les sea de utilidad este tip :)

Comprimir Varios Archivos En Visual Basic 2008

Ahora que tengo toda la juventud por delante me he propuesto aprender todo cuanto se me ocurra esto porque a como me dijo un compañero debemos de ser competitivos...

Bueno resulta que surgio la gran pregunta entre los compañeros de trabajo ¿Como Comprimo archivos en VB2008?, esto porque lo necesitábamos para la realización de un proyecto por lo que despues de Googlear un rato esto fue lo que me encontre....

Resulta que existe un dll muy interesante y sobre todo facil de utilizar (que es como nos gusta a todos) que nos ayuda a realizar este procedimiento esta dll la podes descargar en el siguiente vinculo:

http://www.codeplex.com/DotNetZip/Release/ProjectReleases.aspx?ReleaseId=8220

Esta dll es muy efectiva para la compresion de archivos en zip por lo que es muy importante aprender su uso....

Ok, una vez descargada la libreria procedemos a Realizar un nuevo proyecto:





Una vez hecho el proyecto diseñamos algo como lo siguiente... y agregamos la referencia de la dll...





Buscamos la dll (yo la tenia en el escritorio) y la agregamos.



Ahora viene lo interasante (lo que nos preocupa a todos) el codigo, una vez hecho todo lo anterior procedemos a importar la libreria a como muestra la siguiente imagen, ademas notemos que se concatena el TextDirzip con TextName mas .zip esto para darle la direccion de donde guardar nuestro zip asi como el nombre y la extencion.
Por otra parte en el metodo zip.addDirectory se le asigna la direccion de donde estan los archivos a comprimir y lo que hay entre comillas es para que comprima todo lo que teng
a dicha carpeta...



Ejecutamos nuestro proyecto y asignamos los valores....




Precionamos el boton comprimir....... y se comprimen nuestros archivos, en este caso dentro de la carpeta "Archivos a Comprimir" yo tenia solo archivos txt.





Muy facil verdad¡¡¡ asi de facil esta dll nos ayuda a realizar este procedimiento.

Muchas Bendiciones, Hasta la Proxima :)



Cómo cambiar el Idioma del IDE en Visual Studio 2005 ?

Es muy interesante saber que muchos no sabemos cómo cambiar el Idioma del IDE en Visual Studio 2005 y ahí por eso que este aporte…



Primeramente Ejecutamos Visual Studio 2005 como se Muestra en la Imagen












Luego nos dirigimos a Tools o Herramientas en Español y presionamos Click como se muestra en la Imagen











Ahora nos aseguramos que la opción Show all settings (Mostrar todas las configuraciones) este seleccionada














Enseguida seleccionamos International Settings y en language seleccionamos en este caso Español…














Nos mostrara este mensaje que nos dice que debemos de reiniciar el entorno para que los cambios surgan efecto, entonces lo reiniciamos y a continuación nuestro entorno en español.























Se que el Aporte no es muy util pero para aquellos que no lo sabian pos ahi lo tienen.. Que la pasen Bien........................................................................


Personalizar un Punto de Interrupción

Sabemos que los puntos de Interrupción son muy importantes a la hora de realizar una aplicación esto porque con ellos podemos detener la ejecución en un determinado lugar, este aporte pretende personalizar los puntos de interrupción…


Primeramente para poner un punto de interrupción debemos de dar clic al lado derecho del código o presionar la tecla F9 como muestra la Figura













Seguidamente presionamos clic derecho sobre el punto de interrupción y nos aparecerá un menú contextual como el siguiente, entonces nos dirigimos a la opción “al visitar…”












Seguidamente nos aparecerá la siguiente ventana en donde seleccionamos la opción “Imprimir un Mensaje” y borramos lo que aparece por defecto, luego ponemos la variable que queremos inspeccionar a la hora que la ejecución llegue a ese punto de interrupción como lo muestra la imagen y presionamos aceptar…












Con esto logramos que se anote en la ventana de depuración mucha información interesante e incluso decirle que continúe la ejecución como si no fuera un punto de interrupción, lo cual nos permite continuar de forma transparente pero inspeccionando nuestras variables...
Espero que este aporte les haya sido de provecho, que la pasen Bien....

Como crear Objetos o Complementos en Visual Net 2005 ?

En esta parte aprenderemos paso a paso a crear complementos visuales en Visual Studio 2005, para empezar primeramente ejecutamos el IDE y seleccionamos la opción “Biblioteca de clases” como se muestra en la Figura al cual le asignamos un nombre en mi caso MyControl.















Luego seleccionamos agregar nuevo elemento como lo muestra la imagen y seleccionamos “Control de Usuario” al cual también le asignamos un nombre, en este caso también le llame MyControl.





























Seguidamente la clase que se creó por defecto la podemos eliminar porque no la vamos a utilizar entonces procedemos a quitarla de nuestro proyecto…














Seguidamente agregamos los objetos que utilizaremos para realizar nuestro control en mi caso yo agregue un panel, un botón, un GroupBox y un ComboBox como lo muestra la imagen.
















Después de esto procedemos a agregar código de lo que queremos que el complemento realice en mi caso este fue el código que utilice:
















Una vez que tengamos el código podemos ejecutarlo como cualquier aplicación para ver cómo se comporta nuestro nuevo complemento, cuando ya todo esté en orden entonces debemos de generar nuestro nuevo objeto y esto lo realizamos desplazándonos a la barra de menú en la opción “Generar” -> Generar “MyControl” esto creara un DLL que utilizaremos para agregarlo el cualquier aplicación de Visual.














Cuando ya hemos realizado todo esto abrimos un nuevo proyecto que sea de tipo “Aplicación para Windows” como se muestra en la Figura













Cuando nos aparece el Formulario nos dirigimos al cuadro de herramientas y presionamos clic derecho y seleccionamos la opción “Elegir elementos…”













Entonces aparecerá la siguiente ventana en donde presionamos el botón Examinar y buscamos nuestro DLL que generamos en una de las carpetas en las cuales guardamos nuestro proyecto.














Vemos como aparece nuestro control en el cuadro de herramientas, lo seleccionamos y agregamos al formulario como lo muestra la imagen...















Enhorabuena nuestro complemento ejecutándose…





Como Conectar Visual Basic 2005 con SQL 2005

La siguiente es la clase que utilizaremos para la conexión a una base de datos SQL Server 2005 por lo que sentí más adecuado poner toda la clase en una sola imagen la cual pueden descargar si lo desean cabe, mencionar que mi base de datos se llama “data_biblioTk” ustedes simplemente cámbienle el nombre…

























En el Formulario declaramos una variable que sea del tipo de nuestra clase y ejecutamos los métodos de la clase, por ejemplo si queremos simplemente cargar los datos realizamos lo siguiente…



Variable de Tipo de Nuestra Clase






Para Cargar los Datos



















Si por consiguiente queremos Guardar o Eliminar ejecutamos el método guardar de la clase que creamos..






Espero les Funcione...