Archive for August, 2010

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.

Al desarrollar un robot que rastrea un sitio web y extra la información para luego ingresarla en una base de datos, me tope con la necesidad de tener un monitor que me permitiera verificar que el servicio esté funcionando o trabajando.
Para verificarlo uso la siguiente función:

Function verificarservicio(ByVal servicionombre As String) As Boolean

Dim miSC As ServiceProcess.ServiceController
miSC = New ServiceProcess.ServiceController(servicionombre)
If miSC.Status = ServiceProcess.ServiceControllerStatus.Stopped Then
‘ no trabaja
Return False
ElseIf miSC.Status = ServiceProcess.ServiceControllerStatus.Running Then
‘ funcionando correctamente
Return True
End If
End Function