lunes, 2 de marzo de 2015

Recursos no liberados por una aplicación

Si por ejemplo se finaliza una aplicación que esta utilizando recursos no administrados por .NET, si dicho recurso como una dll no fue liberado de la memoria, este quedara utilizandose o sin poderse retomar pues no fue liberado por el sistema operativo. Por ejemplo se esta haciendo uno de una dll no manejada, y alguno de sus proceso u objetos no fueron , dado el caso que se cerró la aplicación sin liberar dichos recursos, se pueden revisar la información que muestra el sistema operativo



Al obtener el nombre de este caso que no libero los recursos, por ejemplo: "Libro de Ventas Aclas. exe", se le finaliza el proceso correspondiente

lunes, 23 de febrero de 2015

Otros instaladores

(Inno Installer)
http://www.jrsoftware.org/isdl.php

Nota: recordar al generar cambios guardar en el programa generador de instaladores del inno,

jueves, 18 de diciembre de 2014

Combobox Read Only

Combobox Read Only


 private void cbxTipo_KeyPress(object sender, KeyPressEventArgs e)
        {
            e.Handled = true;
        }

** Claro esto no permite escribir por las iniciales de los puertos e ir completando

jueves, 16 de octubre de 2014

Datagridview Excepcion al Intentar Ordenar elementos

Datagridview Excepcion al Intentar Ordenar elementos
Editar en Columns, Collection, SortMode = NotSortable

miércoles, 15 de octubre de 2014

Validaciones usando Regex

Entrada alphanumérica (sin caracteres especiales): Aceptando letras de A-Z (mayúsculas y minúsculas), números 0-9, y la tecla backspace.
        private void alphaNumericTextBox_KeyPress(object sender, KeyPressEventArgs e)
        {
            var regex = new Regex(@"[^a-zA-Z0-9\b]");
            if (regex.IsMatch(e.KeyChar.ToString()))
            {
                e.Handled = true;
            }
        }


Entrada alphanumérica (separada por espacios, sin caracteres especiales): Aceptando letras de A-Z (mayúsculas y minúsculas), números 0-9, espacio y la tecla backspace.
        private void alphaNumericPlusSpaceTextBox_KeyPress(object sender, KeyPressEventArgs e)
        {
            var regex = new Regex(@"[^a-zA-Z0-9\x20\b]");
            if (regex.IsMatch(e.KeyChar.ToString()))
            {
                e.Handled = true;
            }
        }

 
Dirección Ip:
if (!(string.IsNullOrEmpty(txbIpAddress.Text)) && (Regex.IsMatch(txbIpAddress.Text, @"\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b")))
{
          RegECRUdp(1, txbIpAddress.Text, "", 5002, false);
          testResult = TransTestComm(1, 0);

}
else
{
          MessageBox.Show("Dirección Ip inválida.");
          return;

}


Email:
private void txbEmail_Validating(object sender, CancelEventArgs e)
{
     string email = txbEmail.Text;
    Regex regex1 = new Regex(@"\A[a-z0-9]+([-._][a-z0-9]+)*@([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,4}\z");
    Regex regex2 = new Regex(@"^(?=.{1,64}@.{4,64}$)(?=.{6,100}$).*");
           
    Match match1 = regex1.Match(email);
    Match match2 = regex2.Match(email);
    if (match1.Success && match2.Success)
    {
        lblEmail.ForeColor = Color.Black;
        lblRequiredFieldForInfoStore3.ForeColor = Color.Goldenrod;
    }
    else
    {
        lblEmail.ForeColor = Color.Red;
        lblRequiredFieldForInfoStore3.ForeColor = Color.Red;
        return;
        }
} 

Regular Expression Library: Buscador de expresiones regulares
http://regexlib.com/