Como hacer que espere tu aplicación con un “wait” en vb.net

Si quieres que tu aplicación espere solo debes hacer un llamado a esta pequeña rutina:

Private Sub Wait(ByVal PMillseconds As Integer)

Dim TimeNow As DateTime
Dim TimeEnd As DateTime
Dim StopFlag As Boolean

TimeEnd = Now()
TimeEnd = TimeEnd.AddMilliseconds(PMillseconds)
StopFlag = False
While Not StopFlag
TimeNow = Now()
If TimeNow > TimeEnd Then
StopFlag = True
End If
Application.DoEvents()
End While

TimeNow = Nothing
TimeEnd = Nothing
End Sub

Saludos…

Como cocinar Salchichas Guisadas (receta panameña)

Ok, vamos a variar un poco los temas del blog haciendo honor al “slogan” “de todo un poco”.
Si eres hombre y no sabes cocinar (ese es mi caso) aquí te dejo una receta fácil para salir de un apuro de fin de semana y rinde para unas 6 personas.

Los ingredientes son (se que no vas a anotar):

  • 1/2 cebolla
  • 1 Ají verde (el que no pica)
  • 6 tomates pequeños (no los grandototes de ensalada y emparedados)
  • 3 ajos (no la cabeza entera, los pedacitos chicos)
  • 1 cucharadita de aceite de oliva (o cualquier aceite. Oliva si quieres cuidar la salud)
  • 16 salchichas
  • 3 papas medianas
  • 1/2 cucharadita de sal

-Primero pica la cebolla, el aji, los tomates como mejor te paresca (pedazos grandes, chicos, medios a tu gusto)

-Despues raya los ajos (quitale la cascara que parece papel y se te pega en los dedos)

Cuando tengas esto hecho debes tener algo parecido a esto en un plato. Seguidamente pon una olla en la estufa a fuego lento, agrega el aceite y todo lo que picaste y revuelvelo hasta que se dore. Como es de suponer (me pasá a mi) siempre se te olvida picar en trozos pequeños la salchicha y la papa, pero no te preocupes como lo tenemos a fuego lento te dará chance de hacerlo.

Una vez esté todo dorado agrega agua y la papa picada dejalo cocinar hasta que la papa esté sueve (para saber la sacas y la muerdes, acuerdate de soplarla antes).

Cuando esté sueve agrega la sal revuelve y seguidamente las salchichas, esperas unos 5 minutos y listo.

A servir…

como leer un archivo de texto (txt) en vb.net

Nos hemos topado muchas veces con la necesidad de leer un archivo de texto (txt) por lo que resumo rápidamente como hacerlo linea por linea.

Dim freader As New StreamReader(“ruta del archivo a leer”)
Dim contenido As String
Dim lineas As New ArrayList()
Do
contenido = freader.ReadLine()
If Not contenido Is Nothing Then
‘si quiero leer solo las líneas que no estén en blanco incluyo esta condicion
If contenido.Length <> 0 Then
lineas.Add(contenido)
End If
End If
Loop Until contenido Is Nothing
freader.Close()

Recuerden que deben incluir al inicio

Imports System.IO

Cómo pasar una tabla html (table) a datatable

He creado un dll que permite pasar una tabla <table> a datatable en .NET para facilitar la extracción de información ya sea de un website o bien de un archivo html.

Lo pueden obtener visitando l3panama. O envie un email aqui

Espero les sea de utilidad.

Cómo llenar un datatable sin usar un datasource (dinámico) vb.net

En muchas ocasiones tengo que llenar un datatable dinámicamente por lo general obteniendo la data de información que un usuario llena o si viene de una fuente que no puede ser transformada a datatable.

Esta es la solución:

Dim dt As New DataTable
dt.Columns.Add(“cuenta”)
dt.Columns.Add(“nombre_cuenta”)
dt.Columns.Add(“nombre”)
dt.Columns.Add(“apellido”)
dt.Columns.Add(“celular”)

Dim dr As DataRow = dt.NewRow
dr(“cuenta”) = “12345″
dr(“nombre_cuenta”) = “Juan Perez”
dr(“nombre”) = “Juan”
dr(“apellido”) = “Perez”
dr(“celular”) = “507.60000000″

dt.Rows.Add(dr)
dt.AcceptChanges()

Como enviar un SMS desde Easy SMPP con Vb.Net (ejemplo)

He desarrollado una aplicación para envio de anuncios a través de SMS por lo que descargue easysmpp para efectuar esta labor.

Depués de un rato no pude encontrar un ejemplo del código al final pude armar la estructura y enviar el SMS.

Se debe primero registrar las tres librerías dll que vienen en el folder “tester”.

Seguidamente configurar en el page load la información del servidor de envio

Dim smppobj As New EasySMPP.SMSC
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
smppobj.SystemId = “ID”
smppobj.Password = “password”
smppobj.Port = “puerto”
smppobj.Host = “IP”
smppobj.Description = “TEST”
smppobj.SystemType = “test”
smppobj.AddrNpi = “0″
smppobj.AddrTon = “0″

End Sub

Para el envio del mensaje en podemos hacer un pequeño form que tenga un textbox y un botón de envio por lo que quedaría así:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
smppsend.AddSMSC(smppobj)
smppsend.Connect()
smppsend.SendSms(“50760060461″, “50760060461″, i_texto.Text)
smppsend.Disconnect()
End Sub

Espero le sea de utiliadad.

Cómo mostrar una imagen (gif) de procesando en asp.net

Realicé una aplicación que dependiendo del número de registros que debía procesar tomaba cierto tiempo en dar respuesta por lo que los usuarios se desesperaban.
La solución fue agregar una imagen (gif) de procesando mientras esto ocurria.
Para esto debemos colocar lo siguiente en el código aspx:

<span id=’procesando_div’ style=’display: none; position:absolute; text-align:center’>
<img src=” id=’procesando_gif’ align=’center’ />
</span>

Luego en el botón o link que activa el procedimiento que causa la demora agregamos:

<asp:Button ID=”btn_salvar” runat=”server” CssClass=”recuadro” Text=”Salvar” OnClientClick=”mostrar_procesar();” />

En el HEAD debemos agregar la función javascript que muestra la imagen de procesando:

<script type=’text/javascript’ language=’javascript’>
function mostrar_procesar()
{
document.getElementById(‘procesando_div’).style.display =”";
setTimeout(‘document.images["procesando_gif"].src=”images/ajax-loader.gif”‘, 200);
}
</script>

Si no poseen de un Gif animado que muestre “procesando” pueden generar uno en esta dirección ajax-loader

Cómo especificar MaxLength en MultiLine en asp.NET

Como muchos ya abran notado el atributo MaxLength no funciona en textbox que esten en modo MultiLine.
Para solucionar este inconveniente debemos agregar un javascript que controle automáticamente el largo del elemento.

En el textbox agregamos:

<asp:TextBox ID=”i_texto” runat=”server” Width=”600px” MaxLength=”160″
TextMode=”MultiLine”  onKeyUp=”maximo_largo()”></asp:TextBox>

Luego en el HEAD creamos la función javascript “maximo_largo

<script type=’text/javascript’ language=’javascript’>
function maximo_largo()
{
var texto;
texto = document.getElementById(‘ctl00_ContentPlaceHolder1_i_texto’).value;
if(texto.length>160)
{
document.getElementById(‘ctl00_ContentPlaceHolder1_i_texto’).value = texto.substring(0,160);
}

</script>

El largo lo especificamos cambiando el valor en el if(texto.length) > “valor máximo deseado”

Como usar topmargin y leftmargin en Firefox

Como habrán notado los atributos topmargin y leftmargin aplicados en la etiqueta no funcionan en Firefox ya que los mismos son nativos de IE.

La solución es muy sencilla para un topmargin=0 y leftmargin=3
Solución 1-En la etiqueta <body> agregas

style=”margin: 0px 0px 3px;”

Solución 2-Dentro de <HEAD> agregas

<style>
body {margin: 0px 0px; 3px;}
</style>

Cómo detectar y diferenciar un blackberry browser en asp.net

Al crear una aplicación en un intranet me topé con la necesidad de crear una versión de la intranet para ser accedidad por blackberry.

Después de investigar un poco me topé con esta solución:
En el evento load identifico el browser con:

If Request.UserAgent.Contains(“BlackBerry”) Then
Response.Redirect(“bb_site.aspx”)
Else
Response.Redirect(“site.aspx”)
End If

Espero le sea de utilidad.