elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


  Mostrar Mensajes
Páginas: 1 ... 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 [38] 39 40 41 42 43 44 45 46 47 48 49 50
371  Programación / .NET (C#, VB.NET, ASP) / Re: Calcular dias entre Fecha A y Fecha B en: 22 Julio 2010, 01:15 am
Estamos haciendo un Messenger :xD así se puede en una linea:

Código
  1.        Dim fechaInicial As New DateTime(2009, 3, 2, 6, 20, 30)
  2.        Dim fechafinal As New DateTime(2010, 6, 2, 6, 20, 30)
  3.  
  4.        Dim vDiferencia As New TimeSpan(fechafinal.Ticks - fechaInicial.Ticks)
  5.  
  6.        MessageBox.Show(vDiferencia.TotalDays)
372  Programación / .NET (C#, VB.NET, ASP) / Re: Calcular dias entre Fecha A y Fecha B en: 22 Julio 2010, 01:10 am
El .Net hace transformaciones de tipos automaticamente e inicializa los objetos automaticamente tambien .Net es un lenguaje simple, comodo y muy visual lo que le falta es potencia :-\
373  Programación / .NET (C#, VB.NET, ASP) / Re: Calcular dias entre Fecha A y Fecha B en: 22 Julio 2010, 00:56 am
Tanto el ejemplo mio como el de D4N93R funcionan perfectamente en .Net y en C#
374  Programación / .NET (C#, VB.NET, ASP) / Re: Calcular dias entre Fecha A y Fecha B en: 22 Julio 2010, 00:42 am
Date1.Subtract(Date2).TotalDays

Así de simple :P

Tambien en vez de TotalDays puedes usar segundos, minutos, etc.
375  Programación / .NET (C#, VB.NET, ASP) / Re: SmartDll.dll en: 21 Julio 2010, 20:07 pm
Si ya te entiendo tambien pense en eso pero me dio flogera xD obviamente se necesita que el plugin pueda tener acceso al programa que lo cargo, bueno seguiré trabajando y cualquier avance lo comunico, Gracias por tu respuesta ;)
376  Programación / .NET (C#, VB.NET, ASP) / SmartDll.dll en: 21 Julio 2010, 19:19 pm
Buenas tardes/días/noches a todos xD me ha llamado mucho la atención lo de los plugings y addons que se puede hacer con System.Reflection en .Net así que he me puse a hacer una dll SmartDll.dll que sirviera para facilitar la comunicación entre el programa y los plugins de una manera más comoda, entonces vengo aqui a pedir consejos y opiniones mientras voy desarrollando el proyecto de tal manera que quede lo mejor posible, aqui está el source:

Para que no tengan que leerselo y analizarlo basicamente crea un objeto apartir de la dll a cargar comprobando que dentro de ella exista la clase Plugin
dentro de esta clase debe ir todo el contenido y además debe ser la clase principal y tambien el nombre de raiz y el del ensamblado del plugins deben ser los mismos, luego tenemos 2 funciones una que devuelve todos los controles dentro del plugin y otra que te devuelve solo los de un tipo en especifico por ejemplo solo los TextBox

Código
  1. Public Class Dll
  2.  
  3. #Region " Private "
  4.  
  5.    Private _
  6.    _DllInfo As FileInfo, _
  7.    _EntryPoint As String, _
  8.    _Assembly As Assembly, _
  9.    _ObjectType As Type, _
  10.    _ObjectInstance As Object
  11.  
  12. #End Region
  13.  
  14. #Region " Private Shared "
  15.  
  16.  
  17.  
  18. #End Region
  19.  
  20. #Region " Public "
  21.  
  22.    Public Sub New(ByVal Path As String)
  23.        Try
  24.            If IsSmartDll(Path) Then
  25.                _DllInfo = New FileInfo(Path)
  26.                _EntryPoint = New FileInfo(Path).Name.Split(CChar("."))(0) & "."
  27.                _Assembly = Assembly.LoadFile(Path)
  28.                _ObjectType = _Assembly.GetType(_EntryPoint & "Plugin")
  29.                _ObjectInstance = _Assembly.CreateInstance(_EntryPoint & "Plugin")
  30.            Else
  31.                Throw New Exception(Path & " not belongs to SmartDll")
  32.            End If
  33.        Catch ex As Exception
  34.            Throw New Exception(ex.Message, ex.InnerException)
  35.        End Try
  36.    End Sub
  37.  
  38.    Public ReadOnly Property FileInfo() As [FileInfo]
  39.        Get
  40.            Return _DllInfo
  41.        End Get
  42.    End Property
  43.  
  44.    Public Function GetControlsByType(ByVal FindType As Type) As List(Of Control)
  45.        GetControlsByType = New List(Of Control)
  46.  
  47.        For Each Objeto As PropertyInfo In _ObjectType.GetProperties
  48.  
  49.            Try
  50.  
  51.                If Objeto.PropertyType.Name = FindType.Name Then
  52.                    GetControlsByType.Add(CType(Objeto.GetValue(_ObjectInstance, New Object() {}), Control))
  53.                Else
  54.                    Continue For
  55.                End If
  56.  
  57.            Catch
  58.                Continue For
  59.            End Try
  60.  
  61.        Next
  62.  
  63.    End Function
  64.  
  65.    Public Function GetControls() As List(Of Control)
  66.        GetControls = New List(Of Control)
  67.  
  68.        For Each Objeto As PropertyInfo In _ObjectType.GetProperties
  69.  
  70.            Try
  71.                GetControls.Add(CType(Objeto.GetValue(_ObjectInstance, New Object() {}), Control))
  72.            Catch
  73.                Continue For
  74.            End Try
  75.  
  76.        Next
  77.  
  78.    End Function
  79.  
  80. #End Region
  81.  
  82. #Region " Public Shared "
  83.  
  84.    Public Shared Function IsSmartDll(ByVal Path) As Boolean
  85.        Try
  86.            Dim Dll As Assembly = Assembly.LoadFile(Path)
  87.  
  88.            Return Dll.GetType(New FileInfo(Path).Name.Split(CChar("."))(0) & ".Plugin") IsNot Nothing
  89.  
  90.        Catch
  91.            Return False
  92.        End Try
  93.    End Function
  94.  
  95. #End Region
  96.  
  97. End Class

Pueden decir que creen ustedes que hace falta, dudas, criticas o correcciones de errorres o recomendaciones de mejores practicas ;D

Notas:
  • Para que serviria llamar Subs y Funciones de un plugin?
377  Programación / .NET (C#, VB.NET, ASP) / Re: como puedo ponerle licencia o contraseña a mi programa en vb 2008 en: 21 Julio 2010, 15:00 pm
Está fue una clase hecha por mí para hacer versiones de prueba con solo editar algunos valores y modificar los detalles a tu gusto estarías bien a mi me parece super comoda xD aqui está el fuente:

:http://www.speedyshare.com/files/23462745/Trialer.rar

Bueno trabaja con el registro de windows guardando datos cifrados como fecha de inicio, días que dura la prueba, fecha final, esta registrado? y cosas por el estilo yo la única recomendación que te hago es que le agreges AccesControl Deny a la llave del registro cuando la dejes de usar para así protegerla.

Este es más o menos un ejemplo de su uso en Form_Load:

Código
  1.        Try
  2.  
  3.            ''///INICIALIZAMOS LA VERSION TRIAL CON ID 1555\\\''
  4.           Dim mTrial As Trial = New Trial(1555, 5, Now)
  5.  
  6.            If Not mTrial.IsStarted Then
  7.                mTrial.StartTrial()
  8.            Else
  9.                mTrial = Trial.FromId(1555)
  10.            End If
  11.  
  12.                If mTrial.IsEnded Then
  13.                Messagebox.Show("Se acabo la versión de Prueba!!!")
  14.                    End
  15.                End If
  16.  
  17.            If Not mTrial.IsRegistered Then
  18.                Messagebox.Show("Recuerde que no está registrado le quedan " & mTrial.AvailableDays.ToString & " días")
  19.            End If
  20.  
  21.        Catch ex As Exception
  22.  
  23.            If ex.Message.Contains("fecha") Then
  24.                MessageBox.Show("La fecha del sistema no es correcta, por favor verifiquela.", "Hora/Fecha Incorrecta (Error #001)", MessageBoxButtons.OK, MessageBoxIcon.Error)
  25.                End
  26.            End If
  27.  
  28.            MessageBox.Show("Imposible leer Licencia, información corrupta o incorrecta." & vbNewLine & ex.Message, "Licencia Inválida (Error #002)", MessageBoxButtons.OK, MessageBoxIcon.Error)
  29.            End
  30.        End Try

Bueno revisa tu la clase para que veas como funciona xD tambien te recomiendo un servidor ftp, o una base de datos que guarde las versiones de prueba otorgadas a tal forma que despues de acaba no se puede "reiniciar" otra version de prueba.
378  Programación / .NET (C#, VB.NET, ASP) / Re: Si el texto es 141 o mayor... en: 19 Julio 2010, 03:59 am
Olvidate de los Timers tienes el evento TextChanged es mucho mejor, recuerda la propiedad TextLength de los TextBox es lo mismo que usar Len(TextBox.Text) pero es la forma más correcta.
379  Programación / .NET (C#, VB.NET, ASP) / Re: Problema con Back Color/Ground en: 17 Julio 2010, 03:33 am
Me explicare mejor con nombres pero ya lo solucione.

Tenía un Form1 al que le coloque Form1.BackColor = White y BackGroundImage una imagen cualquiera que no ocupaba todo el Form, en tiempo de diseño se veia la Imagen del BackGroundImagen y la parte que no cubria en color White como se debería ver pero al compilar, la imagen en BackGroundImagen no se veía sino solamente el BackColor.
380  Programación / .NET (C#, VB.NET, ASP) / Re: Problema con Back Color/Ground en: 16 Julio 2010, 20:24 pm
Cree un nuevo proyecto y pasee todos los controles y todo las configuraciones al nuevo y se soluciono, ya BackGroundImage se ve por encíma de BackColor pero igualmente aquí queda entonces un error del Visual Basic ya que no tiene otra explicación...
Páginas: 1 ... 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 [38] 39 40 41 42 43 44 45 46 47 48 49 50
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines