Foros del Web » Programación para mayores de 30 ;) » .NET »

FAQ´S del foro de Net

Estas en el tema de FAQ´S del foro de Net en el foro de .NET en Foros del Web. Tema: Tips and Tricks Pregunta: Como agregar un registro a un DataSet de forma manual Respuesta: Código: Dim dwRegistro As DataRow = dsDataSet.Tables(0).NewRow dwRegistro("NoDocumento") = ...

  #121 (permalink)  
Antiguo 08/07/2006, 08:55
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.120
Antigüedad: 18 años, 7 meses
Puntos: 7
Tema: Tips and Tricks
Pregunta: Como agregar un registro a un DataSet de forma manual
Respuesta:
Código:
Dim dwRegistro As DataRow = dsDataSet.Tables(0).NewRow

dwRegistro("NoDocumento") = "000001"
dwRegistro("Saldo") = "9000"
dwRegistro("Monto") = "10000"
dwRegistro("Tipo") = "Factura"

dsDataSet.Tables(0).Rows.Add(dwRegistro)
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
  #122 (permalink)  
Antiguo 25/07/2006, 11:15
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 18 años, 8 meses
Puntos: 50
Tema: Web app (tips and tricks)
Pregunta: Como hacer un preload de mi página usando una imágen ?
Respuesta:
http://www.codeproject.com/aspnet/PleaseWaitButton.asp
  #123 (permalink)  
Antiguo 25/07/2006, 15:35
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 18 años, 8 meses
Puntos: 50
Tema: Web app (tips and tricks)
Pregunta: Como puedo enviar mi información a otra página mediante post?
Respuesta:
http://www.forosdelweb.com/showthrea...53#post1636977
  #124 (permalink)  
Antiguo 26/07/2006, 08:59
Avatar de freegirl
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: Catalonia
Mensajes: 4.344
Antigüedad: 17 años
Puntos: 156
Tema: Windows Form
Pregunta: Cómo paginar un DataGrid en Windows Form
Respuesta:

http://support.microsoft.com/kb/305271/es
  #125 (permalink)  
Antiguo 15/08/2006, 16:55
 
Fecha de Ingreso: enero-2004
Mensajes: 310
Antigüedad: 16 años, 9 meses
Puntos: 0
Tema: Web app (tips and tricks)
Pregunta: Como puedo crear un código de seguridad?
Respuesta: http://www.mistrucos.net/truco-asp-n...bots-652_1.htm
__________________
Un saludo,
Trucos
Videos
  #126 (permalink)  
Antiguo 22/08/2006, 00:50
 
Fecha de Ingreso: enero-2004
Mensajes: 310
Antigüedad: 16 años, 9 meses
Puntos: 0
Tema: Web app (Tips and tricks)
Pregunta: Como Modificar el Viewstate de sitio
Respuesta: http://www.mistrucos.net/truco-asp-n...pnet-654_1.htm
__________________
Un saludo,
Trucos
Videos
  #127 (permalink)  
Antiguo 10/09/2006, 04:52
 
Fecha de Ingreso: enero-2004
Mensajes: 310
Antigüedad: 16 años, 9 meses
Puntos: 0
Tema: Web app (Tips and tricks) ASP.NET 2.0
Pregunta:
¿Cómo puedo precompilar una aplicación?
Respuesta: http://www.mistrucos.net/truco-asp-n...cion-526_1.htm
__________________
Un saludo,
Trucos
Videos
  #128 (permalink)  
Antiguo 22/09/2006, 06:38
Avatar de freegirl
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: Catalonia
Mensajes: 4.344
Antigüedad: 17 años
Puntos: 156
Tema:Tips and tricks
Pregunta: Traducción código C# a VB.Net y viceversa.
Respuesta: http://www.carlosag.net/Tools/CodeTr...r/Default.aspx
  #129 (permalink)  
Antiguo 03/10/2006, 13:15
 
Fecha de Ingreso: julio-2005
Ubicación: Córdoba
Mensajes: 254
Antigüedad: 15 años, 3 meses
Puntos: 0
deshabilitar boton cerrar de windows [x] en winforms

Tema: Boton cerrar en ventana de winforms
Pregunta: Como puedo deshabilitar el boton cerrar de las ventanas de windows en los winforms? ( [x] )
Respuesta:

En algunos casos, podemos necesitar que el usuario no cierre nuestro formulario sino es mas que utilizando un boton personalizado. Por ejemplo que nuestro programa ejecute un proceso, que deba ser detenido, antes de que se cierre el formulario, entonces en un boton detendremos nuestro proceso y luego cerraremos el formulario por ejempo con me.close(); pero esto no ocurriría si le dejamos la opcion de que lo cierre con el boton que windows pone en nuestros formularios, el famoso [x], o bien que cuando este minimizado el form, con el boton derecho del mouse y luego la opcion cerrar... o presionando alt+f4 etc por que esta comprobado que los usuarios son propensos a utilizar estos metodos, por estar mas familiarizados con ellos que con presionar nuestro boton. Para estos casos, necesitamos una funcion que deshabilite todas las opciones de cierre del formulario y que nos deje especificar en nuestro propio boton como será el proceso de cierre.

ejemplo


Aqui esta el codigo fuente.

Código PHP:
//en primera instancia, antes de cualquier declaracion, debemos incluir las librerías necesarias.

Imports System
Imports System
.Drawing
Imports System
.Collections
Imports System
.ComponentModel
Imports System
.Windows.Forms
Imports System
.Data
Imports System
.Runtime.InteropServices

// luego  debajo de la declaracion de la clase form vendra el codigo.

Public Class Form1
    Inherits System
.Windows.Forms.Form

 
Private Const MF_BYPOSITION As Integer = &H400
    
Private Const MF_REMOVE As Integer = &H1000
    
Private Const MF_DISABLED As Integer = &H2

    
//Variable para saber si ya está desactivado el botón X
    
Private pulsado As Boolean True

    
//Importación de procedimientos externos almacenados
    //en la librería de Windows USER32.DLL

    //Obtener el menú de sistema
    
Private Declare Function GetSystemMenu Lib "User32" _
            
(ByVal hWnd As Integer_
            ByVal bRevert 
As Boolean) As IntPtr

    
//Obtener el número de elementos del menú de sistema
    
Private Declare Function GetMenuItemCount Lib "User32" _
             
(ByVal hMenu As Integer) As IntPtr

    
//Quitar elementos del menú de sistema
    
Private Declare Function RemoveMenu Lib "User32" _
        
(ByVal hMenu As Integer_
        ByVal nPosition 
As Integer_
        ByVal wFlags 
As Long) As IntPtr

    
//Redibujar la barra de título de la ventana
    
Private Declare Function DrawMenuBar Lib "User32" _
            
(ByVal hWnd As Integer) As IntPtr

    
//Método que desactiva el botón X (cerrar)
    
Private Sub DisableCloseButton(ByVal hWnd As IntPtr)
        Try 
//captura de excepciones

            
Dim menuItemCount As IntPtr
            Dim hMenu 
As IntPtr
            
//Obtener el manejador del menú de sistema del formulario
            
hMenu GetSystemMenu(hWnd.ToInt32(), False)
            
//Obtener la cuenta de los ítems del menú de sistema.
            //Es el menú que aparece al pulsar sobre el icono a la izquierda
            //de la Barra de título de la ventana, consta de los ítems: Restaurar, Mover,
            //Tamaño,Minimizar,  Maximizar, Separador, Cerrar.
            
menuItemCount GetMenuItemCount(hMenu.ToInt32())
            
//Quitar el ítem Close (Cerrar), que es el último de ese menú
            
RemoveMenu(hMenu.ToInt32(), menuItemCount.ToInt32() - 1MF_DISABLED Or MF_BYPOSITION)
            
//Quitar el ítem Separador, el penúltimo de ese menú, entre Maximizar y Cerrar
            
RemoveMenu(hMenu.ToInt32(), menuItemCount.ToInt32() - 2MF_DISABLED Or MF_BYPOSITION)
            
//Redibujar la barra de menú
            
DrawMenuBar(hWnd.ToInt32())

            
//mostrar un mensaje con la excepción producida
        
Catch pollo As Exception
            MessageBox
.Show("Se ha producido la excepción: " vbCrLf pollo.Message_
            
"Error del programa"MessageBoxButtons.OK)
        
End Try
    
End Sub



// Luego en el evento load del formulario deshabilitaremos nuestro boton `[x]
 
Private Sub Form1_Load(ByVal sender As ObjectByVal e As System.EventArgsHandles MyBase.Load
 
DisableCloseButton
(Me.Handle)

End Sub

End 
Class 

Y esto es finalmente todo... espero que le sirva a alguien, y que sea utilizado para el bien y no para crear "esas" aplicaciones que sirven para hacer daños.

Suerteee !!!!!
__________________
Facil ! Lo unico que hay que hacer para no ser animal, es razonar !
  #130 (permalink)  
Antiguo 03/10/2006, 13:19
 
Fecha de Ingreso: julio-2005
Ubicación: Córdoba
Mensajes: 254
Antigüedad: 15 años, 3 meses
Puntos: 0
Deshabilitar boton cerrar [x]

Tema: Boton cerrar en ventana de winforms
Pregunta: Como puedo deshabilitar el boton cerrar de las ventanas de windows en los winforms? ( [x] )
Respuesta:

En algunos casos, podemos necesitar que el usuario no cierre nuestro formulario sino es mas que utilizando un boton personalizado. Por ejemplo que nuestro programa ejecute un proceso, que deba ser detenido, antes de que se cierre el formulario, entonces en un boton detendremos nuestro proceso y luego cerraremos el formulario por ejempo con me.close(); pero esto no ocurriría si le dejamos la opcion de que lo cierre con el boton que windows pone en nuestros formularios, el famoso [x], o bien que cuando este minimizado el form, con el boton derecho del mouse y luego la opcion cerrar... o presionando alt+f4 etc por que esta comprobado que los usuarios son propensos a utilizar estos metodos, por estar mas familiarizados con ellos que con presionar nuestro boton. Para estos casos, necesitamos una funcion que deshabilite todas las opciones de cierre del formulario y que nos deje especificar en nuestro propio boton como será el proceso de cierre.

ejemplo


Aqui esta el codigo fuente.

Código PHP:
//en primera instancia, antes de cualquier declaracion, debemos incluir las librerías necesarias.

Imports System
Imports System
.Drawing
Imports System
.Collections
Imports System
.ComponentModel
Imports System
.Windows.Forms
Imports System
.Data
Imports System
.Runtime.InteropServices

// luego  debajo de la declaracion de la clase form vendra el codigo.

Public Class Form1
    Inherits System
.Windows.Forms.Form

 
Private Const MF_BYPOSITION As Integer = &H400
    
Private Const MF_REMOVE As Integer = &H1000
    
Private Const MF_DISABLED As Integer = &H2

    
//Variable para saber si ya está desactivado el botón X
    
Private pulsado As Boolean True

    
//Importación de procedimientos externos almacenados
    //en la librería de Windows USER32.DLL

    //Obtener el menú de sistema
    
Private Declare Function GetSystemMenu Lib "User32" _
            
(ByVal hWnd As Integer_
            ByVal bRevert 
As Boolean) As IntPtr

    
//Obtener el número de elementos del menú de sistema
    
Private Declare Function GetMenuItemCount Lib "User32" _
             
(ByVal hMenu As Integer) As IntPtr

    
//Quitar elementos del menú de sistema
    
Private Declare Function RemoveMenu Lib "User32" _
        
(ByVal hMenu As Integer_
        ByVal nPosition 
As Integer_
        ByVal wFlags 
As Long) As IntPtr

    
//Redibujar la barra de título de la ventana
    
Private Declare Function DrawMenuBar Lib "User32" _
            
(ByVal hWnd As Integer) As IntPtr

    
//Método que desactiva el botón X (cerrar)
    
Private Sub DisableCloseButton(ByVal hWnd As IntPtr)
        Try 
//captura de excepciones

            
Dim menuItemCount As IntPtr
            Dim hMenu 
As IntPtr
            
//Obtener el manejador del menú de sistema del formulario
            
hMenu GetSystemMenu(hWnd.ToInt32(), False)
            
//Obtener la cuenta de los ítems del menú de sistema.
            //Es el menú que aparece al pulsar sobre el icono a la izquierda
            //de la Barra de título de la ventana, consta de los ítems: Restaurar, Mover,
            //Tamaño,Minimizar,  Maximizar, Separador, Cerrar.
            
menuItemCount GetMenuItemCount(hMenu.ToInt32())
            
//Quitar el ítem Close (Cerrar), que es el último de ese menú
            
RemoveMenu(hMenu.ToInt32(), menuItemCount.ToInt32() - 1MF_DISABLED Or MF_BYPOSITION)
            
//Quitar el ítem Separador, el penúltimo de ese menú, entre Maximizar y Cerrar
            
RemoveMenu(hMenu.ToInt32(), menuItemCount.ToInt32() - 2MF_DISABLED Or MF_BYPOSITION)
            
//Redibujar la barra de menú
            
DrawMenuBar(hWnd.ToInt32())

            
//mostrar un mensaje con la excepción producida
        
Catch pollo As Exception
            MessageBox
.Show("Se ha producido la excepción: " vbCrLf pollo.Message_
            
"Error del programa"MessageBoxButtons.OK)
        
End Try
    
End Sub



// Luego en el evento load del formulario deshabilitaremos nuestro boton `[x]
 
Private Sub Form1_Load(ByVal sender As ObjectByVal e As System.EventArgsHandles MyBase.Load
 
DisableCloseButton
(Me.Handle)

End Sub

End 
Class 

Y esto es finalmente todo... espero que le sirva a alguien, y que sea utilizado para el bien y no para crear "esas" aplicaciones que sirven para hacer daños.

Suerteee !!!!!
__________________
Facil ! Lo unico que hay que hacer para no ser animal, es razonar !
  #131 (permalink)  
Antiguo 03/10/2006, 13:33
 
Fecha de Ingreso: enero-2004
Mensajes: 310
Antigüedad: 16 años, 9 meses
Puntos: 0
Tema: Web app (Tips and tricks) ASP.NET 2.0
Pregunta: ¿Cómo deshabilitar la expiración de la cache?
Respuesta: http://www.mistrucos.net/truco-asp-n...ache-685_1.htm
__________________
Un saludo,
Trucos
Videos
  #132 (permalink)  
Antiguo 03/10/2006, 13:34
 
Fecha de Ingreso: enero-2004
Mensajes: 310
Antigüedad: 16 años, 9 meses
Puntos: 0
Tema: Web app (Tips and tricks) VB.NET 2.0
Pregunta: ¿Cómo Utilizar VB.NET y C# al mismo tiempo en la carpeta APP_CODE ?
Respuesta: http://www.mistrucos.net/truco-asp-n...code-682_1.htm
__________________
Un saludo,
Trucos
Videos
  #133 (permalink)  
Antiguo 05/12/2006, 07:08
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 18 años, 8 meses
Puntos: 50
Tema: Tips and tricks ASP.NET 2.0
Pregunta: ¿Cómo puedo paginar mis resultados con SQL Server 2005 para no cargar todos los resultados en mi dataset ?
Respuesta:
http://aspnet.4guysfromrolla.com/articles/031506-1.aspx
http://www.codeproject.com/useritems/PagingGridView.asp
  #134 (permalink)  
Antiguo 19/12/2006, 16:09
Avatar de erick_arcini  
Fecha de Ingreso: julio-2005
Ubicación: Jaltenco / DF
Mensajes: 1.723
Antigüedad: 15 años, 3 meses
Puntos: 50
De acuerdo

Tema: Conocer lo que tiene tu equipo con WMI(para novatos como yo)
Pregunta: Como le puedo hacer para obtener el nombre de los dispositivos de mi PC y otras cosas?
Respuesta: Busquele, busquele, con esto y con esto:

hacer una referencia a todo el proyecto de System.Management

El ejemplo es para obtener el modelo del disco duro de un equipo
Código:
using System.Management;
            string[] discos=new string[5];//cantidad de discos en la computadora
            int aum = 0;
            try
            {
ManagementObjectSearcher dispositivo = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive"); foreach (ManagementObject lector in dispositivo.Get()) {
discos[aum] = Convert.ToString(lector["Model"]); aum++;
}
} catch(ManagementException ex) {
MessageBox.Show("Error: " + ex.Message);
}
__________________
Mejoremos nuestro país, ayudemos al planeta... próximamente.
  #135 (permalink)  
Antiguo 15/01/2007, 15:20
Avatar de rodri  
Fecha de Ingreso: febrero-2005
Mensajes: 406
Antigüedad: 15 años, 8 meses
Puntos: 2
Re: FAQ´S del foro de Net

Tema: General
Pregunta: Forma correcta de utilizar las fechas en SQL SERVER
Respuesta:

http://www.microsoft.com/spanish/msd...ces/art157.asp
__________________
0.o Rodri

Última edición por rodri; 17/01/2007 a las 06:46
  #136 (permalink)  
Antiguo 27/02/2007, 06:39
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.692
Antigüedad: 20 años
Puntos: 19
Re: FAQ´S del foro de Net

Tema: ASP.NET
Pregunta: ¿Cómo comprimir o descomprimir archivos en asp.net sin componente?
Respuesta:
Con un amigo armamos un ejemplo de como comprimir un archivos con asp.net, pues me hace falta porque quería subir por ejemplo una base access que está comprimida y poder descomprimirla con asp.net. Pues me funciona muy bien por ahora. Probamos subir un archivo de 27 megas comprimido y tardo unos 10 segundos en descomprimirlo (una base de 200 megas). Pues no es un código de locos, incluso lo podrán mejor.

El código usa una librería gratuita ICSharpCode.SharpZipLib.dll, desarrollada toda en C# y que además es gratis y código abierto. En el ejemplo está incluída ya la dll, pero si luego quieren pueden bajar desde el sitio oficial el código fuente y compilarl ustedes.

El ejemplito que armamos tiene un ejemplo en que descomprime un archivo y también otro que es para comprimir. Lo pueden bajar del adjunto.

Espero les sirva.
Archivos Adjuntos
Tipo de Archivo: zip asp-net.zip (76,4 KB (Kilobytes), 63 visitas)
__________________
PD: Con amor, fe, amor a Dios y amistad podemos hacer un mundo mejor!!!!

Última edición por cvander; 27/02/2007 a las 07:06
  #137 (permalink)  
Antiguo 27/03/2007, 17:20
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 18 años, 8 meses
Puntos: 50
Re: FAQ´S del foro de Net

Tema: Windows Forms
Pregunta: ¿Como embeber una aplicación o control de usuario de Windows en una aplicación web?
Respuesta:

Código:
using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Windows.Forms;

namespace devhood
{
    /// &ltsummary>
    /// Summary description for rtfcontrol.
    /// </summary>
    public class rtfcontrol : System.Windows.Forms.UserControl
    {
        private System.Windows.Forms.RichTextBox richTextBox1;
        private System.Windows.Forms.Panel panel1;
        private System.Windows.Forms.Button btnBold;
        private System.Windows.Forms.Button btnItalic;
        /// &ltsummary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.Container components = null;

        public rtfcontrol()
        {
            // This call is required by the Windows.Forms Form Designer.
            InitializeComponent();
        }

        /// &ltsummary>
        /// Clean up any resources being used.
        /// </summary>
        protected override void Dispose( bool disposing )
        {
            if( disposing )
            {
                if( components != null )
                    components.Dispose();
            }
            base.Dispose( disposing );
        }

        #region Component Designer generated code
        /// &ltsummary>
        /// Required method for Designer support - do not modify 
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.richTextBox1 = new System.Windows.Forms.RichTextBox();
            this.panel1 = new System.Windows.Forms.Panel();
            this.btnItalic = new System.Windows.Forms.Button();
            this.btnBold = new System.Windows.Forms.Button();
            this.panel1.SuspendLayout();
            this.SuspendLayout();
            // 
            // richTextBox1
            // 
            this.richTextBox1.BackColor = System.Drawing.Color.White;
            this.richTextBox1.Location = new System.Drawing.Point(0, 40);
            this.richTextBox1.Name = "richTextBox1";
            this.richTextBox1.Size = new System.Drawing.Size(488, 432);
            this.richTextBox1.TabIndex = 0;
            this.richTextBox1.Text = "";
            // 
            // panel1
            // 
            this.panel1.BackColor = System.Drawing.Color.LightGray;
            this.panel1.Controls.AddRange(new System.Windows.Forms.Control[] {
                                                                                 this.btnItalic,
                                                                                 this.btnBold});
            this.panel1.Name = "panel1";
            this.panel1.Size = new System.Drawing.Size(488, 40);
            this.panel1.TabIndex = 1;
            // 
            // btnItalic
            // 
            this.btnItalic.Font = new System.Drawing.Font("Arial", 9F, System.Drawing.FontStyle.Regular, 
                    System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
            this.btnItalic.Location = new System.Drawing.Point(72, 8);
            this.btnItalic.Name = "btnItalic";
            this.btnItalic.Size = new System.Drawing.Size(56, 24);
            this.btnItalic.TabIndex = 1;
            this.btnItalic.Text = "Italic";
            this.btnItalic.Click += new System.EventHandler(this.btnItalic_Click);
            // 
            // btnBold
            // 
            this.btnBold.Font = new System.Drawing.Font("Arial", 9F, System.Drawing.FontStyle.Regular, 
                    System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
            this.btnBold.Location = new System.Drawing.Point(8, 8);
            this.btnBold.Name = "btnBold";
            this.btnBold.Size = new System.Drawing.Size(56, 24);
            this.btnBold.TabIndex = 0;
            this.btnBold.Text = "Bold";
            this.btnBold.Click += new System.EventHandler(this.btnBold_Click);
            // 
            // rtfcontrol
            // 
            this.BackColor = System.Drawing.Color.LightGray;
            this.Controls.AddRange(new System.Windows.Forms.Control[] {
                                                                          this.panel1,
                                                                          this.richTextBox1});
            this.Name = "rtfcontrol";
            this.Size = new System.Drawing.Size(488, 472);
            this.panel1.ResumeLayout(false);
            this.ResumeLayout(false);

        }
        #endregion

        private void btnBold_Click(object sender, System.EventArgs e)
        {
            if (this.richTextBox1.SelectionFont.Bold)
                this.richTextBox1.SelectionFont = new Font(this.richTextBox1.SelectionFont, FontStyle.Regular);
            else
                this.richTextBox1.SelectionFont = new Font(this.richTextBox1.SelectionFont, FontStyle.Bold);
        }

        private void btnItalic_Click(object sender, System.EventArgs e)
        {
            if (this.richTextBox1.SelectionFont.Italic)
                this.richTextBox1.SelectionFont = new Font(this.richTextBox1.SelectionFont, FontStyle.Regular);
            else
                this.richTextBox1.SelectionFont = new Font(this.richTextBox1.SelectionFont, FontStyle.Italic);
        }
    }
}
Now that we have the User Control created, we have to compile it to a DLL. Use this syntax to create a DLL:

Cita:
csc /t:library rtfcontrol.cs
The HTML page
Next we have to create the HTML page that the users will visit. Simple enough, all we have to add is an <object> tag at the location where we want the user control to appear. Here is a sample HTML page:

Código:
<html>
  <body>
   <center>
     <object id="rtfcontrol" height="472" width="488"
         classid="http://127.0.0.1/RtfControl.dll#devhood.rtfcontrol">
     </object>
   </center>
  </body>
</html>
Referencia
http://www.devhood.com/tutorials/tut...utorial_id=187
  #138 (permalink)  
Antiguo 28/03/2007, 13:36
Avatar de erick_arcini  
Fecha de Ingreso: julio-2005
Ubicación: Jaltenco / DF
Mensajes: 1.723
Antigüedad: 15 años, 3 meses
Puntos: 50
Re: FAQ´S del foro de Net

Tema: Windows Forms
Pregunta: ¿Quiero poner una imagen en un crystal reports o (algo por el estilo) pero la dichosa imagen esta en png, que hago?, o mejor dicho convertir y crear jpgs de un png
Respuesta:

Bueno, desde la linea de comandos puedes cambiar la imagen de png a jpg, pero lo que yo hice fue un pequeño método para que esta imagen cree un jpg, esto es asi, convertir y crear archivo desde un archivo en png:

Código:
        public static void ToJpeg(string archivoXXX, string archivoJPG)
        {
            try
            {
                FileStream fs = new FileStream(archivoXXX, FileMode.Open);

                BinaryReader br = new BinaryReader(fs);
                byte[] imagen = new byte[(int)fs.Length];
                br.Read(imagen, 0, (int)fs.Length);
                br.Close();
                int valor = (int)imagen.Length;
                fs.Close();

                FileStream control = new FileStream(archivoJPG, FileMode.CreateNew, FileAccess.Write);
                control.Write(imagen, 0, valor);
                fs.Close();
                control.Close();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }

PD. Creo que quitaron el mensaje de chcma o algo así se llama, de que si el post anterior del buen RootK servía en FireFox, la respuesta es "NO", a pesar de que ese método es llamado como applet no funciona como tal, de todas formas dejo un link como tal en español para que vean como usar estos controles, los cuales yo los uso

http://www.microsoft.com/spanish/msd...ices/art94.asp

PD2. Creo que una parte de tu mensaje rootk esta en ingles, solo como observación
__________________
Mejoremos nuestro país, ayudemos al planeta... próximamente.
  #139 (permalink)  
Antiguo 26/05/2007, 09:19
Avatar de freegirl
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: Catalonia
Mensajes: 4.344
Antigüedad: 17 años
Puntos: 156
Re: FAQ´S del foro de Net

Tema: Windows Forms
Pregunta: Cómo copiar datos de una tabla a otra entre BD distintas y protegidas con password. (BD: ACCESS)
Respuesta:

Código:
Dim destino as string ="[MS Access;DATABASE=c:\bdDestino.mdb;Uid=admin;Pwd=tuPassword;]"
Dim origen as string = "[MS Access;DATABASE=c:\bdOrigen.mdb;Uid=admin;Pwd=tuPassword;]"

conn.open
cmd.connection =conn
cmd.commandtext = "INSERT INTO " & destino  ".tabla SELECT * FROM " & origen & ".tabla"
cmd.executeNonQuery
conn.close
  #140 (permalink)  
Antiguo 15/06/2007, 15:54
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 16 años, 10 meses
Puntos: 53
Re: FAQ´S del foro de Net

Tema: Win Forms
Pregunta: ¿Como obtener el serial de un Disco Duro?
Respuesta:
Después de un buen rato dándole a la prueba y error y poco de ayuda de MSDN llegué a esto
http://geoavila.com/?p=63

el ejemplito

nos vemos.
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #141 (permalink)  
Antiguo 05/07/2007, 12:15
Avatar de erick_arcini  
Fecha de Ingreso: julio-2005
Ubicación: Jaltenco / DF
Mensajes: 1.723
Antigüedad: 15 años, 3 meses
Puntos: 50
Re: FAQ´S del foro de Net

Tema: win/web forms
Pregunta: ¿Cómo utilizar parámetros de salida y entrada en una aplicación con store procedure?
Respuesta:

Sigue el link: http://www.forosdelweb.com/f29/como-ejecutar-procedimiento-502930/

haber si les sirve...
__________________
Mejoremos nuestro país, ayudemos al planeta... próximamente.
  #142 (permalink)  
Antiguo 03/09/2007, 10:13
 
Fecha de Ingreso: noviembre-2003
Ubicación: Madrid
Mensajes: 353
Antigüedad: 16 años, 11 meses
Puntos: 1
Upload thumbnails con ASP.net

Una situación muy común y de la que curiosamente hay poca documentación. Si necesitas subir imágenes y que estas se redimensionen automaticamente a las medidas que tu quieras.

Cita:
<%@ Import Namespace="System.Drawing" %>
<%@ Import Namespace="System.Drawing.Imaging" %>
<%@Page aspcompat=true Language ="VB" debug ="true" %>
<html>
<script language="VB" runat="server">
Sub EnviaFormulario(Sender as Object, E as EventArgs)
' Definimos el archivo enviado por el formulario como Imagen
Dim Imagen as System.Drawing.Image
dim shtWidth,shtHeight

Imagen = System.Drawing.Image.FromStream(Archivo.PostedFile .InputStream)



' Definimos las dimensiones de la miniatura
Dim AnchoMiniatura as Integer, AltoMiniatura as Integer
AnchoMiniatura = request("ancho")
AltoMiniatura = request("alto")


If Imagen.Width > Imagen.Height Then 'portrait
shtWidth = 100
' Work out a proportionate height from width
shtHeight = Imagen.Height / (Imagen.Width / shtWidth)
Else 'landscape
shtHeight = 120
' Work out a proportionate width from height
shtWidth = Imagen.Width / (Imagen.Height / shtHeight)

End If






' Definimos el nombre del archivo, y el nombre de la miniatura
Dim NombreArchivo as String
NombreArchivo = right(archivo.PostedFile.filename,len(archivo.Post edFile.filename) - instrrev(archivo.PostedFile.filename,"\"))
' Definimos las rutas donde grabará los archivos
Dim RutaArchivo as String, RutaMiniatura as String
RutaArchivo = ""
RutaMiniatura = ""
' Guardamos el archivo original en disco
'Imagen.Save(Server.MapPath(RutaArchivo & NombreArchivo), ImageFormat.JPEG)
' Creamos la Miniatura con las dimensiones enviadas, y la definimos como Imagen
Dim Miniatura as System.Drawing.Image
Miniatura = Imagen.GetThumbnailImage(shtWidth, shtHeight, Nothing, New IntPtr())
' Grabamos la Miniatura en disco con formato JPG
Miniatura.Save(Server.MapPath(RutaMiniatura & NombreArchivo), ImageFormat.JPEG)


End Sub
</script>
<body>
<form enctype="multipart/form-data" runat="server">
Imagen: <input id="Archivo" type="file" runat="server">
<br><br>
Ancho :
<input name="ancho" type="text" id="ancho">
Alto:
<input name="alto" type="text" id="alto">
<input value="Enviar" type="submit" OnServerClick="EnviaFormulario" runat="server">
</form>
</body>
</html>
__________________
Lo menos frecuente en este mundo es vivir. La mayoría de la gente existe, eso es todo...
  #143 (permalink)  
Antiguo 24/11/2007, 09:49
Avatar de rodri  
Fecha de Ingreso: febrero-2005
Mensajes: 406
Antigüedad: 15 años, 8 meses
Puntos: 2
Re: FAQ´S del foro de Net

Tema: win/web forms
Pregunta: ¿Cómo hacer abrir una nueva hoja Excel o abrir un archivo Excel existente?
Respuesta:

http://www.codeproject.com/office/csharp_excel.asp

Ojo. Para web se debe contar con un usuario con permisos suficientes para la llamada al Objeto DCOM de Excel
__________________
0.o Rodri

Última edición por rodri; 24/11/2007 a las 09:51 Razón: Aclaraciones
  #144 (permalink)  
Antiguo 09/12/2007, 20:05
Avatar de rodri  
Fecha de Ingreso: febrero-2005
Mensajes: 406
Antigüedad: 15 años, 8 meses
Puntos: 2
Re: FAQ´S del foro de Net

Tema: .net
Pregunta: Convertir cadenas a texto capital (tipo Pascal Case)
Respuesta:
http://rodriogri.blogspot.com/2007/1...o-capital.html
__________________
0.o Rodri
  #145 (permalink)  
Antiguo 02/01/2008, 02:00
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 17 años, 4 meses
Puntos: 7
Re: FAQ´S del foro de Net

TEMA: CONEXION SOCKETS
PREGUNTA: COMO HACER UNA CLASE SIMPLE DE UN SERVIDOR DE SOCKETS
RESPUESTA:
Bueno, como yo, seguro que a muchos os gustan los sockets y que muchos habeis tenido problemas o no habeis sabido por donde empezar con el asunto... Aqui dejo una pequeña clase, a la cual le falta mucho por matizar, pero con la que podreis empezar seguro.

Un saludo.

Código:
using System;
using System.Collections.Generic;
using System.Text;

using System.Net;
using System.Net.Sockets;
using System.Reflection;
namespace HeviaServerXml
{
    public class ClsServidor
    {
        /// <summary>
        /// Puerto donde escucha el servidor
        /// </summary>
        private int _puertoEscucha = 0;
        /// <summary>
        /// Ip donde esta presente el servidor
        /// </summary>
        private string _ipEscucha = string.Empty;
        /// <summary>
        /// Rango de Ips donde esta presente el servidor
        /// </summary>
        private string[] _ipsEscucha = null;
        /// <summary>
        /// Indica si el servidor esta activo o no
        /// </summary>
        private bool _servidorActivo =false;

        
        private List<Socket> listaSockets = new List<Socket>();
        private Socket objSocketServidor = null;
        private byte[] bytesDatos = new byte[2048];


        #region "EVENTOS"
            public delegate void EventoDatosRecibidos(string txtIpCliente, int puertoCliente, string txtDatosRecibidos);
            /// <summary>
            /// Evento que recoge los datos recibidos
            /// </summary>
            public event EventoDatosRecibidos DatosRecibidos;

            public delegate void EventoDatosEnviados(string txtIpCliente, int puertoCliente, string txtDatosEnviados);
            /// <summary>
            /// Evento que recoge los datos enviados
            /// </summary>
            public event EventoDatosEnviados DatosEnviados;

            public delegate void EventoNuevaConexion(string txtIpCliente, int puertoCliente);
            /// <summary>
            /// Evento que se lanzara cuando se conecte un nuevo cliente
            /// </summary>
            public event EventoNuevaConexion NuevaConexion;

            /// <summary>
            /// Evento que se lanzara cuando se cierre una conexion
            /// </summary>
            public event EventHandler FinConexion;

            public delegate void EventoError(string txtMetodo, string txtError);
            public event EventoError DatosErrores;
        #endregion


        #region "CONSTRUCTORES"
            private ClsServidor()
            {

            }
            /// <summary>
            /// Constructor sobrecargado
            /// </summary>
            /// <param name="puertoEscucha">Puerto en el que escuchara el servidor</param>
            public ClsServidor(int puertoEscucha)
            {
                if (puertoEscucha < 1280)
                    throw new Exception("El puerto no puede ser menor de 1280");

                _puertoEscucha = puertoEscucha;
            }
            /// <summary>
            /// Constructor
            /// </summary>
            /// <param name="puertoEscucha">Puerto en el que escuchara el servidor</param>
            /// <param name="ipEscucha">Direccion IP en el que escuchara el servidor</param>
            public ClsServidor(int puertoEscucha, string ipEscucha)
            {
                if (puertoEscucha < 1280)
                    throw new Exception("El puerto no puede ser menor de 1280");

                _puertoEscucha = puertoEscucha;
                _ipEscucha = ipEscucha;
            }
        #endregion


        #region "PROPIEDADES"
            public int PuertoEscucha
            {
                get
                {
                    return _puertoEscucha;
                }
            }

            public string IpEscucha
            {
                get
                {
                    return _ipEscucha;
                }
            }

            public string[] IpsEscucha
            {
                get
                {
                    throw new System.NotImplementedException();
                }
                set
                {
                }
            }

            public bool ServidorActivo
            {
                get
                {
                    return _servidorActivo;
                }
            }
        #endregion


        /// <summary>
        /// Metodo que inicia la escucha del servidor
        /// </summary>
        public void IniciarEscucha()
        {
            objSocketServidor = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

            if(_ipEscucha != string.Empty)
                objSocketServidor.Bind(new IPEndPoint(IPAddress.Parse(_ipEscucha), _puertoEscucha));
            else
                objSocketServidor.Bind(new IPEndPoint(IPAddress.Any, _puertoEscucha));

            objSocketServidor.Listen(10);
            objSocketServidor.BeginAccept(new AsyncCallback(ConexionRealizada), null);
            _servidorActivo = true;
        }
        private void ConexionRealizada(IAsyncResult iAr)
        {
            try
            {                
                Socket objSocket = objSocketServidor.EndAccept(iAr);
                listaSockets.Add(objSocket);
                objSocketServidor.BeginAccept(new AsyncCallback(ConexionRealizada), null);
                objSocket.BeginReceive(bytesDatos, 0, bytesDatos.Length, SocketFlags.None, new AsyncCallback(DatosLlegados), objSocket);

                if (NuevaConexion != null)
                {
                    string ipClienteConectado = ((IPEndPoint)objSocket.RemoteEndPoint).Address.ToString();
                    int puertoClienteConectado = ((IPEndPoint)objSocket.RemoteEndPoint).Port;
                    NuevaConexion(ipClienteConectado, puertoClienteConectado);
                }
            }
            catch (Exception ex)
            {
                if (DatosErrores != null)
                    this.DatosErrores(MethodBase.GetCurrentMethod().Name, ex.Message);
            }
        }
        private void DatosLlegados(IAsyncResult iAr)
        {            
            Socket objSocket = (Socket)iAr.AsyncState;
            try
            {
                int tamanioDatosRecibidos = objSocket.EndReceive(iAr);
                if (tamanioDatosRecibidos > 0)
                {
                    byte[] bytesDatosReales = new byte[tamanioDatosRecibidos];
                    Array.Copy(bytesDatos, bytesDatosReales, tamanioDatosRecibidos);
                    string txtDatosReales = Encoding.ASCII.GetString(bytesDatosReales);

                    EnviarDatosTodos(bytesDatosReales);
                    
                    if (DatosRecibidos != null)
                    {
                        string ipClienteConectado = ((IPEndPoint)objSocket.RemoteEndPoint).Address.ToString();
                        int puertoClienteConectado = ((IPEndPoint)objSocket.RemoteEndPoint).Port;
                        this.DatosRecibidos(ipClienteConectado, puertoClienteConectado, txtDatosReales);
                    }
                    
                    objSocket.BeginReceive(bytesDatos, 0, bytesDatos.Length, SocketFlags.None, new AsyncCallback(DatosLlegados), objSocket);
                }
            }
            catch (Exception ex)
            {
                if (DatosErrores != null)
                    this.DatosErrores(MethodBase.GetCurrentMethod().Name, ex.Message);
            }
        }


        private void EnviarDatosTodos(byte[] bytesMensaje)
        {
            foreach (Socket objSocket in this.listaSockets)
            {
                EnviarDatos(objSocket, bytesMensaje);
            }
        }
        private void EnviarDatos(Socket objSocket, byte[] bytesMensaje)
        {
            objSocket.BeginSend(bytesMensaje, 0, bytesMensaje.Length, SocketFlags.None, new AsyncCallback(DatosEnviadosAr), new Object[] { objSocket, bytesMensaje });
        }
        private void DatosEnviadosAr(IAsyncResult iAr)
        {
            Object[] objDatos = (Object[])iAr.AsyncState;
            Socket objSocket = (Socket)objDatos[0];
            byte[] bytesEnviados = (byte[])objDatos[1];

            objSocket.EndSend(iAr);

            string ipClienteConectado = ((IPEndPoint)objSocket.RemoteEndPoint).Address.ToString();
            int puertoClienteConectado = ((IPEndPoint)objSocket.RemoteEndPoint).Port;
            string txtDatosEnviados = Encoding.ASCII.GetString(bytesEnviados);


            if (this.DatosEnviados != null)
                DatosEnviados(ipClienteConectado, puertoClienteConectado, txtDatosEnviados);
        }
    }
}
__________________
Charlie.

Última edición por chcma; 02/01/2008 a las 04:59 Razón: Actualización del post
  #146 (permalink)  
Antiguo 04/06/2008, 16:10
 
Fecha de Ingreso: junio-2007
Mensajes: 44
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: FAQ´S del foro de Net

TEMA: Diseño de User Controls
PREGUNTA: ¿Cómo Agrego un Control a un Control personalizado, que posteriormente pueda ser editable desde el diseñador? Como el TabControl.
RESPUESTA:

Código PHP:
Public Class Class_1
.
.
.
Public 
Sub Add()
                
Dim s As IContainer //Será Nuestro Contenedor
                
Dim MyControl As New Control //El control puede ser reemplazado por algun label etc.. 
                
MyControl.Name="MyControl" 
                
.Iniciar Los valores del control 
                

                . 
               
MyControl.CreateControl()//Obliga a su creación 
                
s=me.Container //Es importante colocar "Me" no "MyBase", puede traer problemas.
                
If Me.DesignMode Then //Preguntamos si esta en modo de diseño
                    
s.Add(MyControl)//Le dice al lenguage correspondiente que lo agrege como elemento en el codigo de contenedores
                
End If 
                
Me.Controls.Add(MyControl// Agrega el elemento a los controles del UserControl.
End Sub
.
.
.
.

End Class 
Si necesitan agregar el control en el contenedor de su control, y no el de ustedes, pueden colocar:
Código PHP:
Public Class Class_1
.
.
.
Public 
Sub Add()
                
Dim s As IContainer //Será Nuestro Contenedor
                
Dim MyControl As New Control //El control puede ser reemplazado por algun label etc.. 
                
MyControl.Name="MyControl" 
                
.Iniciar Los valores del control 
                

                . 
               
MyControl.CreateControl()//Obliga a su creación 
               
s=me.Parent.Container//Dice que se agregara a los controles del contenedor Padre
                
If Me.DesignMode Then //Preguntamos si esta en modo de diseño
                    
s.Add(MyControl)//Le dice al lenguage correspondiente que lo agrege como elemento en el codigo de contenedores
                
End If 
                
Me.Parent.Controls.Add(MyControl// Agrega el elemento a los controles del Contenedor padre
End Sub
End 
Class
.
.

Para eliminar el control:

Código PHP:
.
.
.
Public 
Sub Removed(obj as IComponet)
           
Dim s As IContainer
           
If Me.DesignMode Then
                s
=Me.Container
                s
.Removed(obj)
           
End If
           
Me.Controls.Remove(obj)
end Sub
.
.

La forma en que se colocan los componentes, asegura que los elementos se podran mover libremente, tanto dentro del User control, Como el contenedor padre de este último. La forma de que el control no se pueda mover después de ser creado, se debe verificar con algun evento. Es decir, si por ejemplo, se quiere que el control creado no se mueva de cierta posición, es conveniente crear un control y ocupar algún evento, de éste para que no se mueva.

Código PHP:
Public Class Lab
    Inherits Label
    
Private As Point

    
Public Sub New(ByVal X As IntegerByVal Y As Integer)
        
= New Point(XY)
    
End Sub
    
Private Sub Lab_Move(ByVal sender As ObjectByVal e As System.EventArgsHandles Me.Move
        Me
.Location m
    End Sub
End 
Class 
De esta forma se aseguran que cuando el contol sea creado, le den coordenadas para que posteriormente no se pueda mover.
  #147 (permalink)  
Antiguo 18/08/2008, 14:10
Avatar de erick_arcini  
Fecha de Ingreso: julio-2005
Ubicación: Jaltenco / DF
Mensajes: 1.723
Antigüedad: 15 años, 3 meses
Puntos: 50
Respuesta: FAQ´S del foro de Net

Validación de Web Forms
Pregunta: Como puedo validar mi pagina con XHTML 1.0 Strict
Respuesta: Sigan al conejo blanco...
__________________
Mejoremos nuestro país, ayudemos al planeta... próximamente.
  #148 (permalink)  
Antiguo 09/09/2008, 14:11
 
Fecha de Ingreso: septiembre-2008
Mensajes: 1
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: FAQ´S del foro de Net

Gracias. De mucha ayuda
  #149 (permalink)  
Antiguo 19/11/2008, 07:40
Avatar de GeRuNdIo  
Fecha de Ingreso: marzo-2004
Ubicación: Sanlúcar de Barrameda, Cádiz
Mensajes: 232
Antigüedad: 16 años, 7 meses
Puntos: 2
Respuesta: FAQ´S del foro de Net

Tema: Exchange Web Services (EWS)
Pregunta: Cómo realizar la impersonación para poder tener acceso a los buzones de los usuarios sin disponer de sus contraseñas.
Respuesta:

Hola a [email protected] !!

Tras sufrir de lo lindo últimamente con Exchange 2007, me he decidido a postear algo que muy dificilmente encontrareis por la red de redes.....

He estado trabajando este último año con Exchange 2007 y probablemente necesiteis realizar impersonación a la hora de atacar Exchange, así que aquí os dejo la información necesaria para ello.

En primer lugar:

Para invocar a los Web Services propios de Exchange 2007 es necesario crear un usuario de servicio que cuente con permisos de impersonación sobre las mailbox databases. Para cada entorno se creará el usuario llamado ExchangeWSuser (sin incluir en ningún grupo de seguridad, únicamente en “domain user” ) y desde el servidor de Exchange 2007 se deberán ejecutar estas dos sentencia en PowerShell. Estos comandos será preciso ejecutarse cada vez que se cree una BBDD de Exchange 2007.

Get-MailboxDatabase | ForEach-Object {Add-ADPermission -Identity $_.DistinguishedName -User ExchangeWSUser -ExtendedRights ms-Exch-EPI-May-Impersonate}

Add-ADPermission -Identity (get-exchangeserver -Identity SERVER_NAME).DistinguishedName -User (Get-User -Identity ExchangeWSUser | select-object).identity -extendedRight ms-Exch-EPI-Impersonation

El documento referencia es el siguiente:
http://msdn.microsoft.com/en-us/library/bb204095.aspx

Una vez tenemos el usuario ExchangeWSUser creado, debemos utilizarle al instanciar nuestro ExchangeServiceBinding de la siguiente forma:

Código:
ExchangeServiceBinding esb = new ExchangeServiceBinding();
private static string usuarioEx;

        /// <summary>
        /// Método privado para crear el Objeto de enlace con Exchange 2007
        /// </summary>
        /// <param name="UserName">Nombre de Usuario sobre el que se van a realizar las operaciones.</param>
        /// <param name="Domain">Dominio del usuario</param>
        /// <param name="Url">Url De Exchange. Este parámetro es opcional. Se cogerá la Url por defecto en caso de llegar vacío.</param>
        private void CreateExchangeServiceBinding(string UserName, string Domain, string Url)
        {
            usuarioEx = UserName;

            esb.ExchangeImpersonation = new ExchangeImpersonationType();

            ServicePointManager.ServerCertificateValidationCallback = delegate(Object obj, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
            {
                // Replace this line with code to validate server certificate.
                return true;
            };

            esb.ExchangeImpersonation.ConnectingSID = new ConnectingSIDType();
            esb.ExchangeImpersonation.ConnectingSID.PrimarySmtpAddress = UserName + "@" + Domain;

            if (Url != null && Url != string.Empty)
            {
                esb.Url = Url;
            }
            else
            {
                esb.Url = ConfigurationManager.AppSettings["EWSUrl"].ToString();   
            }

            // Identificamos el enlace del servicio y el usuario Exchange que reealizará la impersonación
            esb.Credentials = new NetworkCredential(ConfigurationManager.AppSettings["ExchangeWsUser"].ToString(), ConfigurationManager.AppSettings["ExchangeWsPass"].ToString(), ConfigurationManager.AppSettings["ExchangeWsUserDomain"].ToString());
            

        }
Como veis accedemos al config en algunos casos:
Cita:
ConfigurationManager.AppSettings["ExchangeWsUser"]
Obteniendo el username, pass y domain al que pertenece el usuario impersonador.

Espero que les sirve de ayuda.

Un saludooo!!!
__________________
Una buena forma de sacar las castañas del fuego sin quemarse: LEE FOROSDELWEB..... :si:
------
F.P.R. MCAD .NET
  #150 (permalink)  
Antiguo 19/11/2008, 09:10
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 18 años, 5 meses
Puntos: 7
Respuesta: FAQ´S del foro de Net

Aca dejo un objeto en VB para tener un control de texto que solo admita numeros en una WebForm...

Cita:
Imports System.Web
Imports System.ComponentModel
Imports System.Text
<DefaultProperty("Text"), System.Web.UI.ToolboxData("<{0}:decbox runat=server CssClass=cssDecimalBox></{0}:decbox>")> Public Class DecBox
Inherits System.Web.UI.WebControls.TextBox
'Modificado para agregar tres propiedades:
' IncluirValidacion(Boolean, que dice si se validara que el texto sea numerico o no)
' Decimales(Integer, solo se aplica cuando IncluirValidacion es True para formateo de Decimales)
' ValorPreDefinido(Decimal, valor default cuando IncluirValidacion es True)
'Esto lo pusimos en el onChange
'Y de paso le pusimos una imagen para la Toolbox. LMC - 200404
'Se Agrego Chequeo de Limites. LMC - 200511
'Ejemplo de Uso:
'
'<%@ Register TagPrefix="db" Namespace="DecBox" Assembly="DecBox" %>
'
'<db:decbox id="txtMonto" runat="server"></rsc:decbox>
'
'Por Codigo:
'txtMonto.IncluirValidacion=True
'txtMonto.Decimales=2
'txtMonto.ValorPreDefinido=0

Protected Overrides Sub Render(ByVal output As System.Web.UI.HtmlTextWriter)
Dim str_JScript As String
MyBase.Attributes.Add("onkeypress", "javascript:TeclaDecimal();")
If Me._IncluirValidacion Then
str_JScript = "javascript:ChequearNumero(this," & Me._Decimales.ToString & "," & Me._ValorPreDefinido.ToString & ");"
MyBase.Attributes.Add("onchange", str_JScript)
End If
MyBase.Render(output)
End Sub

Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)
Dim str_enter As String = Environment.NewLine
Dim stb_OnKeyPress As New StringBuilder, stb_OnChangeV As New StringBuilder, stb_OnChangeR As New StringBuilder
Dim pg As System.Web.UI.Page
With stb_OnKeyPress
.Append("<script language='javascript'>")
.Append(str_enter)
.Append("function TeclaDecimal() {")
.Append(str_enter)
.Append("var sKey;")
.Append(str_enter)
.Append("sKey = String.fromCharCode(window.event.keyCode);")
.Append(str_enter)
.Append("if (!((sKey >= '0' && sKey <= '9') || (sKey == '.'))) { window.event.keyCode = 0; } ")
.Append(str_enter)
.Append("}")
.Append(str_enter)
.Append("</script>")
End With
With stb_OnChangeV
.Append("<script language='javascript'>")
.Append(str_enter)
.Append("function ChequearNumero(fieldName, decimals, mdefault) {")
.Append(str_enter)
.Append(" if (isNaN(fieldName.value)) {")
.Append(str_enter)
.Append(" fieldName.value=mdefault;")
.Append(str_enter)
.Append(" } else {")
.Append(str_enter)
.Append(" timeshundred = parseFloat(fieldName.value * Math.pow(10, decimals));")
.Append(str_enter)
.Append(" integervalue = parseInt(parseFloat(fieldName.value) * Math.pow(10, decimals));")
.Append(str_enter)
.Append(" if (timeshundred != integervalue) {")
.Append(str_enter)
.Append(" fieldName.value=mdefault;")
.Append(str_enter)
.Append(" }")
.Append(str_enter)
.Append("}")
.Append(str_enter)
.Append("</script>")
End With
pg = CType(HttpContext.Current.Handler, System.Web.UI.Page)
If Not pg.ClientScript.IsClientScriptBlockRegistered("Dec BoxKP") Then pg.ClientScript.RegisterStartupScript(pg.GetType() , "DecBoxKP", stb_OnKeyPress.ToString)
If Not pg.ClientScript.IsClientScriptBlockRegistered("Dec BoxOCV") Then
If Me._IncluirValidacion Then pg.ClientScript.RegisterStartupScript(pg.GetType() , "DecBoxOCV", stb_OnChangeV.ToString)
End If
End Sub

#Region "Private Members"
Private _IncluirValidacion As Boolean = False
Private _Decimales As Int32 = 0
Private _ValorPreDefinido As Double = 0
#End Region

#Region "Properties"
'Si TRUE, cualquier valor no numerico se reemplazara con ValorPreDefinido
Public Property IncluirValidacion() As Boolean
Get
Return Me._IncluirValidacion
End Get
Set(ByVal Value As Boolean)
Me._IncluirValidacion = Value
End Set
End Property

'Numero de decimales aceptados como maximo cuando IncluirValidacion=TRUE
Public Property Decimales() As Int32
Get
Return Me._Decimales
End Get
Set(ByVal Value As Int32)
Me._Decimales = Value
End Set
End Property

'Valor que reemplazara valores no numericos cuando IncluirValidacion=TRUE
Public Property ValorPreDefinido() As Double
Get
Return Me._ValorPreDefinido
End Get
Set(ByVal Value As Double)
Me._ValorPreDefinido = Value
End Set
End Property
#End Region
End Class
__________________
No tengo firma ahora... :(

Etiquetas: faq
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 27 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 17:07.