Ok y aqui esta el codigo
miércoles, 11 de noviembre de 2009
Hacer que un Textbox solo acepte numeros.
Ok y aqui esta el codigo
martes, 10 de noviembre de 2009
Obtener la captura de la pantalla en VB .Net sin API
lunes, 12 de octubre de 2009
Tutorial de programacion en 3 capas desde cero
Esta pensado para el enlace con bases de datos de SQL utilizando SQL server 2008 o 2005 y codificado paso por paso en visual studio 2008 utilizando visual basic, aunque es facilmente migrable a C#.
Espero les agrade, y pues ya saben cualquier detalle o sugerencia, por favor haganmelo saber.
DESCARGAR
viernes, 9 de octubre de 2009
Descargar un archivo via FTP
----------------------CODIGO-------------------------------------
Private Function DescargaArchivo(ByVal Filename As String, ByVal NewFileName As String, _
ByVal UserNameFtp As String, ByVal PassFTP As String, ByVal URI As String) As Boolean
Dim Ftpconection As FtpWebRequest = CType(FtpWebRequest.Create(URI & "/" & Filename), FtpWebRequest)
' Creamos la nueva conexion del tipo web request donde URI es la direccion del servidor
Ftpconection.Credentials = New NetworkCredential(UserNameFtp, PassFTP)
'Asignamos las credenciales para el servidor
Ftpconection.Method = WebRequestMethods.Ftp.DownloadFile
'El metodo que utilizaremos como peticion, en este cado el de descargar
Try
Dim response As System.Net.FtpWebResponse = CType(Ftpconection.GetResponse, System.Net.FtpWebResponse)
Dim responseStr As IO.Stream = response.GetResponseStream
'guardamos el stream de datos
Dim fstr As New IO.FileStream(NewFileName, IO.FileMode.Create)
Dim buffer(2047) As Byte 'Buffer de transferencia
Dim ReadStream As Integer = 0
Do
ReadStream = responseStr.Read(buffer, 0, buffer.Length) 'leemos el stream de los datos
fstr.Write(buffer, 0, ReadStream) 'escribimos en el archivo
Loop Until ReadStream = 0
responseStr.Close() 'cerramos los archivos y las conexiones
fstr.Flush()
fstr.Close()
responseStr.Close()
response.Close()
Return True
Catch ex As Exception
Return False
End Try
End Function
----------------------CODIGO-------------------------------------
Este codigo requiere que agregemos la referencia
Imports System.Net
Ejemplo probado en Visual studio 2008
lunes, 5 de octubre de 2009
Redirigir la salida de un comando de MS-DOS a un RichTextBox
Bueno pues aqui dejo un code para redirigir la salida de un comando MS-DOS a un RichTextBox la aplicacion requiere 3 controles
1 RichtextBox con nombre RichTextBox1
2 Boton con nombre Button1
3 TextBox con nombre TextBox1
-------------Codigo-----------
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Command As New Process 'Creamos la instancia Process
Command.StartInfo.FileName = "cmd.exe" 'El proceso en si es el CMD
Command.StartInfo.Arguments = "/c " & TextBox1.Text
'Aqui le damos los parametros /c y el nombre del archivo a ejecutar
Command.StartInfo.RedirectStandardError = True 'Redirigimos los errores
Command.StartInfo.RedirectStandardOutput = True 'Redirigimos la salida
Command.StartInfo.UseShellExecute = False
'Para redirigir la salida de este proceso esta propiedad debe ser false
Command.StartInfo.CreateNoWindow = True
'Para que no abra la ventana del CMD
Try
Command.Start()
Dim Output As String = Command.StandardOutput.ReadToEnd() _
& vbCrLf & Command.StandardError.ReadToEnd() 'Guardamos las salidas en un string
RichTextBox1.Text = Output 'Desplegamos la salida en nuestro RichTextBox
Catch ex As Exception
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
'En caso de cualquier error de ejecucion
End Try
End Sub
-------------Codigo-----------
En caso de tener errores agregen la referencia de System.Diagnostics para hacer uso de la clase Process
Con este ejemplo al escribir un comando de MS-DOS en el textbox y hacer click en el boton se ejecutaria el comando y nos mostraria la salida en el RichtextBox
Descargar este ejemplo
Para ver este fichero necesitas Winrar
Este ejemplo esta probado en Visual Studio 2008
Añadir privilegios a una aplicacion en Windows Vista
1. AsInvoker: Al tener esta entrada en el ensamblado, la aplicacion obtiene los privilegios de aquel usuario o proceso que lo ejecuto, esta configuracion es la que se establece por defecto en cualquier proyecto nuevo
2. HighestAvailable: Con esta entrada, la aplicacion exije los privilegios mas altos posibles de acuerdo al usuario que ejecuto el programa, si se ejecuta como un usuario administrador, la aplicacion nos hara la peticion mediante un prompt de UAC para ejecutarse con los privilegios mas altos
3.requireAdministrator: Esta declaracion en el manifiesto establece que la aplicacion requiere los privilegios de administrador del sistema para poder ejecutarse, este nivel de ejecucion tambien haria una solicitud de confirmacion para un usuario Administrador y un prompt de Runas para un usuario con una cuenta limitada, esto quiere decir que solicitaria las credenciales (usuario y password) del administrador del sistema
Para establecer esta configuracion lo primero es ir a la configuracion de nuestra aplicacion, en el explorador de soluciones hacemos doble click en "My project"
Esto abrira la configuracion de nuestra aplicacion, en la primera pestaña tenemos la configuracion de la UAC
Podemos ver que ahi se especifica con lineas comentadas las posibles opciones que podemos establecer para el requestedExecutionLevel y solo con cambiar el atributo level a "requireAdministrator" ya tendriamos establecida la configuracion de la UAC para solicitar privilegios.
Solo bastaria guardar los cambios, al compilar la aplicacion, el visual studio puede que requiera reiniciar.
En nuestra carpeta de release podemos ver que nuestra aplicacion ahora aparece con el clasico escudo de Windows vista para una aplicacion con privilegios
Listo!, ya tenemos una aplicacion que aunque depende de la confirmacion del usuario para ejecutarse ya podria realizar tareas administrativas evitando el error de UnauthorizedAccessException.
Hay que tomar en cuenta que, si estamos creando una aplicacion implementando ClickOnce no nos es posible modificar esta configuracion, ya que, como maneja diversos niveles de confianza añade otras entradas al ensamblado y el nivel de ejecucion debe ser "AsInvoker", ya que si lo cambiamos provocariamos un error de compilacion.
Tampoco se podria establecer esta configuracion en librerias dll ya que estas heredan los privilegios de la aplicacion que las contiene referenciadas.
Ejemplo realizado en Visual Studio 2008