martes, 25 de septiembre de 2012

Función para Verificar si una pagina Web esta en Linea

Buen día aquí de nuevo les traigo una función para verificar que una pagina web este online:

Se hará uso de la clase : httpWebRequest del espacio de nombre system.net

Referencia:     http://msdn.microsoft.com/es-es/library/btdf6a7e.aspx

Les pego la función completa documentada para su fácil compresión.
''' <summary> ''' Funcion que checa el estado de una Pagina Web ''' </summary> ''' <param name="rtaSw">Ruta de la Pagina</param> ''' <returns>variable que determina si la web respondio</returns> ''' <remarks></remarks> Private Function verificarPagina(ByVal rtaSw As String) As Boolean Dim activa As Boolean = False Try Dim hRequest As HttpWebRequest = TryCast(WebRequest.Create(rtaSw), HttpWebRequest) 'Creamos la solicitud de la URL Dim lector As New StreamReader(hRequest.GetResponse().GetResponseStream()) 'Obtener la respuesta y abrimos el stream de despuesta Dim respuesta As String = lector.ReadToEnd() 'Se lee la respuesta activa = True 'Servicio Activo lector.Close() 'Cerrar el stream abierto. Catch ex As Exception activa = False End Try Return activa End Function

Cualquier pregunta hacerla por este medio.

Saludos.

lunes, 17 de septiembre de 2012

Como Enviar variables Por Post

Problema: Enviar Variables por Post

En algunas ocasiones al trabajar en ambientes web se requiere pasar información de una pagina a otra, existen varias forma de hacer esto, hoy les voy a mostrar una función para hacerlo por el método post.

La clase viene documentada para que entiendan como funciona la lógica.

''' <summary> ''' Proporciona los metodos necesarios para enviar POST ''' </summary> ''' <remarks></remarks> Public Class ClsEnviarPost Private _Inputs As New System.Collections.Specialized.NameValueCollection() Private _Url As String = "" Private _Method As String = "post" Private _FormName As String = "form1" ''' <summary> ''' Devuelve o setea la url en la cual queremos recoger las variables ''' </summary> Public Property Url() As String Get Return _Url End Get Set(ByVal value As String) _Url = value End Set End Property ''' <summary> ''' Agrega inputs hidden al formulario ''' </summary> ''' <param name="name"></param> ''' <param name="value"></param> Public Sub Add(ByVal name As String, ByVal value As String) _Inputs.Add(name, value) End Sub ''' <summary> ''' Envia las variables por metodo POST ''' </summary> ''' <remarks></remarks> Public Sub Post() System.Web.HttpContext.Current.Response.Clear() System.Web.HttpContext.Current.Response.Write("") System.Web.HttpContext.Current.Response.Write([String].Format("<html><head></head><body onload=""document.{0}.submit()"">", _FormName)) System.Web.HttpContext.Current.Response.Write([String].Format("<center><form name=""{0}"" method=""{1}"" action=""{2}"" >", _FormName, _Method, Url)) For i As Integer = 0 To _Inputs.Keys.Count - 1 System.Web.HttpContext.Current.Response.Write([String].Format("<input name=""{0}"" type=""hidden"" value=""{1}"">", _Inputs.Keys(i), _Inputs(_Inputs.Keys(i)))) Next System.Web.HttpContext.Current.Response.Write("</form></center></body></html>") End Sub

Modo de uso:

      'Instan ciamos la clase del post
Dim post As New ClsEnviarPost  
'Url a donde nos llegara el post post.Url = "Recibo_JMASJuarez.aspx" 
'Agregamos items nombre-valor post.Add("autorizacion", Request.Form("AuthCode")) post.Add("total", Session("Total")) post.Add("numeroTarjeta", Request.Form("CardNumber"))
'Ejecutamos el post post.Post()

Sencillo así mandamos por post variables a otra pagina de nuestra aplicación.

Saludos y cualquier duda por aquí andamos !!!

domingo, 16 de septiembre de 2012

Presentacion y Como Cargar una Hoja de Excel en una Tabla

Buenas noches esta vez he decidido crear un blog de programación en VB.Net para exponer codigo aplicable a winform y a webform, espero que sirva de ayuda para personas que anden buscando funciones o formas de hacer diversas cosas, aquí publicare código que he desarrollado así como código que vaya saliendo con el trajinar del trabajo...

en esta primera ocasión les voy a poner como cargar en una tabla una hoja de excel:

Problema: Cargar en una datatable una hoja de excel.

Requerimientos:


  1.  Dos datatable(uno para llenar con las hojas del documento y otro para devolver como resultado de la funcion).
  2.  Un comando de ole para realizar operaciones con documentos de office.
  3. Una variable de tipo string que tendra la cadena de conexión con excel.
  4. Un Adaptador de oledb para poblar la tabla a devolver.
  5. Un Objeto conexión de tipo oledb para conectar con el documento.
Estas son los requerimientos que se necesitan para realizar la función requerida, ahora si a la función, esta función recibirá un parámetro, que sera la ruta del archivo excel.

A continuación les muestro la función no comente nada por que la lógica es sencilla pero si alguien tiene alguna duda me pueden dejar un mensaje por este medio.

Private Function cargarExcel(ByVal ruta As String) As DataTable Dim dt As New DataTable Dim dtExcel As New DataTable Dim cmdExcel As New OleDbCommand Try Dim conn As String = "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & ruta & ";Extended Properties=""Excel 12.0;HDR=YES""" Using olConexion As OleDbConnection = New OleDbConnection(conn) olConexion.Open() Dim oda As New OleDbDataAdapter dt = olConexion.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, New Object() {Nothing, Nothing, Nothing, "TABLE"}) Dim nombreHoja As String = dt.Rows(0)("TABLE_NAME").ToString() cmdExcel.Connection = olConexion cmdExcel.CommandText = "SELECT * FROM [" & nombreHoja & "]" oda.SelectCommand = cmdExcel oda.Fill(dtExcel) End Using Catch ex As Exception MsgBox(ex.Message) End Try Return dtExcel End Function


Saludos y así como esta función iré publicando según me sea posible.

Ojo esta funcion carga solamente la primera hoja, en el segundo aporte pondré como cargar varias hojas o un nombre determinado por el usuario.

Hasta pronto