x

xenowort

Usuario (Argentina)

Primer post: 3 feb 2011Último post: 16 feb 2016
41
Posts
306
Puntos totales
507
Comentarios
N
no actualizar a smf 2.0 rc5 si tenes una version anterior
InfoporAnónimo2/20/2011

El titulo deberia ser asi, pero no entra, "¿Porque no actualizar a smf 2.0 rc5 teniendo una version anterior?" Bueno bienvenidos a este post informativo, hecho por mi, voy a ser breve. Yo tenia el SMF 2.0 RC3 y un dia lo actualize al RC5, la rc5 con algunos paquetes que le instalas para versiones anteriores, causan conflicto en la base de datos, y te determinan la caida de el foro, yo hise un backup, y estube mucho tiempo buscando el SMF 2.0 RC3 CON SU TRADUCCION. Conclusion: No actualizar un foro si tiene usuarios diarios, si no montar otro foro y hacer las pruebas, o en localhost. Ya que causan conflicto en la base de datos. Saludos, ya se que es poca la informacion, pero es realmente util. Nos vemos en otros post

0
0
¿Sabes apagar o reiniciar la pc con visual basic 6?
¿Sabes apagar o reiniciar la pc con visual basic 6?
InfoporAnónimo2/24/2011

Hola a todos!, antes de empezar el post quisiera dejarles un mensaje: >-- Si quieres saber todo sobre informatica, programacion, windows, mac, linux, entre otros. ¡Seguime no lo dudes! Apagar o reiniciar la pc con VB6 (Windows xp) Comenzemos... Introducción: Este codigo funciona en Windows XP, y puede ser adaptado para que se ejecute en Visual Basic.net (2002...2010) Codigo: Usaremos la API "ExitWindowsEx", la declaramos asi: Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long ¿Facil no? Continuemos... Muchas veces en las API se usan constantes (const) para definir un valor que puede ser cierto "ITEM". Aca declaramos los nuestros: Const EWX_LOGOFF = 0 Const EWX_SHUTDOWN = 1 Const EWX_REBOOT = 2 Const EWX_FORCE = 4 En un boton o cualquier public o private, etc, podemos colocar este codigo, esta es la verdadera parte funcional. Bueno dejemos de hablar y vallamos al codigo: 'Cerrar Session ExitWindowsEx EWX_LOGOFF, 0 'Cierra sesión en Win 98, 2000, XP 'Reiniciar PC ExitWindowsEx EWX_REBOOT, 0 'Reinicia el Sistema Shell "shutdown -r -f -t 0" 'Reinicia el equipo en Win XP 'Apagar PC ExitWindowsEx EWX_SHUTDOWN, 0 'Apaga el equipo en Win 98, 2000 Shell "shutdown -s -t 0" 'Apaga el equipo en Win XP Aqui hemos terminado, esto es un code snippet, y espero que les sirve, cualquier duda mandan MP. Saludos! PD: Hoy es mi cumpleaños

8
10
U
Usar Parámetros en procedimientos almacenados ( .NET y MySq
InfoporAnónimo2/27/2011

Perdon pero no entraba el titulo, este es el titulo ¿Sabes usar parámetros en procedimientos almacenados con .NET y MySQL? Ok, sigamos, primero que nada un aviso: >-- Si queres saber todo sobre programacion, software, sistemas operativos. Sewguime. ¡No lo dudes! Continuamos con el post: aquí pongo este trozo de conocimiento para todo aquel que necesite trabajar contra MySQL desde .NET. El código es muy fácil pasarlo a C# y otros asi que... Aquí se puede ver desde cómo conectar con una base de datos MySQL (ya existe información) hasta como usar procedimientos almacenados pasándo parámetros. Para ello uso programación en Visual Basic .NET 2010, las librerías de MySQLConnector (http://www.mysql.com) y por supuesto MySQL. Manos a la obra Primero creamos un procedimiento almacenado en nuestra base de datos. CREATE DEFINER=`root`@`localhost` PROCEDURE `mi_procedimiento`(IN mi_variable VARCHAR(15)) BEGIN declare variable1 VARCHAR(15); set variable1 = mi_variable; select * from MiTabla where Cod_Tabla like variable1; END pasamos la variable de entrada (de entrada: "IN", de salida: OUT, ambas: INOUT [o algo así ;-)]) mi_variable que es un texto. Ahora toca usar el procedimiento almacenado en la base de datos desde nuestra aplicación en Visual Basic .NET ¿Cómo? sencillo (lo sencillo que se hace cuando ya lo sabes jejeje) Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim conStr As String conStr = "server=localhost;user id=root;password=passwd;database=basedatos" Dim con As New MySqlConnection(conStr) Try con.Open() Catch ex As Exception 'Código de captura de la excepción End Try Dim comando As New MySqlCommand("mi_procedimiento", con) comando.CommandType = CommandType.StoredProcedure Dim fila As MySqlDataReader Dim p As New MySqlParameter("?mi_variable", MySql.Data.MySqlClient.MySqlDbType.VarChar) p.Value = "root" p.Direction = ParameterDirection.InputOutput comando.Parameters.Add(p) Try fila = comando.ExecuteReader While fila.Read MsgBox(fila(0).ToString) End While fila.Close() Catch ex As MySqlException 'Código de captura de la excepción End Try con.Close() End Sub El primer bloque consiste en conectar con la base de datos, creo que en este punto no hace falta explicar como se conecta con la base de datos porque es idéntica a cualquier otra conexión con bases de datos diferentes. Ahora toca crear el comando que va a llamar al procedimiento almacenado: Dim comando As New MySqlCommand("mi_procedimiento", con) comando.CommandType = CommandType.StoredProcedure sencillo, ¿no? declaramos el objeto MySQLCommand y le decimos (2ª lïnea) que se trata de un procedimiento almacenado. Ahora toca lo interesante: pasarle el parámetro (con lo sencillo que se hacía en SQLServer). Dim p As New MySqlParameter("?mi_variable", MySql.Data.MySqlClient.MySqlDbType.VarChar) p.Value = "root" p.Direction = ParameterDirection.InputOutput comando.Parameters.Add(p) Muy importante: dar la dirección del parámetro de entrada/salida (en mi caso, y teniendo en cuenta mis escasos dummie-conocimientos, era la única manera de que funcionara). El resto es como lo demás, declaras y creas el objeto parámetro (1ª línea), especificando el parámetro y su tipo, darle un valor (2ª línea), especificar la dirección (3ª línea) y añadirselo al comando (última línea) porque si no esto no vale "pa ná". El último bloque es como el resto, en mi caso un datareader captura el resultado y lo proceso mostrando el valor del primer campo. El código completo: Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim conStr As String conStr = "server=localhost;user id=root;password=passwd;database=basedatos" Dim con As New MySqlConnection(conStr) Try con.Open() Catch ex As Exception 'Código de captura de la excepción End Try Dim comando As New MySqlCommand("mi_procedimiento", con) comando.CommandType = CommandType.StoredProcedure Dim fila As MySqlDataReader Dim p As New MySqlParameter("?mi_variable", MySql.Data.MySqlClient.MySqlDbType.VarChar) p.Value = "root" p.Direction = ParameterDirection.InputOutput comando.Parameters.Add(p) Try fila = comando.ExecuteReader While fila.Read MsgBox(fila(0).ToString) End While fila.Close() Catch ex As MySqlException 'Código de captura de la excepción End Try con.Close() End Sub Espero que resulte muy útil para todo el mundo y nos ayude a crear amistad entre MySQL y .NET, que no todo fue un camino de rosas (hasta antes de MySQL Connector al menos). Y como decía un maestro: ahora, de ejercicio, hacerlo para C#, C++, etc. ;-) Espacios de nombres usados en el código: MySql.Data.MySqlClient (de la libreria MySQLConnector) Eso es todo, saludos! Fuente: elguille.info

20
1
¿
¿Sabes Incrustar un programa en un form y quitar los menus?
InfoporAnónimo2/27/2011

Bueno, primero que nada este POST es de Visual Basic 6, otro aviso: >-- Si queres saber todo sobre programacion,software,sistemas operativos. Seguime. ¡No lo dudes! Continuemos... Este codigo esta pensado para pantallas tactiles, tener un teclado en pantalla para usar con el dedo y completo y que mejor que aprovechar el de Windows y sus API Un Teclado integrado El ejemplo es bastante simple, usa un shell para abrir el teclado, captura su identificador lo incrusta dentro de un picture, elimina el Caption y las barras de menus y lo ajusta al tamaño del picture. No hay mucho mas asi que aqui va el codigo. El código: El código del módulo Option Explicit '------------------------------------------------------------- ' Declaraciones Api '------------------------------------------------------------- 'Recupera el Hwnd de un menú Private Declare Function GetMenu Lib "user32" (ByVal hWnd As Long) As Long 'Elimina el menú de una aplicación Private Declare Function DeleteMenu Lib "user32.dll" ( _ ByVal hMenu As Long, _ ByVal nPosition As Long, _ ByVal wFlags As Long) As Long 'Recupera la cantidad de Item de menúes para saber cuantos hay que eliminar Private Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long 'Redibuja - repinta la barra de menú luego de eliminarlo Private Declare Function DrawMenuBar Lib "user32" (ByVal hWnd As Long) As Long 'Para cerrar-finalizar una apicación abierta por medio de su HWND Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" ( _ ByVal hWnd As Long, _ ByVal wMsg As Long, _ ByVal wParam As Long, _ lParam As Any) As Long 'Api: busca el Handle del programa Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _ ByVal lpClassName As String, _ ByVal lpWindowName As String) As Long ' función Api SetParent Private Declare Function SetParent Lib "user32" ( _ ByVal hWndChild As Long, _ ByVal hWndParent As Long) As Long ' Declaración de la función Api ShowWindow Private Declare Function ShowWindow Lib "user32" ( _ ByVal hWnd As Long, _ ByVal nCmdShow As Long) As Long 'Esta función recupera el ancho y alto del área _ cliente de la ventana en pixeles Private Declare Function GetClientRect Lib "user32" ( _ ByVal hWnd As Long, _ lpRect As RECT) As Long ' Estas tres funciones es para eliminar la barra de título _ del programa que se va a incrustar Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _ (ByVal hWnd As Long, ByVal nIndex As Long) As Long Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _ (ByVal hWnd As Long, ByVal nIndex As Long, _ ByVal dwNewLong As Long) As Long Private Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, _ ByVal hWndInsertAfter As Long, ByVal x As Long, _ ByVal y As Long, ByVal cx As Long, ByVal cy As Long, _ ByVal wFlags As Long) As Long '------------------------------------------------------------- ' Constantes '------------------------------------------------------------- 'Constante para ShowWindow - para maximizar la ventana Const SHOWMAXIMIZED_eSW = 3& 'Constante para usar con el Api DeleteMenu Const MF_BYPOSITION = &H400& Const MF_REMOVE = &H1000& 'Constante para usar con el Api SendMessage para cerrar _ la aplicación Const SC_CLOSE = &HF060& Const WM_SYSCOMMAND = &H112 'Constante para usar con GetWindowLong y SetWindowLong Private Const GWL_STYLE = (-16) Private Const WS_CAPTION = &HC00000 'Constantes para SetWindowPos Private Const SWP_FRAMECHANGED = &H20 Private Const SWP_NOMOVE = &H2 Private Const SWP_NOSIZE = &H1 Private Const SWP_NOZORDER = &H4 'Para usar con el Api GetClientRect Private Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type ' Para posicionar una ventana según su hWnd Private Declare Function MoveWindow Lib "user32" _ (ByVal hWnd As Long, ByVal x As Long, ByVal y As Long, _ ByVal nWidth As Long, ByVal nHeight As Long, ByVal bRepaint As Long) As Long ' Para cambiar el tamaño de una ventana y asignar los valores máximos y mínimos del tamaño Private Type POINTAPI x As Long y As Long End Type Private Type RECTAPI Left As Long Top As Long Right As Long Bottom As Long End Type Private Type WINDOWPLACEMENT Length As Long Flags As Long ShowCmd As Long ptMinPosition As POINTAPI ptMaxPosition As POINTAPI rcNormalPosition As RECTAPI End Type Private Declare Function GetWindowPlacement Lib "user32" _ (ByVal hWnd As Long, ByRef lpwndpl As WINDOWPLACEMENT) As Long '------------------------------------------------------------- ' Variables '------------------------------------------------------------- Dim APP_Rect As RECT ' Mantiene el Handle del programa Public El_Hwnd_Programa As Long '------------------------------------------------------------- ' Pocedimientos y funciones '------------------------------------------------------------- 'Elimina y reestablece la barra de título de una ventana 'El primer parámetro es el Hwnd de la misma Sub Quitar_Barra_Titulo(ByVal El_Hwnd_Programa As Long, _ ByVal Quitar As Boolean) Dim El_Estilo As Long 'Almacena en la variable el estilo actual El_Estilo = GetWindowLong(El_Hwnd_Programa, GWL_STYLE) If Not Quitar Then El_Estilo = El_Estilo Or WS_CAPTION Else El_Estilo = El_Estilo And Not WS_CAPTION End If 'Aplica el nuevo estilo SetWindowLong El_Hwnd_Programa, GWL_STYLE, El_Estilo SetWindowPos El_Hwnd_Programa, 0, 0, 0, 0, 0, _ SWP_FRAMECHANGED Or _ SWP_NOMOVE Or _ SWP_NOSIZE Or _ SWP_NOZORDER End Sub 'Elimina el menú de una ventana específica Sub Eliminar_Menu(El_Hwnd_Programa As Long) Dim hwnd_Menu As Long Dim n_Menu As Long Dim i As Integer ' Recuper el hwnd del menu del programa hwnd_Menu = GetMenu(El_Hwnd_Programa) If hwnd_Menu Then 'cantidad de menúes n_Menu = GetMenuItemCount(hwnd_Menu) If n_Menu Then 'Recorre todos los menú y los elimina For i = 1 To n_Menu Call DeleteMenu(hwnd_Menu, 0, MF_BYPOSITION Or MF_REMOVE) Next 'Repinta la barra de menú Call DrawMenuBar(El_Hwnd_Programa) End If End If End Sub 'Cierra Sub Cerrar_Programa(El_Hwnd_Programa As Long) 'Cierra el programa abierto Call SendMessage(El_Hwnd_Programa, WM_SYSCOMMAND, SC_CLOSE, ByVal 0& End Sub 'mete la ventana en el contenedor Sub Incrustar_teclado(Path_programa As String, _ Contenedor As Object, _ Titulo_Ventana As String, _ El_Form As Form) Dim OLD_Scale As Integer 'almacena la escala para reestablecerla luego OLD_Scale = El_Form.ScaleMode El_Form.ScaleMode = vbPixels If El_Hwnd_Programa = 0 Then 'Abre el programa Shell Path_programa, vbMinimizedNoFocus DoEvents 'Handle de la aplicación El_Hwnd_Programa = FindWindow(vbNullString, Titulo_Ventana) Call ShowWindow(El_Hwnd_Programa, vbHide) 'Elimina la barra de título, los menúes y lo incrusta Call Quitar_Barra_Titulo(El_Hwnd_Programa, True) Call Eliminar_Menu(El_Hwnd_Programa) Call Incrustar(El_Hwnd_Programa, Contenedor) 'para establecer el tamaño del programa a su contenedor Call posDockForm(El_Hwnd_Programa, Contenedor, True) End If El_Form.ScaleMode = OLD_Scale End Sub Private Sub Incrustar(h_Programa As Long, el_Contenedor As Object) Dim Ret As Long 'Lo metemos dentro del Picture1 Call SetParent(h_Programa, el_Contenedor.hWnd) 'Maximizamos la ventana incrustada dentro del contenedor, mediante el _ Api showWindow, pasándole la constante SHOWMAXIMIZED_eSW Ret = ShowWindow(h_Programa, SHOWMAXIMIZED_eSW) End Sub ' Libera la ventana pasándole en el segundo _ parámetro el valor 0 y la cierra Sub Liberar_Programa(el_Hwnd As Long) If el_Hwnd <> 0 Then ' Libera el programa Call SetParent(el_Hwnd, 0) 'Lo cierra Call Cerrar_Programa(El_Hwnd_Programa) El_Hwnd_Programa = 0 End If End Sub Private Sub posDockForm(ByVal formhWnd As Long, _ ByVal picDock As PictureBox, _ Optional ByVal ajustar As Boolean = True) ' Posicionar el formulario indicado en las coordenadas del picDock ' Si Ajustar es True, se ajustará al tamaño del contenedor, ' si Ajustar es False, se quedará con el tamaño actual. Dim nWidth As Long, nHeight As Long Dim wndPl As WINDOWPLACEMENT ' If ajustar Then nWidth = picDock.ScaleWidth Screen.TwipsPerPixelX nHeight = picDock.ScaleHeight Screen.TwipsPerPixelY Else ' el tamaño del formulario que se va a posicionar Call GetWindowPlacement(formhWnd, wndPl) With wndPl.rcNormalPosition nWidth = .Right - .Left nHeight = .Bottom - .Top End With End If Call MoveWindow(formhWnd, 0, 0, nWidth, nHeight, True) End Sub El código del form Option Explicit Private Sub Form_Load() Call Incrustar_teclado("osk.exe", Picture1, "Teclado en pantalla", Me) End Sub Private Sub Form_Resize() Me.Picture1.Left = (Me.Width / 2) - (Me.Picture1.Width / 2) Me.Picture1.Top = Me.Height - Me.Picture1.Height - 500 End Sub

0
1
¿Sabes crear un explorador grafico en vb.net?
¿Sabes crear un explorador grafico en vb.net?
InfoporAnónimo2/27/2011

Hola, bienvenidos a mi post, pero primero les dejare una nota. >-- Si queres saber todo sobre programacion, software, etc. Seguime. ¡No lo dudes! Continuamos con mas del post: El Control ImageList Este Objeto, Herramienta o Control ImageList, como quieras llamarlo Controla una Coleccion de Imagenes que suelen utilizar otros controles, como por ejemplo uhmmmmmm, el control ListView, El TreeView o el mismo ToolStrip. Objetivos de Este Articulo: Los Objetivos de este articulo son claros y consiste en que Aprendas a Utilizar Correctamente el Control ImageList y el Control TreeView, para ello diseñaremos una Aplicacion Windows Forms. Ala Cual añadiremos otros controles aparte del ImageList que son: • Una caja de texto TextBox al cual llamaremos: txtRuta • Un Control TreeView al Cual llamaremos: tvwDirectorios •Y Finalmente añadiremos tambien el control ListView al cual llamaremos: lvwArchivos Al Control lvwArchivos le agregaremos 4 Columnas, que son: •Nombre. •Tamaño. •Tipo. •Modificado. Detalle no Olvidar Agregar el Control ImageList, el cual es la Pieza Fundamental de este Articulo..jejeje solo te lo hacia recordar.. Asi Luce nuestra aplicacion en tiempo de diseño.. Para Empezar a Codificar Crearemos un Controlador de Excepciones en el Evento Load del Formulario, el cual nos servira para Manejar las Excepciones que Ocurran en el Transcurso del desarrollo de la Aplicacion. Dentro del Controlador de Errores declararemos variales a las cuales les haremos referencia con algunas Clases del Visual Studio 2010 (Tranquilamente puede ser tambien 2008 o 2005) como por ejemplo la Clase Environment, la funcion GetLogicalDrives, la funcion GetDirectories y muchas mas...tranquilo todo a paso lento.. Empezemos!!! Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ' Manejo de Excepciones (errores) Try Dim Indice As Integer 'Environment: Proporciona información acerca del entorno y la plataforma actual, y la forma de manipularlos.. Dim Drives As String() = Environment.GetLogicalDrives() 'GetLogicalDrives: Matriz de cadena en la que cada elemento contiene el nombre de una unidad lógica. ' Drives: Devuelve una colección de sólo lectura de todos los nombres de unidad disponibles. For Indice = 0 To Drives.Length - 1 Dim adicionaUnidad As New TreeNode adicionaUnidad.Text = Drives(Indice) ' Nodes: Obtiene una colección de objetos que representa los nodos raíz del control tvwDirectorios.Nodes.Add(adicionaUnidad) agregarDirectorios(adicionaUnidad) Next Indice ' Caso de error Catch ex As Exception End Try End Sub 'Seguidamente Crearemos una Funcion la cual llamaremos nodoActual Private Function nodoActual( ByVal node As TreeNode) As String If node.Parent Is Nothing Then Return node.Text Return System.IO.Path.Combine(NodoActual(node.Parent), node.Text) End Function 'Luego de crear la funcion crearemos un metodo o procedimiento llamado agregardirectorios.. Private Sub agregarDirectorios(ByVal node As TreeNode) ' Manejo de Excepciones Try Dim Directorio As New System.IO.DirectoryInfo(NodoActual(node)) Dim DirectorioActual As System.IO.DirectoryInfo() = _ Directorio.GetDirectories() Dim Indice As Integer For Indice = 0 To DirectorioActual.Length - 1 Dim name As String = DirectorioActual(Indice).Name If Not name.Equals("." And Not name.Equals(".." Then node.Nodes.Add(New TreeNode(name)) End If Next Indice 'Caso de error Catch ex As Exception End Try End Sub 'Tambien crearemos un Procedimiento llamado agregarSUBdirectorios... Private Sub agregarSUBdirectorios(ByVal node As TreeNode) Dim Indice As Integer For Indice = 0 To node.Nodes.Count - 1 agregarDirectorios(node.Nodes(Indice)) Next Indice End Sub 'Despues Llenaremos esos Rollos de Archivos con el procedimiento llenarArchivos... Private Sub llenarArchivos(ByVal AsignaRuta As String) Dim Archivos(), NombreArchivo As String Dim InfoArchivo As System.IO.FileInfo Dim oListViewItem As ListViewItem Archivos = System.IO.Directory.GetFiles(AsignaRuta) ' Limpiamos el contenido de ListView de esta manera ' nos aseguramos de actualizarlo lvwArchivos.Items.Clear() For Each NombreArchivo In Archivos InfoArchivo = New System.IO.FileInfo(NombreArchivo) 'Recuperamos y mostramos el nombre de archivo oListViewItem = lvwArchivos.Items.Add(Microsoft.VisualBasic.Left _ (InfoArchivo.Name.ToString, Len(InfoArchivo.Name.ToString) - 4)) 'Mostramos la longitud del archivo en Bytes oListViewItem.SubItems.Add(InfoArchivo.Length.ToString & " Bytes" ' Mostramos la extensión (Tipo archivo) oListViewItem.SubItems.Add(InfoArchivo.Extension) ' Mostrar la última fecha fr modificación del archivo oListViewItem.SubItems.Add(InfoArchivo.LastAccessTime) Next txtRuta.Text = AsignaRuta End Sub ' Tambien Usaremos un nuevo Evento llamado AfterExpand El cual Tiene Lugar a Ejecutarse cuando se Expande un Nodo. Private Sub tvwDirectorios_AfterExpand(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles tvwDirectorios.AfterExpand Dim nodeExpanding As TreeNode = CType(e.Node, TreeNode) agregarSUBdirectorios(nodeExpanding) End Sub 'Y para terminar este Articulo tambien haremos uso de otro evento llamado AfterSelect.. Private Sub tvwDirectorios_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs)Handles tvwDirectorios.AfterSelect ' Manejo de Excepciones Try Dim NodoTemporal As New TreeNode Dim RutaTemporal As String Dim RetornoPosicion As Integer Dim RutaCompleta As String NodoTemporal = e.Node.Parent Do While Not IsNothing(NodoTemporal) ' buscamos la cadena "" en la variable NodoTemporal RetornoPosicion = InStr(NodoTemporal.Text,"", CompareMethod.Text) If RetornoPosicion = 0 Then RutaTemporal = NodoTemporal.Text + _ "" + RutaTemporal Else RutaTemporal = _ NodoTemporal.Text(+RutaTemporal) NodoTemporal = NodoTemporal.Parent Loop ' Llenamos los archivos segúng la ruta del archivo de texto. llenarArchivos(RutaTemporal + e.Node.Text) ' interceptamos en caso de error... Catch ex As Exception End Try End Sub Nuestra Aplicacion en Tiempo de Ejecucion se verias mas o menos asi..

13
5
¿
¿Sabes crear menús con mapa de bits con vb6 usando apis?
InfoporAnónimo2/27/2011

Hola, bienvenidos a mi post. Pero primero un mensaje >-- Si te interesa la programacion, software, sistemas operativos. Seguime. ¡No lo dudes! Continuamos con mas del post. Introducción Encontré una manera de poner menús con imágenes mapa de bits (*.bmp) y cree una función mas especifica en poner imágenes usando algunas funciones del sistema, aproveche bien este código. Contenido 1 Como puedo explicar, los menús y submenús tienen una ID, a través de las ID se ubica de tal manera que encuentra una posición de poner la imagen en dimensiones de 13x13, las ID comienzan desde 0 En adelante, y es según el ordenen que hayan sido puestas. La función trabaja con funciones que piden el hWnd, o sea, la clase, formulario u objeto qe controla los menús. Además piden las ID de los menús y submenús a cuales le quieres poner las imágenes. El código: Option Explicit Private Declare Function GetMenu Lib "user32" (ByVal hWnd As Long) As Long Private Declare Function GetSubMenu Lib "user32" ( _ ByVal hMenu As Long, ByVal nPos As Long) As Long Private Declare Function GetMenuItemID Lib "user32" ( _ ByVal hMenu As Long, ByVal nPos As Long) As Long Private Declare Function ModifyMenu Lib "user32" Alias "ModifyMenuA" ( _ ByVal hMenu As Long, ByVal nPosition As Long, _ ByVal wFlags As Long, ByVal wIDNewItem As Long, _ ByVal lpString As String) As Long Private Declare Function SetMenuItemBitmaps Lib "user32" ( _ ByVal hMenu As Long, ByVal nPosition As Long, _ ByVal wFlags As Long, ByVal hBitmapUnchecked As Long, _ ByVal hBitmapChecked As Long) As Long Public Sub AddBitmapsMenu(ByVal Form As Form, _ ByVal MenuID As Integer, _ ByVal SubMenu As Integer, _ ByVal BitmapUnchecked As Long, _ Optional ByVal BitmapChecked As Long) On Error Resume Next Dim hMenu, hSubMenu, hMenuID, x hMenu = GetMenu(Form.hWnd) hSubMenu = GetSubMenu(hMenu, MenuID) hMenuID = GetMenuItemID(hSubMenu, SubMenu) x = SetMenuItemBitmaps(hMenu, hMenuID, 0, BitmapUnchecked, BitmapChecked) End Sub

0
5
¿
¿Sabes usar messagebox en vb.net?
InfoporAnónimo2/27/2011

Hola, bienvenidos a mi post.>--- Si queres saber todo sobre programacion, software. Seguime ¡No lo dudes!Continuamos:IntroducciónBien ahora voy hablar del MessageBox ya que muchos me están preguntando como usarlo por que en VB6 es diferente asi es que me tome el tiempo de preparar algo al respecto.Sobre MessageBoxEs muy utilizado cuando queremos enviar mensajes e incluso cuando queremos que el usuario nos de un valor de retorno dependiendo de lo que responda en el mensaje que enviamos y de acuerdo a ello podremos tomar un camino específico. Lo bueno es que con una línea de código podemos construir una ventana de mensaje con botones, iconos de información y más.Si queremos utilizarlo debemos de seguir ejemplo tomando en cuenta que los argumentos lo separamos con "comas" en todos los casos no como en el caso de VB6 que los unimos con "+" y otros con "coma".El código:1. Primero escribimos el mensaje a mostrar, luego el título luego de la coma debemos de seleccionar los botones.2. Luego seleccionamos el tipo de ícono a mostrar.3. Luego indicamos el botón por default.4. También podemos seleccionar algunas cosas adicionales como por ejemplo alinear a la derecha el mensaje.5. Adicionalmente podemos indicar si queremos mostrar el botón de ayuda.6. Y si queremos que el messagebox nos devuelva un resultado entonces podemos especificar lo siguiente:Aquí tienen el resultado.Unete a la comunidad de programacion que debate!!

21
6
¿
¿Sabes crear un generador de codigo en vb.net?
InfoporAnónimo2/27/2011

Hola, bienvenidos a mi post. Introducción Esta herramienta es útil cuando tienes que construir tu propia Clase (Class) que utilizaras para darle mantenimiento a una tabla ubicada en una base de datos y servidor específicos. Este modulo te ilustra el uso del componente SQLDMO y el espacio de nombres System.IO. El programa es sencillo y lo primero que se hace es seleccionar los parámetros del Servidor, Base de Datos y Tabla al que se desea conectar. Luego presionas el botón Generar clase y el programa te presente en un texbox personalizado el código necesario para construir tu propia clase. El código veras la definición de los tipos de datos para las propiedades, las propiedades en si, un constructor, código simple de Inserción y Actualización y por último un método para realizar búsquedas. Si se logra darle la utilidad conveniente a este modulo te ahorra el tiempo para esta creando las clase por cada tabla que tengas que manipular datos. Solo tendrías que crear el modulo de la clase y copiar el código que te genera este programa. Codigo de ClassItemCombo: Public Class ClassItemCombo Private _Codigo As String Private _Descripcion As String Private _Indice As Integer Public Sub New(ByVal Code As String, ByVal Name As String) _Codigo = Code _Descripcion = Name End Sub Public Property Codigo() As String Get Return _Codigo End Get Set(ByVal Value As String) _Codigo = Value End Set End Property Public Property Descripcion() As String Get Return _Descripcion End Get Set(ByVal Value As String) _Descripcion = Value End Set End Property Public Property Indice() As Integer Get Return _Indice End Get Set(ByVal Value As Integer) _Indice = Value End Set End Property Public Overrides Function ToString() As String Return Descripcion End Function End Class Codigo de FRMGENERARCLASE.VB: Imports System.IO Public Class FrmGenerarClase Inherits System.Windows.Forms.Form Private vIndCambio As Boolean #Region " Windows Form Designer generated code " Public Sub New() MyBase.New() 'This call is required by the Windows Form Designer. InitializeComponent() 'Add any initialization after the InitializeComponent() call End Sub 'Form overrides dispose to clean up the component list. Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (components Is Nothing) Then components.Dispose() End If End If MyBase.Dispose(disposing) End Sub 'Required by the Windows Form Designer Private components As System.ComponentModel.IContainer 'NOTE: The following procedure is required by the Windows Form Designer 'It can be modified using the Windows Form Designer. 'Do not modify it using the code editor. Friend WithEvents CmdGenerar As System.Windows.Forms.Button Friend WithEvents TxtCodigo As System.Windows.Forms.TextBox Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox Friend WithEvents CmdTablas As System.Windows.Forms.Button Friend WithEvents CmdBaseDatos As System.Windows.Forms.Button Friend WithEvents CboDatabase As System.Windows.Forms.ComboBox Friend WithEvents CboServidores As System.Windows.Forms.ComboBox Friend WithEvents CmdServidores As System.Windows.Forms.Button Friend WithEvents CboTablas As System.Windows.Forms.ComboBox <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() Me.CmdGenerar = New System.Windows.Forms.Button Me.TxtCodigo = New System.Windows.Forms.TextBox Me.GroupBox1 = New System.Windows.Forms.GroupBox Me.CmdTablas = New System.Windows.Forms.Button Me.CmdBaseDatos = New System.Windows.Forms.Button Me.CboTablas = New System.Windows.Forms.ComboBox Me.CboDatabase = New System.Windows.Forms.ComboBox Me.CboServidores = New System.Windows.Forms.ComboBox Me.CmdServidores = New System.Windows.Forms.Button Me.GroupBox1.SuspendLayout() Me.SuspendLayout() ' 'CmdGenerar ' Me.CmdGenerar.Location = New System.Drawing.Point(340, 496) Me.CmdGenerar.Name = "CmdGenerar" Me.CmdGenerar.Size = New System.Drawing.Size(120, 32) Me.CmdGenerar.TabIndex = 0 Me.CmdGenerar.Text = "Generar Clase" ' 'TxtCodigo ' Me.TxtCodigo.Location = New System.Drawing.Point(12, 112) Me.TxtCodigo.Multiline = True Me.TxtCodigo.Name = "TxtCodigo" Me.TxtCodigo.ReadOnly = True Me.TxtCodigo.ScrollBars = System.Windows.Forms.ScrollBars.Both Me.TxtCodigo.Size = New System.Drawing.Size(448, 372) Me.TxtCodigo.TabIndex = 3 Me.TxtCodigo.Text = "" Me.TxtCodigo.WordWrap = False ' 'GroupBox1 ' Me.GroupBox1.Controls.Add(Me.CmdTablas) Me.GroupBox1.Controls.Add(Me.CmdBaseDatos) Me.GroupBox1.Controls.Add(Me.CboTablas) Me.GroupBox1.Controls.Add(Me.CboDatabase) Me.GroupBox1.Controls.Add(Me.CboServidores) Me.GroupBox1.Controls.Add(Me.CmdServidores) Me.GroupBox1.Location = New System.Drawing.Point(8, 4) Me.GroupBox1.Name = "GroupBox1" Me.GroupBox1.Size = New System.Drawing.Size(452, 104) Me.GroupBox1.TabIndex = 4 Me.GroupBox1.TabStop = False ' 'CmdTablas ' Me.CmdTablas.Enabled = False Me.CmdTablas.Location = New System.Drawing.Point(372, 72) Me.CmdTablas.Name = "CmdTablas" Me.CmdTablas.Size = New System.Drawing.Size(72, 24) Me.CmdTablas.TabIndex = 13 Me.CmdTablas.Text = "Tablas" ' 'CmdBaseDatos ' Me.CmdBaseDatos.Enabled = False Me.CmdBaseDatos.Location = New System.Drawing.Point(372, 44) Me.CmdBaseDatos.Name = "CmdBaseDatos" Me.CmdBaseDatos.Size = New System.Drawing.Size(72, 24) Me.CmdBaseDatos.TabIndex = 12 Me.CmdBaseDatos.Text = "Base Datos" ' 'CboTablas ' Me.CboTablas.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList Me.CboTablas.Location = New System.Drawing.Point(164, 72) Me.CboTablas.Name = "CboTablas" Me.CboTablas.Size = New System.Drawing.Size(204, 21) Me.CboTablas.TabIndex = 11 ' 'CboDatabase ' Me.CboDatabase.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList Me.CboDatabase.Location = New System.Drawing.Point(164, 44) Me.CboDatabase.Name = "CboDatabase" Me.CboDatabase.Size = New System.Drawing.Size(204, 21) Me.CboDatabase.TabIndex = 10 ' 'CboServidores ' Me.CboServidores.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList Me.CboServidores.Location = New System.Drawing.Point(164, 16) Me.CboServidores.Name = "CboServidores" Me.CboServidores.Size = New System.Drawing.Size(204, 21) Me.CboServidores.TabIndex = 9 ' 'CmdServidores ' Me.CmdServidores.Location = New System.Drawing.Point(372, 16) Me.CmdServidores.Name = "CmdServidores" Me.CmdServidores.Size = New System.Drawing.Size(72, 24) Me.CmdServidores.TabIndex = 8 Me.CmdServidores.Text = "Servidores" ' 'FrmGenerarClase ' Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) Me.ClientSize = New System.Drawing.Size(472, 540) Me.Controls.Add(Me.GroupBox1) Me.Controls.Add(Me.TxtCodigo) Me.Controls.Add(Me.CmdGenerar) Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle Me.Name = "FrmGenerarClase" Me.Text = "FrmGenerarClase" Me.GroupBox1.ResumeLayout(False) Me.ResumeLayout(False) End Sub #End Region Private Sub CmdGenerar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdGenerar.Click If Not Me.CboServidores.SelectedItem Is Nothing _ And Not CboDatabase.SelectedItem Is Nothing _ And Not CboTablas.SelectedItem Is Nothing Then Me.Cursor = System.Windows.Forms.Cursors.WaitCursor Call GenerarCodigo(Convert.ToString(Me.CboServidores.SelectedItem), _ CType(CboDatabase.SelectedItem, ClassItemCombo).Descripcion, _ CType(CboTablas.SelectedItem, ClassItemCombo).Descripcion) Call PresentarArchivo() Me.Cursor = System.Windows.Forms.Cursors.Default End If End Sub Private Sub GenerarCodigo(ByVal Servidor As String, ByVal BaseDatos As String, ByVal Tabla As String) Dim CadCnn As String Dim Cnn As SqlClient.SqlConnection Dim Ad As SqlClient.SqlDataAdapter Dim Dt As New DataTable Dim Dc As DataColumn Dim Isql As String, i As Integer Dim st As IO.StreamWriter Dim LstCampos As String, N As Integer CadCnn = "Data Source=" + Servidor + ";Initial Catalog=" + BaseDatos + ";Integrated Security=yes;" Isql = "Select * From " + Tabla Cnn = New SqlClient.SqlConnection(CadCnn) Ad = New SqlClient.SqlDataAdapter(Isql, Cnn) Ad.Fill(Dt) If (Not File.Exists(Application.StartupPath & "test.txt")) Then st = File.CreateText(Application.StartupPath & "test.txt") Else File.Delete(Application.StartupPath & "test.txt") st = File.CreateText(Application.StartupPath & "test.txt") End If 'Cantidad de Campos N = Dt.Columns.Count 'Declaraciones de Propiedades Privadas For Each Dc In Dt.Columns st.WriteLine("Private _" + Dc.Caption + " As " + Mid(Dc.DataType.ToString, 8, Len(Dc.DataType.ToString) - 7)) LstCampos += Dc.Caption + "," Next 'Quitamos la ultima coma LstCampos = Mid(LstCampos, 1, Len(LstCampos) - 1) st.WriteLine("") 'Creacion de Propiedades st.WriteLine("#Region ""Propiedades""") For Each Dc In Dt.Columns st.WriteLine("Public Property " + Dc.Caption + "() As " + Mid(Dc.DataType.ToString, 8, Len(Dc.DataType.ToString) - 7)) st.WriteLine(ControlChars.Tab + "Get") st.WriteLine(ControlChars.Tab + ControlChars.Tab + "Return(_" + Dc.Caption + ")") st.WriteLine(ControlChars.Tab + "End Get") st.WriteLine(ControlChars.Tab + "Set (Value As " + Mid(Dc.DataType.ToString, 8, Len(Dc.DataType.ToString) - 7) + ")") st.WriteLine(ControlChars.Tab + ControlChars.Tab + "_" + Dc.Caption + " = Value") st.WriteLine(ControlChars.Tab + "End Set") st.WriteLine("End Property") Next st.WriteLine("#End Region") st.WriteLine("") st.WriteLine("'------Instruccion INSERT-------") 'Construccion de la declaracion INSERT st.WriteLine("""INSERT INTO " & CType(CboTablas.SelectedItem, ClassItemCombo).Descripcion & " (" + LstCampos + ")"" _ ") st.WriteLine("& ""VALUES("" _") For Each Dc In Dt.Columns st.Write(ControlChars.Tab + " & Me." + Dc.Caption) If Not N - 1 = Dc.Ordinal Then st.WriteLine(" & "","" _") End If Next st.WriteLine(" & "")""") st.WriteLine("") st.WriteLine("'------Instruccion UPDATE-------") 'Construcion de la declaracion UPDATE st.WriteLine("""UPDATE " & CType(CboTablas.SelectedItem, ClassItemCombo).Descripcion & " Set "" _") For Each Dc In Dt.Columns st.Write(ControlChars.Tab + "& """ + Dc.Caption + " = "" & " + "Me." + Dc.Caption) If Not N - 1 = Dc.Ordinal Then st.WriteLine(" & "","" _") End If Next 'Constructores st.WriteLine("") st.WriteLine("") st.WriteLine("'------Constructor New-------") st.WriteLine("#Region ""Constructores""") st.WriteLine("Public Sub New()") For Each Dc In Dt.Columns st.WriteLine(ControlChars.Tab + Dc.Caption + " = Nothing") Next st.WriteLine("End Sub") st.WriteLine("#End Region") 'Metodo Buscar st.WriteLine("") st.WriteLine("'------Metodo Buscar-------") st.WriteLine("#Region ""Metodos""") st.WriteLine("Public Sub Buscar()") st.WriteLine(ControlChars.Tab + "Dim Isql As String") st.WriteLine(ControlChars.Tab + "Dim Rst As SqlDataReader") st.WriteLine(ControlChars.Tab + "Dim CmdQuery As SqlCommand") st.WriteLine("") st.WriteLine(ControlChars.Tab + "Isql = ""Select * From " & CType(CboTablas.SelectedItem, ClassItemCombo).Descripcion & " Where """) st.WriteLine(ControlChars.Tab + "CmdQuery = New SqlCommand(Isql, ConClinica)") st.WriteLine(ControlChars.Tab + "Rst = CmdQuery.ExecuteReader(CommandBehavior.Default)") st.WriteLine(ControlChars.Tab + "If Rst.Read Then") For Each Dc In Dt.Columns st.WriteLine(ControlChars.Tab + ControlChars.Tab + "Me." + Dc.Caption + " = Rst(""" + Dc.Caption + """)") Next st.WriteLine(ControlChars.Tab + "End If") st.WriteLine("") st.WriteLine("End Sub") st.WriteLine("#End Region") st.Close() Dt.Dispose() Ad = Nothing End Sub Private Sub PresentarArchivo() Dim st As IO.StreamReader Dim Linea As String TxtCodigo.Text = "" st = File.OpenText(Application.StartupPath & "test.txt") Do Linea = st.ReadLine TxtCodigo.Text += Linea + ControlChars.CrLf Loop Until Linea Is Nothing st.Close() End Sub Private Sub CmdBaseDatos_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdBaseDatos.Click Dim CadCnn As String = "Data Source=" + Convert.ToString(CboServidores.SelectedItem) + ";Initial Catalog=Master;Integrated Security=Yes;" Dim Cnn As New SqlClient.SqlConnection(CadCnn) Dim Cmdquery As New SqlClient.SqlCommand("Select dbid,name From sysdatabases", Cnn) Dim RstTablas As SqlClient.SqlDataReader Try Cnn.Open() Me.Cursor = System.Windows.Forms.Cursors.WaitCursor Me.CboDatabase.Items.Clear() RstTablas = Cmdquery.ExecuteReader While RstTablas.Read Dim ItemCombo As New ClassItemCombo(Convert.ToString(RstTablas(0)), Convert.ToString(RstTablas(1))) CboDatabase.Items.Add(ItemCombo) End While Me.Cursor = System.Windows.Forms.Cursors.Default RstTablas.Close() Me.CmdTablas.Enabled = False Me.CboTablas.Items.Clear() Catch ex As Exception MessageBox.Show("Conección fallida. " + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) Finally Cmdquery = Nothing Cnn = Nothing End Try End Sub Private Sub CmdTablas_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdTablas.Click Dim CadCnn As String = "Data Source=" + Convert.ToString(CboServidores.SelectedItem) + ";Initial Catalog=" + CType(CboDatabase.SelectedItem, ClassItemCombo).Descripcion + ";Integrated Security=Yes;" Dim Cnn As New SqlClient.SqlConnection(CadCnn) Dim Cmdquery As New SqlClient.SqlCommand("Select id,name From sysobjects Where xtype = 'U' Order by name", Cnn) Dim RstTablas As SqlClient.SqlDataReader Try Cnn.Open() Me.Cursor = System.Windows.Forms.Cursors.WaitCursor Me.CboTablas.Items.Clear() RstTablas = Cmdquery.ExecuteReader While RstTablas.Read Dim ItemCombo As New ClassItemCombo(Convert.ToString(RstTablas(0)), Convert.ToString(RstTablas(1))) CboTablas.Items.Add(ItemCombo) End While Me.Cursor = System.Windows.Forms.Cursors.Default RstTablas.Close() Catch ex As Exception MessageBox.Show("Conección fallida. " + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) Finally Cmdquery = Nothing Cnn = Nothing End Try End Sub Private Sub CmdServidores_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdServidores.Click Dim i As Integer Dim oNames As SQLDMO.NameList Dim oSQLApp As SQLDMO.Application Me.Cursor = System.Windows.Forms.Cursors.WaitCursor oSQLApp = New SQLDMO.Application oNames = oSQLApp.ListAvailableSQLServers CboServidores.Items.Clear() For i = 1 To oNames.Count CboServidores.Items.Add(oNames.Item(i)) Next i Me.CmdBaseDatos.Enabled = False Me.CboDatabase.Items.Clear() Me.CmdTablas.Enabled = False Me.CboTablas.Items.Clear() Me.Cursor = System.Windows.Forms.Cursors.Default End Sub Private Sub CboServidores_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CboServidores.SelectedIndexChanged Me.CmdBaseDatos.Enabled = True End Sub Private Sub CboDatabase_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CboDatabase.SelectedIndexChanged Me.CmdTablas.Enabled = True End Sub Private Sub FrmGenerarClase_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub End Class

26
0
¿Sabes simular el efecto windows vista en C#?
¿Sabes simular el efecto windows vista en C#?
InfoporAnónimo2/27/2011

Simular efecto de Windows Vista cuando se abre una aplicación que ponga en riesgo la PC >-- Si queres saber todo sobre programacion, Seguime ¡No lo dudes! Introducción El nuevo sistema operativo de Microsoft (Windows Vista) trae mejoras en su interfaz gráfica como ya algunos conocemos. Entre lo llamativo de la interfaz hay una parte que me gusta, y es cuando se abre una aplicación y Windows piensa que puede poner en peligro el sistema por lo que muestra un mensaje de advertencia y por detrás la pantalla toma una tonalidad obscura-transparente, pues bien ese efecto lo simularemos en el presente artículo usando C#. LOS PASOS A SEGUIR Paso 1 Antes de sentarnos a programar examinemos que es lo que vamos a realizar. En la imagen que se muestra a continuación mostramos el efecto que simularemos. Como podemos darnos cuenta hay dos formularios, el primer formulario es el que esta de fondo y se lo ve medio obscuro y el segundo formulario esta con los colores normales. Pongamos atención y fijemonos que en la barra de tareas también la cubre el fondo obscuro pues bien este efecto es el que simularemos. Paso 2 Como lograr este efecto. Pues es algo muy simple, para obtener el efecto usaremos un formulario que tenga las siguientes características como que su opacidad sea de 75%, su color de fondo sea negro y su tamaño sea igual al del área física de la pantalla de la computadora del usuario. Paso 3 Examinemos el código fuente. Comencemos por el código del formulario principal. private void button1_Click(object sender, EventArgs e) { Form1 formulario = new Form1(); frmIntermedio intermedio = new frmIntermedio(); intermedio.Show(); formulario.Activate(); formulario.ShowDialog(); intermedio.Close(); this.Activate(); } El formulario llamado "frmIntermedio" es el formulario que nos ayudara a hacer el efecto, por otro lado el formulario "Form1" es el formulario al que llamaremos. Démosle una mirada al código del formulario "frmIntermedio" el cual nos genera el efecto. namespace Pantalla_Intermedia { public partial class frmIntermedio : Form { public frmIntermedio() { InitializeComponent(); this.Size = Screen.PrimaryScreen.Bounds.Size; this.Opacity = 0.75; this.BackColor = Color.Black; } } } Para poder darle a este formulario el tamaño del área física de la pantalla del computador usaremos "Screen.PrimaryScreen.Bounds.Size" el cual nos retornara un tipo de dato Size. Espacios de nombres usados en el código: System System.Collections.Generic System.ComponentModel System.Data System.Drawing System.Text System.Windows.Forms Este codigo es sumamente util para los amantes de los efectos. Saludos amigos!

5
2
¿Sabes usar expresiones regulares en C#?
¿Sabes usar expresiones regulares en C#?
InfoporAnónimo2/27/2011

Hola, bienvenidos a mi post, si quieren saber esto y mucho mas seguime. Introducción Que es una expresion regular: Una expresion regular es un conjunto de caracteres y metacaracteres que definen reglas sintacticas para la evaluación de una cadena de texto. Esto es, podemos definir la forma que debe tomar una cadena ya sea simplemente para validar o hacer esta cadena contra nuestra Expresion Regular. Contenido 1 Caracteres-Metacaracteres Los caracteres ya los conocemos, los metacaracteres son caracteres especiales que tienen significados especiales. Por ejemplo: cuando escribimos ordenes en el ordenador *.cs Lo que estamos haciendo es buscar todos los archivos con extensión cs (codigo de C Sharp). Debemos notar que el asterisco se reemplaza por "cualquier cosa" por lo tanto este es un metacaracter ya que no significa lo que realmente significa . El código: ^ Excluye los caracteres. s Coincide con el caracter de espacio [A-Z] Coincidira con cualquier caracter dentro del grupo { n} La expresio coincide si se encuentra como minimo n veces. d Coincide con cualquier caracter de digito w Coincide con cualquier caracter de palabra(incluidos los numeros). A continuación sigue código en C# (C Sharp): private void txtrfc_Leave(object sender, System.EventArgs e) { //El Registro Federal de Causantes (RFC) JRH 9210065M1 // Si quieres que acepte mayuscula y minuscula [a-zA-Z] if(Regex.IsMatch(this.txtrfc.Text,@"^([A-Zs]{4})d{6}([A-Zw]{3})$") { MessageBox.Show("RFC valido"; this.txtNombre.Focus(); } else { MessageBox.Show("Teclee un RFC valido","ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); } } Espacios de nombres usados en el código: System.Text.RegularExpressions Todos mis post, son sacados de "elguille.info"

38
3
...
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.