Tag: VB.Net
No se puede cargar el ensamblado “System.EnterpriseServices.Wrapper.dll”
by P-los on Jun.28, 2010, under Soluciones
Recientemente en una aplicación que desarrollé, saltó un error que decía:
No se puede cargar el archivo o ensamblado ‘System.EnterpriseServices.Wrapper.dll’ ni una de sus dependencias. El sistema no puede hallar el archivo especificado
Aun no identifico cual fue la causa del problema, pero he aquí la solución:
Hay que ir a la carpeta:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
Buscar todos los archivos que inicien con System.EnterpriseServices
Y copiar estos archivos a la carpeta:
C:\WINDOWS\WinSxS\x86_System.EnterpriseServices_b03f5f7f11d50a3a_2.0.0.0_x-ww_7d5f3790
Una vez que hayamos copiado estos archivos, el error se habrá solucionado.
La aplicación en la que me ocurrió este error está hecha en Visual Basic .net, utilizando el Framework de .NET 2.0 y conectandose a una base de datos hecha en Access.
[VB.Net] Exportar DataSet a Excel
by P-los on Aug.30, 2009, under Funciones
Recientemente me solicitaron para un proyecto que los reportes se mandaran directamente a Excel. He aquí una pequeña función capaz de exportar cualquier DataSet a un archivo de Excel:
Public Sub ExportarArchivo(ByVal archivo As String, ByVal datos As DataSet)
Dim xl As New Microsoft.Office.Interop.Excel.ApplicationClass
Dim wBook As Microsoft.Office.Interop.Excel.Workbook
Dim wSheet As Microsoft.Office.Interop.Excel.Worksheet
wBook = xl.Workbooks.Add
wSheet = wBook.ActiveSheet
Dim colIndex As Integer = 0
Dim rowIndex As Integer = 0
For Each dc As System.Data.DataColumn In datos.Tables(0).Columns
colIndex = colIndex + 1
xl.Cells(1, colIndex) = dc.ColumnName
Next
For Each dr In datos.Tables(0).Rows
rowIndex = rowIndex + 1
colIndex = 0
For Each dc In datos.Tables(0).Columns
colIndex = colIndex + 1
xl.Cells(rowIndex + 1, colIndex) = dr(dc.ColumnName)
Next
Next
wSheet.Columns.AutoFit()
Dim blnFileOpen As Boolean = False
Try
Dim fileTemp As System.IO.FileStream = System.IO.File.OpenWrite(archivo)
fileTemp.Close()
Catch ex As Exception
blnFileOpen = False
End Try
If System.IO.File.Exists(archivo) Then
System.IO.File.Delete(archivo)
End If
wBook.SaveAs(archivo)
xl.Workbooks.Open(archivo)
xl.Visible = True
End Sub
Para que no cause errores, hay que agregar como referencia la siguiente:
Microsoft.Office.Interop.Excel
Espero les sea tan util como a mi!
[VB.Net] Obtener una imagen desde Web
by P-los on May.16, 2009, under Funciones, Web
Ahorita solo por gusto estoy haciendo un scrren saver que obtiene imagenes desde Internet. Para ello, modifiqué un poco una función encontrada aqui para que al darle a la función la dirección URL de la imagen que deseamos, nos regrese un objeto de tipo Image para hacer con ella lo que necesitemos:
Public Function LoadWebImage(ByVal ImageURL As String) As Image
Dim objImage As IO.MemoryStream
Dim objwebClient As System.Net.WebClient
Dim sURL As String = Trim(ImageURL)
Dim img As Image = Nothing
Try
If Not sURL.ToLower().StartsWith("http://") Then sURL = "http://" & sURL
objwebClient = New Net.WebClient()
objImage = New IO.MemoryStream(objwebClient.DownloadData(sURL))
img = Image.FromStream(objImage)
Catch ex As Exception
'Cargar una imagen que indique que no se pudo leer la imagen de Internet
img = new Bitmap("noimage.jpg")
End Try
Return img
End Function
Hash MD5
by P-los on Mar.11, 2009, under Funciones
Una de los métodos para almacenar contraseñas en una base de datos se basa en la encripción utilizando el Hash MD5.
Private Function GetMD5Hash(ByVal input as String) as String
Dim x As New System.Security.Cryptography.MD5CryptoServiceProvider()
Dim bs() as Byte = System.Text.Encoding.UTF8.GetBytes(input)
bs = x.computeHash(bs)
For Each b As Byte In bs
s.Append(b.ToString(”x2″).ToLower())
Next
Dim output as String = s.ToString()
Return output
End Function
Esta utilidad también es utilizada al momento de hacer transmisiones de datos, para hacer una comparación entre el mensaje enviado y el mensaje recibido para verificar que sean exactamente iguales. Si el Hash no coincide, significa que ocurrió un error en la transmisión.