Imagen aBase64 y de Base64 a Imagen
Aqui os dejo el codigo para convertir una imagen aBase64 y de Base64 a imagen . el codigo es muy sencillo y muy facil de seguir.
Más que contenido para programadores
Aqui os dejo el codigo para convertir una imagen aBase64 y de Base64 a imagen . el codigo es muy sencillo y muy facil de seguir.
Este es un Ejemplo de filtrado de un GridView usando un Dataview.
Se ha utilizado para este ejemplo un GridView y un TextBox.
Primero los datos y el codigo para filtrar,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
Dim dv As New DataView Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim dt As New DataTable dt.TableName = "Nombres" dt.Columns.Add("ID") dt.Columns.Add("Nombre") Dim dr As DataRow = dt.NewRow dr("ID") = 1 dr("Nombre") = "PACO" dt.Rows.Add(dr) dr = dt.NewRow dr("ID") = 2 dr("Nombre") = "JUAN" dt.Rows.Add(dr) dr = dt.NewRow dr("ID") = 3 dr("Nombre") = "PEDRO" dt.Rows.Add(dr) dr = dt.NewRow dr("ID") = 4 dr("Nombre") = "RICARDO" dt.Rows.Add(dr) dv.Table = dt Me.DataGridView1.DataSource = dv<span class="cf3 fs19 ff2"> </span><span class="cf4 fs19 ff2">End</span> <span class="cf4 fs19 ff2">Sub</span> |
1 2 3 |
<span class="cf3 fs19 ff2"> </span><span class="cf4 fs19 ff2">Private</span> <span class="cf4 fs19 ff2">Sub</span><span class="cf3 fs19 ff2"> TextBox1_TextChanged(sender </span><span class="cf4 fs19 ff2">As</span> <span class="cf4 fs19 ff2">Object</span><span class="cf3 fs19 ff2">, e </span><span class="cf4 fs19 ff2">As</span> <span class="cf5 fs19 ff2">EventArgs</span><span class="cf3 fs19 ff2">) </span><span class="cf4 fs19 ff2">Handles</span><span class="cf3 fs19 ff2"> TextBox1.TextChanged dv.RowFilter = </span><span class="cf6 fs19 ff2">"Nombre like'%"</span><span class="cf3 fs19 ff2"> & </span><span class="cf4 fs19 ff2">Me</span><span class="cf3 fs19 ff2">.TextBox1.Text & </span><span class="cf6 fs19 ff2">"%'"</span><span class="cf3 fs19 ff2"> </span><span class="cf4 fs19 ff2">End</span> <span class="cf4 fs19 ff2">Sub</span> |
Hasta aqui el ejemplo , es corto pero efectivo . Un saludo a todos.
Hola A tod@s. aqui os dejo un breve ejemplo de como utilizar una cookie para controlar el tiempo de expiracion de una pagina.
El formulario que os presento es muy simple, consta de 1 labels, 1 Boton,
un timer y un scriptmanager, que es necesario para nuestro timer.
El boton Renovar lo que hara es volverle a dar a nuestra cookie una nueva fecha de expiración.
Pues bien vamos con el codigo.
En el load, lo primero que debemos hacer es controlar el postback para que no recree la cookie, seguidamente la creamos la cookie , que luego recuperaremos mas adelante.
el codigo del load quedaria asi.
1 2 3 4 5 6 7 8 9 |
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Not IsPostBack Then Dim Pedazo As New HttpCookie("MiSesion") Pedazo.Expires = DateTime.Now.AddSeconds(30) Pedazo.Value = "MiCookie" Me.Label1.Text = Pedazo.Expires Response.Cookies.Add(Pedazo) End If End Sub |
Como veis a esta galleta le hemos añadido 30 segundos a la expiracion de la cookie para que nuestro navegador la tenga en cuenta.
Bueno ahora en el boton
Con el boton lo que haremos es darle otros 30 segundos de expiración,
siempre y cuado no haya caducado
el codigo seria el siguiente:
1 2 3 |
Dim Pedazo As HttpCookie = Me.Request.Cookies("MiSesion") Pedazo.Expires = DateTime.Now.AddSeconds(30) Me.Response.Cookies.Set(Pedazo) |
Bien ahora nos queda lo siguiente,comprobar que si ha caducado haga algo. para ello utilizatremos el timer, pare ello en el evento tick añadimos el siguiente codigo.
1 2 3 4 |
Dim galleta As HttpCookie = Me.Request.Cookies("MiSesion") If galleta Is Nothing Then Me.Response.Redirect("http://google.es") End If |
Si la galleta es nada, hacemos que nos envie a google, por lo cual nos indica que la cookie habra expirado.
Espero que os aporte bastante para crear sesiones con caducidad.
Un Saludo
No acostumbro a subir ejemplos en c# pero me parecio bien hacer esta transformación, la verdad es que es mu facil el ejemplo y no necesita mucha explicación.
En C#:
1 2 3 4 5 6 7 |
public static byte[] GetByteSASCII(string Texto) { ASCIIEncoding GetBytesAscii = new ASCIIEncoding(); byte[] ArrByte; ArrByte = GetBytesAscii.GetBytes(Texto); return ArrByte; } |
1 2 3 4 5 |
public static String GetTextoFromByteArray(byte[] ArrayByte) { ASCIIEncoding RetornoTexto = new ASCIIEncoding(); String ADevolver = RetornoTexto.GetString(ArrayByte); return ADevolver; } |
En VB:
1 2 3 4 5 6 7 8 9 |
Public Function GetBytesFromASCII(ByVal Texto As String) As Byte() Dim GetBytesAscii As New ASCIIEncoding Return GetBytesAscii.GetBytes(Texto) End Function Public Function GetTextoFromByteArray(ByVal Arraybyte() As Byte) As String Dim RetornoTexto As New ASCIIEncoding Return RetornoTexto.GetString(Arraybyte) End Function |
Espero que les sirva un saludo.
Y suscribete a el canal de souslmakers.
En cualquier aplicacion que se precie siempre hace falta en alguna vez , guardar algun dato o recuperar informacion, bueno para esto podemos utilizar las siguientes funciones de VB.NET
Para Buscar Un Directorio
1 2 |
Dim FD As New FolderBrowserDialog Dim ResultadoDirectorio As DialogResult = FD.ShowDialog() |
Cuadro de dialogo para Guaradar un fichero
1 2 3 4 |
Dim SD As New SaveFileDialog SD.Title = "Para Guardar" SD.Filter = "txt|*.txt|RTF|*.RTF" Dim ResultadoGuardar As DialogResult = SD.ShowDialog() |
Para abrir un fichero
1 2 3 4 |
Dim SDO As New Windows.Forms.OpenFileDialog SDO.Title = "Para Abrir" SDO.Filter = "txt|*.txt|RTF|*.RTF" Dim ResultadoAbrir As DialogResult = SDO.ShowDialog |
Como ves son ejemplos muy sencillos que creo que no necesitan explicación.
Quizas te interese StreamReader,StreamWriter leelo aqui
Crea una nueva clase ejemplo “Cliente”.
y añade las siguientes lineas.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
Public Class cliente Public Event ValorCambiado(ByVal e As Object) Private NombreCliente_ As String Public Property NombreCliente() As String Get Return NombreCliente_ End Get Set(ByVal value As String) NombreCliente_ = value RaiseEvent ValorCambiado(value) End Set End Property Public Sub New() End Sub End Class |
Como verás estamos creando un evento cuando se rellena la propiedad nombrecliente, la cual devolvera el valor al cambiar.
una vez creada la clase instanciala de la siguente manera.
1 |
Public WithEvents Miclase As New cliente |
y veras quela instancia tendrá el evento ValorCambiado.
el cual será invocado a traves del RaiseEvent pasando a “e” el valor que esta devuelto.
1 |
Miclase.NombreCliente = "PEPITO PEREZ" |
Asigna un valor y verás que el evento es invocado
1 2 3 |
Private Sub Miclase_ValorCambiado(e As Object) Handles Miclase.ValorCambiado MsgBox(e.ToString) End Sub |
Muy buenas a todo, aqui os dejo el codigo de ejemplo de como convertir los datos de un datatable a xml y viceversa.
La forma de acerlo es muy sencilla.
Primero vamos a crear el datatable.
1 2 3 4 5 |
Dim dt As New DataTable dt.Columns.Add("ID") Dim dr As DataRow = dt.NewRow dr("ID") = 1 dt.Rows.Add(dr) |
Un datatable muy sencillito para no complicarnos XD 🙂
Para recoger los datos del datatable vamos a utilzar DataSet. y lo vamo ha hacer de la siguiente forma
1 2 3 |
Dim ds As New DataSet ds.Tables.Add(dt) Dim stringXML As String = ds.GetXml |
Lo que nos devolvera el “StringXML” es lo siguiente:
1 |
"<NewDataSet> <Table1> <ID>1</ID> </Table1> </NewDataSet>" |
Aqui lo he puesto lineal pero la estructura es XML
Bien ahora vamos a devolver este XML a un Nuevo Datatable.
Lo haremos de la siguiente manera. Ahora utilizaremos XMLStreamReader y DataSet.
1 2 3 4 |
Dim ds2 As New DataSet Dim xmlSR As System.IO.StringReader = New System.IO.StringReader(stringXML) ds2.ReadXml(xmlSR) Dim dt2 As DataTable = ds2.Tables(0) |
Como veis he creado otro datatable “DT2” y lo hemos rellenado con los datos de la tabla que se ha creado en el dataset. Y con esto hemos concluido.
Espero que os haya servido de ayuda y seguimos adelante.
Quizas te interese como leer y guardar datos en un fichero. Lee el post de StreamReader StreamWriter aqui
Un saludo
En este Post vamos a explicar 2 pasos muy sencillos, como podemos guardar datos en un fichero para poder recuperarlo mas adelante.
1 Para guardar los datos deberemos hacer los siguiente.
En vb.net instanciamos en StreamWriter con el Nombre del Fichero y la ubicación donde se va guardar el dato , en este caso voy a guardar una cadena de texto.
1 2 3 4 |
Dim TextoQueGuardo As String = "HOLA ESTOY GUARDANDO ALGO" Dim SW As New IO.StreamWriter("C:\TEMP\GUARDOMITEXTO.TXT") SW.Write(TextoQueGuardo) SW.Close() |
una vez hecho esto lo siguente es dar la orden de guardado y cerrar el fichero con el close,para que este pueda ser liberado de la aplicación.
Como veis es muy sencillo.
2 Ahora vamos con la Lectura del fichero.
Bien, el proceso de lectura es muy similar, instanciamos la clase StreamReader con la ruta del fichero.
Declaramos una variable donde se recuperará el dato, en el ejemplo la llamaremos “Resultado”, y ejecutamos la lectura.
y para ver el resultado lo podemo mostrar en un msgbox.
1 2 3 4 5 |
Dim SR As New IO.StreamReader("C:\TEMP\GUARDOMITEXTO.TXT") Dim Resultado As String Resultado = SR.ReadLine SR.Close() MsgBox(Resultado) 'Para ver el resultado |
El streamreader tiene mas opciones que ir leyendo linea a linea pero para que sea un ejemplo sencillo lo hacemos solo con 1 , ya que sabemos que hemos guardado solo esa linea en el paso numero 1.
Despues de hacer todo esto, hay que cerrar el fichero para liberarlo.
¿Que es un hilo (Thread)?
Un hilo es un proceso paralelo a el entorno de ejecución de una aplicación.
Un ejemplo por asi decirlo es el propio entorno de windows, el cual windows es la aplicación y los programas que ejecutamos son los hilos que dependen de el.
-Empezando con los hilos
¿Que debemos saber? Importante!!
El hilo forma parte de la aplicación y esta viculada a ella , pero en determinadas ocasiones, a finalizar la aplicación si no hemos terminado el hilo, este seguirá corriendo, y nos ocupará espacio en memoria hasta que finalice o bien lo terminemos nosotros desde el administrador de tareas.
Para entender un poco el funcionamiento vamos a crear una sencilla aplicacion la cual utilizará 1 hilo para cambiar el color en un panel .
Creamos 1 form ,3 Botones ,1 Panel.
Nuestro Boton1 sera iniciar, el boton2 detener, y el boton3 nos mostrará el estado del hilo.
Antes de empzar con la programación del hilo debemos agregar al load la siguiente linea.
1 2 3 |
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.CheckForIllegalCrossThreadCalls = False End Sub |
Esto permitirá a el hilo que pueda interactuar con la aplicación quitando la restricción, de que el hilo como hijo pueda acceder y modificar propiedades de el elemento padre (el form) o cualquier control.
-Declaración del hilo
1 2 |
Public Class Form1 Dim th As New Threading.Thread(AddressOf CambioColor) |
Creamos la variable th llamando contructor y asignandole la función con la que va a operar el hilo.
-aqui la función en bucle.
1 2 3 4 5 6 7 8 9 |
Dim Salir As Boolean Public Function CambioColor() Dim c As New Color Dim A As New Random Dim R As New Random Do Until Salir Me.Panel1.BackColor = c.FromArgb(A.Next(1, 255), R.Next(1, 255), A.Next(1, 255), R.Next(1, 255)) Loop End Function |
En el boton1 le llamaremos Start y escribimos lo siguente.
1 2 3 4 5 6 7 |
If th.ThreadState = Threading.ThreadState.Unstarted Or th.ThreadState = Threading.ThreadState.Aborted Then th = New Threading.Thread(AddressOf CambioColor) Salir = False th.Start() Else MsgBox("El hilo esta corriendo") End If |
Con ello controlaremos que no se esta ejecutando y si lo esta mostramos el mensaje.
Ahora vamos con el boton2 , lo llamaremos Stop y escribimos es siguiente codigo.
1 2 3 4 5 6 7 |
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click If th.ThreadState = Threading.ThreadState.Running Then Salir = True 'Indicamos salir para finalizar el bucle th.Abort() ' y Abortamos el hilo End If End Sub |
Y en el boton3, lo llamamos ver estado y escribimos el siguiente codigo para que nos muestre mientras se está ejecutando o no el estado del hilo.
1 2 3 |
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click MsgBox(th.ThreadState.ToString) End Sub |
.Este es un ejemplo sencillo de hilo, los hilos tienen multiples estados, se pueden pausar, reanudar….
y son bastante utiles si necesitamos hacer operaciónes que no deben influir en la experiencia del usuario.
dejo aqui el codigo comentado del ejemplo.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
Public Class Form1 'Declaracion del hilo Dim th As New Threading.Thread(AddressOf CambioColor) Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing th = Nothing 'Vacia el hilo. GC.Collect() 'llamada al garbage collection para vaciar la memoria End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'desactivamos la restriccion a los hilos Me.CheckForIllegalCrossThreadCalls = False End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'Controlamos los estados If th.ThreadState = Threading.ThreadState.Unstarted Or th.ThreadState = Threading.ThreadState.Aborted Or th.ThreadState = Threading.ThreadState.Stopped Then th = New Threading.Thread(AddressOf CambioColor) Salir = False 'indica False para que el bucle pueda seguir th.Start() 'Inicia el hilo Else MsgBox("El hilo esta corriendo") End If End Sub Dim Salir As Boolean 'True sale del bucle, false sigue Public Function CambioColor() Dim c As New Color Dim A As New Random Dim R As New Random Do Until Salir 'Bucle Me.Panel1.BackColor = c.FromArgb(A.Next(1, 255), R.Next(1, 255), A.Next(1, 255), R.Next(1, 255)) Loop End Function Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click If th.ThreadState = Threading.ThreadState.Running Then Salir = True 'Indicamos salir para finalizar el bucle th.Abort() ' y Abortamos el hilo Else MsgBox("El hilo esta parado") End If End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Me.Label1.Text = th.ThreadState.ToString 'asigna al label el estado del hilo End Sub End Class |
ya sabes, si te gusta unete a nuestro foro , comenta y compartelo.