Como obtener la IP, direccion MAC y nombre del equipo en VB.NET

Hace tiempo no escribia, aveces por falta de tiempo y otras porque simplemente me daba un poco de lata :P pero bueno vamos a lo interesante.

Para saber el nombre de tu equipo puedes hacerlo llamando a My.Computer.Name.ToString

por ejemplo si quieres mostrarlo en un label quedaria algo como

VB.NET:
  1. label1.Text = My.Computer.Name.ToString

para mostrar tu IP seria algo como

VB.NET:
  1. Dim ip As System.Net.IPHostEntry
  2.         ip = System.Net.Dns.GetHostEntry(My.Computer.Name)
  3.         Label1.Text = ip.AddressList(0).ToString

y para mostrar la MAC vamos a crear una funcion que se va a llamar ObtenerMac():

VB.NET:
  1. Public Function ObtenerMac() As String
  2.  
  3.         Dim str As String
  4.  
  5.         Dim p As New Process
  6.  
  7.  
  8.  
  9.         p.StartInfo.UseShellExecute = False
  10.  
  11.         p.StartInfo.RedirectStandardOutput = True
  12.  
  13.         p.StartInfo.FileName = "GetMac.exe"
  14.  
  15.         p.StartInfo.Arguments = "/fo list"
  16.  
  17.         p.Start()
  18.  
  19.         'StandardOutput Obtiene una secuencia que se utiliza
  20.  
  21.         str = p.StandardOutput.ReadLine
  22.  
  23.         str = p.StandardOutput.ReadLine
  24.  
  25.         p.WaitForExit()
  26.  
  27.         Return str.Substring(23)
  28.  
  29.     End Function

ahora solo lo llamamos en el Evento Load de nuestro form, y para mostrarlo en un label podria ser

VB.NET:
  1. label1.text = ObtenerMac().toString

saludos

Leer mas... July 27, 2010   Posteado en: Programacion

E-Mails desde ASP.NET/VB.NET

Bueno hace bastante tiempo ya que no escribo por estos lados, la razon?? he estado ocupado ultimamente en el proyecto de titulo, el cual ya esta ok, pero justamente por esto es que me he decidido a escribir hoy, una forma que puede servir mucho al momento de programar aplicaciones donde necesitamos interactuar via mail con el cliente.

De esta forma vamos a ver como podemos enviar correos usando el protocolo SMTP desde ASP.NET.

correo.vb

VB.NET:
  1. Imports Microsoft.VisualBasic
  2. Imports System.Web.Mail
  3. Imports System.Net.Mail
  4.  
  5. Public Class correo
  6.  
  7.  
  8.     Sub enviar_nueva_reserva(ByVal mail As String, ByVal rut_paciente As String, ByVal nombres_paciente As String, ByVal dia As String, ByVal hora As String, ByVal medico As String, ByVal especialidad As String, ByVal tipo_reserva As String, ByVal tipo_pago As String)
  9.         Dim correo As New System.Net.Mail.MailMessage
  10. 'Aqui seleccionamos desde que correo enviaremos el mensaje
  11.         correo.From = New System.Net.Mail.MailAddress("sadr.bioarrayanes@gmail.com")
  12. 'hacia que mail sera enviado
  13.         correo.To.Add(mail)
  14. 'titulo del correo
  15.         correo.Subject = "Confirmacion de Reserva Clinica Bioarrayanes"
  16. 'cuerpo del mensaje
  17.         correo.Body = "Estimado Sr./Sra.   <b> " + nombres_paciente + ": </b> <br><br><br> " _
  18.         + "Se ha realizado con exito su reserva para el dia : <b> " + dia _
  19.          + "</b>  a las <b> " + hora + " horas. </b> <br> La cual sera atendida por el <b> Dr. " + medico + " - " + especialidad + "" _
  20.          + "</b><br><br><br> " _
  21.          + "<b> Datos de Reserva :  <br><br> " _
  22.          + "Nombre Paciente : </b>" + nombres_paciente + _
  23.          "<br><b>Nombre Profesional : </b>" + medico _
  24.          + "<br><b> Especialidad : </b>" + especialidad _
  25.          + "<br><b>Fecha Reserva : </b>" + dia _
  26.          + "<br><b> Hora : </b>" + hora _
  27.          + "<br><br><b> Tipo de Consulta : </b>" + tipo_reserva _
  28.          + "<br><b>Tipo de Pago : </b>" + tipo_pago _
  29.          + "<br><hr><br><i> Centro de Estudios Médicos. Enfermedades Gastroenterológicas<br> Fono: 56-41-2790857 - Caupolican 321, Local 6.<br> http://www.bioarrayanes.cl/ </i> "
  30.  
  31.  
  32.  
  33. 'si utilizara html en el cuerpo del mensaje
  34.         correo.IsBodyHtml = True
  35.  
  36. 'la prioridad del correo, la cual puede ser normal, bajo o alto
  37.         correo.Priority = System.Net.Mail.MailPriority.Normal
  38.  
  39.  
  40.         Dim smtp As New System.Net.Mail.SmtpClient
  41. 'habilitamos SSL
  42.         smtp.EnableSsl = True
  43. 'el puerto que utiliza smtp, google utiliza el 587
  44.         smtp.Port = 587
  45.         smtp.UseDefaultCredentials = False
  46.         smtp.DeliveryMethod = SmtpDeliveryMethod.Network
  47. 'escribimos el host del servidor smtp.
  48.         smtp.Host = "smtp.gmail.com"
  49. 'ponemos los datos del mail que utilizaremos para enviar los mensajes
  50.         smtp.Credentials = New System.Net.NetworkCredential("sadr.bioarrayanes@gmail.com", "CLAVE_CORREO")
  51.  
  52.  
  53.         Try
  54.             smtp.Send(correo)
  55.             '      MsgBox("Mensaje enviado satisfactoriamente")
  56.         Catch ex As Exception
  57.             MsgBox("ERROR: " & ex.Message)
  58.         End Try
  59.     End Sub
  60. End Class

Bueno, yo utilice el ejemplo del sw que he estado desarrollando en proyecto de titulo, en el cual la funcion se le pasan parametros tales como mail, rut paciente, rut medico, fecha, etc. lo cual es absolutamente opcional, y pueden cambiarlos adecuandolo al cuerpo del correo que ustedes vayan a desarrollar.

Utilizando la clase correo.vb

VB.NET:
  1. dim cor as correo = new correo()
  2.  
  3. cor.enviar_nueva_reserva(label1.text ,label2.text, label3.text, label5.text, label6.text, label7.text,label8.text,label9.text,label10.text)

de esta forma capturamos los datos de "label's" y llamamos a la funcion, esto es completamente opcional y se puede utilizar de muchas formas donde se le puede sacar un provecho mayor, como por ejemplo capturando los datos de una base de datos con un datatable, usar la consulta WHERE para capturar un correo especifico, etc.

bueno si todo resulta bien el mensaje que deveriamos recibir seria algo como esto:

saludos

Leer mas... May 20, 2010   Posteado en: Programacion

R-Project – Funciones de utilidad



R-Project es un lenguaje y entorno de programacion muy usado por estadisticos, matematicos, ingenieros, etc. Ademas de ser un software completamente libre posee muchas caracteristicas envidiables para otros entornos de desarrollo que no son gratuitos, algunas de sus principales caracteristicas son:

-Integracion con Bases de Datos
-Increible capacidad para graficar
-Integracion con lenguajes como Python y Perl (Librerias)
-etc.


Pueden descargarlo AQUI:

-------------------------------------------
Algunas funciones utiles.
-----------------------
getwd() #Ver directorio de trabajo
setwd("c:/data1") # cambiar el directorio de trabajo
search() # Ver librerias cargadas
library() #ver librerias disponibles
ls() #lista todo
objects() # lista los objetos
data() #muestra todas las bases de datos cargas en R
rm(list=ls(all=TRUE)) #borra todo
x<-1 #declara el entero 1 similarmente se puede #x=1
print(x) #desplegar el valor del objeto x
x=1;#no desplega el valor de x
rm(x) #borra el objeto x
x<-1:3 #genera un vector del 1 al 3
save(x,file="x.RData") #guardar un objeto(vector) .RData
rm(x)# borra x
load("x.RData")# carga nuevamente el objeto x

Aqui les dejo 3 funciones que pueden ser de utilidad:

Sumatoria de numeros negativos en un Vector

C:
  1. sumarNegativos <- function(Objeto)
  2. {
  3. suma = 0
  4. for (elem in Objeto)
  5.  {
  6. if (elem <0)
  7.     {
  8. suma = suma + elem
  9.     }
  10.   }
  11. suma
  12. }
  13.  
  14. Objeto<-c(-40,-500,3)
  15. sumarNegativos(Objeto)

Multiplicacion de numeros positivos en un Vector

C:
  1. multposit = function(Objeto)
  2. {mul = 1
  3.   for (elem in Objeto) /* Iteramos sobre toda la coleccion */
  4.   {if (elem> 0){
  5.       mul = mul * elem
  6.     }
  7.   }
  8. mul
  9. }
  10. Objeto<-c(-40,-500,3,5)
  11. multposit(Objeto)

Utilizando la funcion sum() para contar

C:
  1. x <- c(-30, 50, 20, 0, -20)                                         
  2. sum(x> 0)

Saludos

Leer mas... March 22, 2010   Posteado en: Programacion

Algoritmo de Multiplicacion de Numeros

Bueno hoy he estado bastante ocioso :P asi que me puse a programar un pequeno modulo que consiste en la multiplicacion de numeros secuenciales, por ejemplo si ingresas 123456789
el modulo te multiplicara
1*2=2
2*3=6
6*4=24
etc..

es un modulo bastante sencillo, pero se puede utilizar para cosas mas complejas aun, les dejo el codigo:

VB.NET:
  1. Module Module1
  2.  
  3.     Sub Main()
  4.  
  5.  
  6.  
  7.  
  8.         Dim suma As Double = 1
  9.         Dim a As Double = 0
  10.         Console.WriteLine("Ingrese el numero")
  11.         Dim i As Integer = 0
  12.         Dim num As String = Console.ReadLine()
  13.  
  14.         Console.WriteLine("")
  15.         If num.Length> 0 Then
  16.  
  17.  
  18.             For i = 0 To num.Length - 1
  19.  
  20.                 suma = suma * Double.Parse(num(i))
  21.  
  22.                 If i <num.Length - 1 And a = 0 Then
  23.  
  24.  
  25.  
  26.  
  27.                     Console.WriteLine("Numero : " & num(i) & "*" & num(i + 1) & "=" & _
  28. Double.Parse(num(i)) * Double.Parse(num(i + 1)))
  29.  
  30.                     a = Double.Parse(num(i)) * Double.Parse(num(i + 1))
  31.  
  32.  
  33.                 ElseIf i <num.Length - 1 And a> 0 Then
  34.  
  35.  
  36.                     Console.WriteLine("Numero : " & a & "*" & num(i + 1) & "=" & _
  37. a * Double.Parse(num(i + 1)))
  38.  
  39.                     a *= Double.Parse(num(i + 1))
  40.  
  41.                 End If
  42.  
  43.  
  44.             Next
  45.             Console.WriteLine()
  46.             Console.WriteLine("Resultado Total : " & suma)
  47.         Else
  48.             Console.WriteLine("Error")
  49.         End If
  50.  
  51.         Console.ReadKey()
  52.  
  53.     End Sub
  54.  
  55. End Module



saludos


Leer mas... October 25, 2009   Posteado en: Programacion