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


Tema destacado:


  Mostrar Mensajes
Páginas: 1 ... 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 [475] 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 ... 1253
4741  Programación / .NET (C#, VB.NET, ASP) / Re: Pagina que hereda clase en: 27 Septiembre 2015, 10:56 am
Explica con más detalle el tipo de modelo que pretendes diseñar.

Yo entendí, probablemente mal, que necesitas esta estructura, donde la herencia múltiple no es necesaria:

Código
  1. Public Class UserCtrl : Inherits System.Web.UI.UserControl
  2.  
  3. End Class
  4.  
  5. Public Class PaginaBase : Inherits System.Web.UI.Page
  6.  
  7.    Public Sub New()
  8.    End Sub
  9.  
  10. End Class
  11.  
  12. Public NotInheritable Class Inciso3 : Inherits PaginaBase
  13.  
  14. End Class

Muestra un ejemplo más extenso como el de arriba, ya que no queda claro donde ves necesario aplicar una herencia múltiple.



Tomando el ejemplo de arriba, si el problema es que necesitas heredar UserCtrl y PaginaBase en una misma class, entonces una alternativa sería crear una instancia de ambas classes en el constructor de otra class.

Obviamente esto no te permitiria reemplazar, añadir y/o anular miembros ya que no existe una herencia, pero tampoco se si necesitas hacer eso.

Código
  1. Public NotInheritable Class Multi
  2.  
  3.    Public ReadOnly Property UserCtrl As UserCtrl
  4.        Get
  5.            Return Me.userCtrlB
  6.        End Get
  7.    End Property
  8.    Private userCtrlB As UserCtrl
  9.  
  10.    Public ReadOnly Property PaginaBase As PaginaBase
  11.        Get
  12.            Return Me.paginaBaseB
  13.        End Get
  14.    End Property
  15.    Private paginaBaseB As PaginaBase
  16.  
  17.    Public Sub New()
  18.        Me.userCtrlB = New UserCtrl
  19.        Me.paginaBaseB = New PaginaBase
  20.    End Sub
  21.  
  22. End Class



De todas formas, una herencia múltiple la podrías simular implementando múltiples interfaces, pero esto requiere un mayor trabajo.

Sabiendo esto:
https://msdn.microsoft.com/en-us/library/system.web.ui.page%28v=vs.110%29.aspx
System.Web.UI.Page:
   Inherits   TemplateControl
   Implements IHttpHandler

https://msdn.microsoft.com/en-us/library/system.web.ui.templatecontrol%28v=vs.110%29.aspx
System.Web.UI.TemplateControl
   Inherits   Control
   Implements INamingContainer,
              IFilterResolutionService

https://msdn.microsoft.com/en-us/library/system.web.ui.control%28v=vs.110%29.aspx
System.Web.UI.Control
   Implements IComponent,
              IDisposable,
              IParserAccessor,
              IUrlResolutionService,
              IDataBindingsAccessor,
              IControlBuilderAccessor,
              IControlDesignerAccessor,
              IExpressionsAccessor


Podemos empezar por llevar a cabo algo como esto:
Código
  1. Public Class TestClass
  2.    Inherits Otraclass
  3.    Implements System.IDisposable,
  4.               System.ComponentModel.IComponent,
  5.               System.Web.IHttpHandler,
  6.               System.Web.UI.IControlBuilderAccessor,
  7.               System.Web.UI.IControlDesignerAccessor,
  8.               System.Web.UI.IDataBindingsAccessor,
  9.               System.Web.UI.IExpressionsAccessor,
  10.               System.Web.UI.IFilterResolutionService,
  11.               System.Web.UI.INamingContainer,
  12.               System.Web.UI.IParserAccessor,
  13.               System.Web.UI.IUrlResolutionService
  14.  
  15.    Public Event Disposed(sender As Object, e As EventArgs) Implements IComponent.Disposed
  16.  
  17.    Public Property Site As ISite Implements IComponent.Site
  18.  
  19.    Public ReadOnly Property DataBindings As Web.UI.DataBindingCollection Implements Web.UI.IDataBindingsAccessor.DataBindings
  20.        Get
  21.        End Get
  22.    End Property
  23.  
  24.    Public ReadOnly Property HasDataBindings As Boolean Implements Web.UI.IDataBindingsAccessor.HasDataBindings
  25.        Get
  26.        End Get
  27.    End Property
  28.  
  29.    Public ReadOnly Property ControlBuilder As Web.UI.ControlBuilder Implements Web.UI.IControlBuilderAccessor.ControlBuilder
  30.        Get
  31.        End Get
  32.    End Property
  33.  
  34.    Public ReadOnly Property UserData As IDictionary Implements Web.UI.IControlDesignerAccessor.UserData
  35.        Get
  36.        End Get
  37.    End Property
  38.  
  39.    Public ReadOnly Property Expressions As Web.UI.ExpressionBindingCollection Implements Web.UI.IExpressionsAccessor.Expressions
  40.        Get
  41.        End Get
  42.    End Property
  43.  
  44.    Public ReadOnly Property HasExpressions As Boolean Implements Web.UI.IExpressionsAccessor.HasExpressions
  45.        Get
  46.        End Get
  47.    End Property
  48.  
  49.    Public Sub New()
  50.    End Sub
  51.  
  52.    Public ReadOnly Property IsReusable As Boolean Implements Web.IHttpHandler.IsReusable
  53.        Get
  54.        End Get
  55.    End Property
  56.  
  57.    Public Sub ProcessRequest(context As Web.HttpContext) Implements Web.IHttpHandler.ProcessRequest
  58.    End Sub
  59.  
  60.    Public Function CompareFilters(filter1 As String, filter2 As String) As Integer Implements Web.UI.IFilterResolutionService.CompareFilters
  61.    End Function
  62.  
  63.    Public Function EvaluateFilter(filterName As String) As Boolean Implements Web.UI.IFilterResolutionService.EvaluateFilter
  64.    End Function
  65.  
  66.    Public Sub AddParsedSubObject(obj As Object) Implements Web.UI.IParserAccessor.AddParsedSubObject
  67.    End Sub
  68.  
  69.    Public Function ResolveClientUrl(relativeUrl As String) As String Implements Web.UI.IUrlResolutionService.ResolveClientUrl
  70.    End Function
  71.  
  72.    Public Function GetDesignModeState() As IDictionary Implements Web.UI.IControlDesignerAccessor.GetDesignModeState
  73.    End Function
  74.  
  75.    Public Sub SetDesignModeState(data As IDictionary) Implements Web.UI.IControlDesignerAccessor.SetDesignModeState
  76.    End Sub
  77.  
  78.    Public Sub SetOwnerControl(owner As Web.UI.Control) Implements Web.UI.IControlDesignerAccessor.SetOwnerControl
  79.    End Sub
  80.  
  81. #Region "IDisposable Support"
  82.    Private disposedValue As Boolean ' To detect redundant calls
  83.  
  84.    ' IDisposable
  85.    Protected Overridable Sub Dispose(disposing As Boolean)
  86.        If Not Me.disposedValue Then
  87.            If disposing Then
  88.                ' TODO: dispose managed state (managed objects).
  89.            End If
  90.  
  91.            ' TODO: free unmanaged resources (unmanaged objects) and override Finalize() below.
  92.            ' TODO: set large fields to null.
  93.        End If
  94.        Me.disposedValue = True
  95.    End Sub
  96.  
  97.    ' TODO: override Finalize() only if Dispose(ByVal disposing As Boolean) above has code to free unmanaged resources.
  98.    'Protected Overrides Sub Finalize()
  99.    '    ' Do not change this code.  Put cleanup code in Dispose(ByVal disposing As Boolean) above.
  100.    '    Dispose(False)
  101.    '    MyBase.Finalize()
  102.    'End Sub
  103.  
  104.    ' This code added by Visual Basic to correctly implement the disposable pattern.
  105.    Public Sub Dispose() Implements IDisposable.Dispose
  106.        ' Do not change this code.  Put cleanup code in Dispose(disposing As Boolean) above.
  107.        Dispose(True)
  108.        GC.SuppressFinalize(Me)
  109.    End Sub
  110. #End Region
  111.  
  112. End Class

Saludos
4742  Programación / Scripting / Re: maximo y minimo en batch en: 27 Septiembre 2015, 09:25 am
No logro entender como hacer que de por ejemplo 5 calificaciones (3, 5, 8, 10 ,12), yo le solicite al programa la nota maxima y por otro lado la minima y me arroje como resultado: 3 y 12.

Código
  1. @Echo OFF & Setlocal EnableDelayedExpansion
  2.  
  3. Set /A "Max=0"
  4. Set /A "Min=100"
  5. Set    "Values=5,3,8,12,10"
  6.  
  7. For %%v in (%Values%) Do (
  8.  
  9. If %%v LEQ !Min! (Set /A "Min=%%v")
  10. If %%v GEQ !Max! (Set /A "Max=%%v")
  11. <Nul Set /P"=%%v "
  12. )
  13.  
  14. Echo Minimum: !Min!
  15. Echo Maximum: !Max!
  16.  
  17. Pause&Exit /B 0


Cita de: cmd
5 3 8 12 10
Minimum: 3
Maximum: 12
Presione una tecla para continuar . . .


PD:
Por si acaso en el futuro te sirve de algo, mírate este ejemplo en VBS sobre funcionalidades de alumnos/materias:
http://foro.elhacker.net/scripting/ayuda_con_select_case_vbs-t436700.0.html;msg2020173#msg2020173


Saludos
4743  Programación / Programación General / MOVIDO: maximo y minimo en batch en: 27 Septiembre 2015, 09:07 am
El tema ha sido movido a Scripting.

http://foro.elhacker.net/index.php?topic=442085.0
4744  Programación / .NET (C#, VB.NET, ASP) / Re: Cuenta regresiva a partir de una fecha (VB.Net) en: 26 Septiembre 2015, 19:48 pm
Por si sirve de algo, he vuelto a refactorizar el código fuente para que se entienda mejor, ahora solo expongo UN solo evento al que podemos suscribirnos para obtener el tiempo transcurrido, el tiempo restante, y el tiempo límite o meta.

El ejemplo de arriba también lo he modificado, más simple que esto es imposible ya:

Código
  1.    Public NotInheritable Class Form1 : Inherits Form
  2.  
  3.        Private WithEvents countdown As New TimeMeasurer With {.UpdateInterval = 100}
  4.  
  5.        Private Shadows Sub Load() Handles MyBase.Load
  6.  
  7.            ' Medir el lapso de 1 mes desde la fecha y hora actual.
  8.            Me.countdown.Start(DateTime.Now, DateTime.Now.AddMonths(1))
  9.  
  10.        End Sub
  11.  
  12.        Private Sub Countdown_TimeUpdated(ByVal sender As Object, ByVal e As TimeMeasurer.TimeUpdatedEventArgs) _
  13.        Handles countDown.TimeUpdated
  14.  
  15.            Me.lblCountDown.Text = String.Format("Days:{0:00} Hours:{1:00} Minutes:{2:00} Seconds:{3:00}",
  16.                                                 e.Remaining.Days, e.Remaining.Hours, e.Remaining.Minutes, e.Remaining.Seconds)
  17.  
  18.        End Sub
  19.  
  20.    End Class

Basicamente el código fuente que compartí encapsula todos los miembros necesarios para resolver el problema que tienes de una forma amistosa orientada a eventos xD.

De todas formas si aun sigues sin saber cómo utilizarlo a pesar del ejemplo, o si por algún motivo prefieres no usar mi solución entonces ahí tienes la alternativa de @Lekim, aunque os aconsejo a los dos que cambieis los hábitos que están siguiendo ya que son perjudiciales para el aprendizaje, por ejemplo no es necesario la aplicación de operaciones aritméticas para calcular manualmente las horas, dias, minutos y demás, pueden usar las propiedades que expone un objeto TimeSpan o un objeto Date cómo mencioné al principìo!, con eso lo resolverían TODO sin complicarse.



@Lekim, con tu permiso, te muestro como podrías simplificar para mejorar el código que compartiste:

Código
  1. Public Class Form1
  2.  
  3.    Dim culture As CultureInfo = CultureInfo.GetCultureInfo("es-ES")
  4.    Dim fechaLimite As Date = Date.ParseExact("01/10/2015 00:00:00", "dd/MM/yyyy hh:mm:ss", culture, DateTimeStyles.None)
  5.  
  6.    Private Sub Form1_Shown() Handles MyBase.Shown
  7.        Timer1.Enabled = True
  8.    End Sub
  9.  
  10.    Private Sub Timer1_Tick() Handles Timer1.Tick
  11.  
  12.        Dim dateDiff As TimeSpan = fechaLimite.Subtract(Date.Now)
  13.        Dim dateFormat As String = "dddd dd, MMMM, yyyy"
  14.  
  15.        Dim sb As New StringBuilder
  16.        With sb
  17.            .AppendFormat("Fecha Actual: {0}", Date.Today.ToString(dateFormat, culture))
  18.            .AppendLine()
  19.            .AppendFormat("Fecha Límite: {0}", fechaLimite.ToString(dateFormat, culture))
  20.            .AppendLine()
  21.            .AppendFormat("Quedan: {0}", String.Format("{0:0}d. {1:00}h. {2:00}m. {3:00}s.",
  22.                                                       dateDiff.TotalDays, dateDiff.Hours,
  23.                                                       dateDiff.Minutes, dateDiff.Seconds))
  24.        End With
  25.  
  26.        Me.Label1.Text = sb.ToString
  27.  
  28.    End Sub
  29.  
  30. End Class



También te recomiendo activar las declaraciones "Option" cuando programes bajo VB.Net, verias las decenas de fallos que cometiste en aquél código sin darte cuenta, sobre todo de casting.

Otra recomendación que les hago, eviten CUALQUIER uso de los miembros expuestos en el namespace Microsoft.VisualBasic, cómo por ejemplo DateDiff, DateAdd, FormatDateTime, Len, Mid, etc, evitenlo todo sin excepción, todo eso es morralla rescatada de VisualBasic 6 para familiarizar a los que migran a VB.Net, aunque es puro código .Net pero no tan optimizado, así que deberían usar los equivalentes del resto de la librería de classes de .Net.

Saludos!
4745  Programación / Programación General / MOVIDO: Ayuda con Rat no conecta en: 26 Septiembre 2015, 17:13 pm
El tema ha sido movido a Análisis y Diseño de Malware.

http://foro.elhacker.net/index.php?topic=442073.0
4746  Foros Generales / Foro Libre / Re: La NASA prepara un "anuncio mayor" sobre Marte en: 26 Septiembre 2015, 12:45 pm
Lo mismo va anunciar que se han gastado millones de Euros en ese planeta para nada tirado a la basura, habiendo planeta mucho mas interesante que Marte y con mas posibilidades de encontrar algún tipo de vida.

jajajajjaja

Un comentario muy acertado.

Curioso que elijan el mismo día del evento cósmico de la luna de sangre para publicar la "noticia", y la llamo "noticia" entre comillas por que no existe transparencia alguna cuando se trata de NASA, tal vez la "noticia" consista en un bulo amarillista como por ejemplo que todavía no conocen la existencia de extraterrestres inteligentes ni tampoco mantienen contacto con ellos (falso) pero que han encontrado evidencias de vida microscópica, blah blah blah, quien sabe.

Yo pienso que este será el único interés de cualquier noticia que publique NASA si se han tomado la molestia de avisar con tiempo y todo para captar la atención y así ganar mayor espectación:



Noticia con propósito oculto ...ya sea recaudar fondos/donaciones pa construir un nuevo Rover, publicar un nuevo "concurso" marciano, o explotar un material nuevo descubierto en Marte, o lo que sea.

No crean que van a hacernos una revelación importante sobre la vida alienígena o el Universo, ya no a estas alturas de su política de secretismo que es la misma que la de EEUU.

A ver si me equivoco, quien sabe.

Saludos
4747  Foros Generales / Dudas Generales / Re: URGENTE alguien podría facilitarme una pagina o un programa para rastrear móvil en: 25 Septiembre 2015, 16:39 pm
A menos que contrates los servicios de detectives privados o cómo ya han mencionado instales tu mismo una app de rastreo en el dispositivo objetivo...

http://www.detectivetelefonico.com/

Los servicios que ofrecemos son los siguientes:

Historial De Movimientos (Especial para comprobar sospechas de infidelidad)
Detalle De Mensajes De Texto (Muy comprometedor)
Celular Espía (Extraordinario para estar monitoreando en tiempo presente un numero)
Rastreo De llamadas y Números (Excelente para comprobar quién realizó alguna llamada, ya sea por extorsión, amenaza o broma)
Localización y Ubicación De Equipos (Muy bueno para localizar equipos perdidos o ubicar personas extraviadas, desaparecidas, secuestradas o morosas).

Saludos
4748  Programación / Programación General / Re: visualización gráfica de la ia de lps engine en: 25 Septiembre 2015, 14:14 pm
Está genial, ¿pero cual es la supuesta finalidad del post?. Solo hiciste una introducción referente a una funcionalidad de una app propia, publicando un video del mismo...

El spam no está permitido, intenta publicar aunque sea una unidad de código la próxima vez... algo que sea relevante con la temática del sub foro.

Saludos!
4749  Foros Generales / Foro Libre / Re: ¿Son las suites ofimáticas absurdamente grandes? en: 24 Septiembre 2015, 21:07 pm
No entiendo de que están hablando ¿del espacio que ocupa en el disco? cualquier usuario debe tener al menos dos discos de 1 o 2 TB, ¿cuánto ocupa alguna suite? (particularmente solo uso excel y si es que no tengo otra opción), ¿así que cual sería el problema? antes los discos eran muy chicos, hoy el espacio de las suites ni importa. Además veo que muchos ocupan discos con peliculas musica etc y nadie se queja.

La gran capacidad actual de espacio disponible no es razón ni excusa para que las compañias de software lo llenasen de cosas innecesarias (cómo ya hacen). A algunas personas les es indiferente ...mientras sigan teniendo espacio suficiente para sus cosas, pero otros preferimos tener cierto control sobre lo que tenemos almacenado, de ahí que hayan versiones reducidas no oficiales de Windows, Office, o simplemente de un video con múltiples pistas de audio en varios idiomas, por poner algunos ejemplos.

Saludos!
4750  Programación / .NET (C#, VB.NET, ASP) / Re: Optimizar performance app en: 24 Septiembre 2015, 20:59 pm
Para conocer y aplicar consejos de rendimiento respecto al acceso a bases de datos, lee la sección "Tips for Database Access" de este enlace:
 ➢ Performance Tips and Tricks in .NET Applications - MSDN

Saludos
Páginas: 1 ... 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 [475] 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 ... 1253
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines