|
5352
|
Foros Generales / Foro Libre / Re: ¿Por qué la Nasa quiere ir a Europa?
|
en: 8 Junio 2015, 05:24 am
|
La luna Europe siempre me ha fascinado, aunque no tengo fe en que la NASA vaya, encuentre vida marina, y despues de haberla encontrado revele sus hallazgos al público, esto último no creo que pase, pero bueno, el simple hecho de saber que el ser humano o un instrumento fabricado por el ser humano (taladro) llegará hasta allí para hacer experimentos... me emociona imaginar las expectativas. 
|
|
|
5353
|
Programación / .NET (C#, VB.NET, ASP) / Re: Librería de Snippets para VB.Net !! (Compartan aquí sus snippets)
|
en: 7 Junio 2015, 10:41 am
|
Un aspecto para utilizar con la librería Postsharp, para difundir un poquito la programación orientada a aspectos (AOP). Este aspecto en particular sirve para definir un valor mínimo y máximo para un miembro público de una class (Ej: Una propiedad Byte, Short, Integer, Long, etc...), con esto nos aseguramos de que el valor asignado nunca supere el máximo ...ni el mínimo. Hay bastante repetición de código ya que al parecer la Class no se puede hacer genérica. Ejemplo de uso: Imports PostSharp.Aspects Public Class MyClass <RangeAttribute(0S, SByte.MaxValue)> Dim sByteValue As SByte <RangeAttribute(0S, Byte.MaxValue)> Dim ByteValue As Byte <RangeAttribute(0S, Short.MaxValue)> Dim Int16Value As Short <RangeAttribute(0US, UShort.MaxValue)> Dim UInt16Value As UShort <RangeAttribute(0I, Integer.MaxValue)> Dim Int32Value As Integer <RangeAttribute(0UI, UInteger.MaxValue)> Dim UInt32Value As UInteger <RangeAttribute(0L, Long.MaxValue)> Dim Int64Value As Long <RangeAttribute(0UL, ULong.MaxValue)> Dim UInt64Value As ULong <RangeAttribute(0.0F, Single.MaxValue)> Dim SglValue As Single <RangeAttribute(0.0R, Double.MaxValue)> Dim DblValue As Double End Class
Código fuente: ' *********************************************************************** ' Author : Elektro ' Modified : 07-June-2015 ' *********************************************************************** ' <copyright file="RangeAttribute.vb" company="Elektro Studios"> ' Copyright (c) Elektro Studios. All rights reserved. ' </copyright> ' *********************************************************************** #Region " Usage Examples " 'Imports PostSharp.Aspects ' 'Public Class Myclass ' ' <RangeAttribute(0S, SByte.MaxValue)> ' Dim sByteValue As SByte ' ' <RangeAttribute(0S, Byte.MaxValue)> ' Dim ByteValue As Byte ' ' <RangeAttribute(0S, Short.MaxValue)> ' Dim Int16Value As Short ' ' <RangeAttribute(0US, UShort.MaxValue)> ' Dim UInt16Value As UShort ' ' <RangeAttribute(0I, Integer.MaxValue)> ' Dim Int32Value As Integer ' ' <RangeAttribute(0UI, UInteger.MaxValue)> ' Dim UInt32Value As UInteger ' ' <RangeAttribute(0L, Long.MaxValue)> ' Dim Int64Value As Long ' ' <RangeAttribute(0UL, ULong.MaxValue)> ' Dim UInt64Value As ULong ' ' <RangeAttribute(0.0F, Single.MaxValue)> ' Dim SglValue As Single ' ' <RangeAttribute(0.0R, Double.MaxValue)> ' Dim DblValue As Double ' 'End Class #End Region #Region " Imports " Imports PostSharp.Aspects #End Region #Region " Range Attribute " ''' <summary> ''' Aspect that when applied to a property, defines its minimum and maximum value. ''' </summary> <Serializable> Public Class RangeAttribute : Inherits LocationInterceptionAspect #Region " Properties " ''' <summary> ''' Gets or sets the minimum value. ''' </summary> Private Property Min As Object ''' <summary> ''' Gets or sets the maximum value. ''' </summary> Private Property Max As Object #End Region #Region " Constructors " ''' <summary> ''' Initializes a new instance of the <see cref="RangeAttribute"/> class for <see cref="SByte"/> datatype. ''' </summary> ''' <param name="minInt8">The minimum <see cref="SByte"/> value.</param> ''' <param name="maxInt8">The maximum <see cref="SByte"/> value.</param> Public Sub New(ByVal minInt8 As SByte, ByVal maxInt8 As SByte) Me.Min = minInt8 Me.Max = maxInt8 End Sub ''' <summary> ''' Initializes a new instance of the <see cref="RangeAttribute"/> class for <see cref="Byte"/> datatype. ''' </summary> ''' <param name="minUInt8">The minimum <see cref="Byte"/> value.</param> ''' <param name="maxUInt8">The maximum <see cref="Byte"/> value.</param> Public Sub New(ByVal minUInt8 As Byte, ByVal maxUInt8 As Byte) Me.Min = minUInt8 Me.Max = maxUInt8 End Sub ''' <summary> ''' Initializes a new instance of the <see cref="RangeAttribute"/> class for <see cref="Short"/> datatype. ''' </summary> ''' <param name="minInt16">The minimum <see cref="Short"/> value.</param> ''' <param name="maxInt16">The maximum <see cref="Short"/> value.</param> Public Sub New(ByVal minInt16 As Short, ByVal maxInt16 As Short) Me.Min = minInt16 Me.Max = maxInt16 End Sub ''' <summary> ''' Initializes a new instance of the <see cref="RangeAttribute"/> class for <see cref="UShort"/> datatype. ''' </summary> ''' <param name="minUInt16">The minimum <see cref="UShort"/> value.</param> ''' <param name="maxUInt16">The maximum <see cref="UShort"/> value.</param> Public Sub New(ByVal minUInt16 As UShort, ByVal maxUInt16 As UShort) Me.Min = minUInt16 Me.Max = maxUInt16 End Sub ''' <summary> ''' Initializes a new instance of the <see cref="RangeAttribute"/> class for <see cref="Integer"/> datatype. ''' </summary> ''' <param name="minInt32">The minimum <see cref="Integer"/> value.</param> ''' <param name="maxInt32">The maximum <see cref="Integer"/> value.</param> Public Sub New(ByVal minInt32 As Integer, ByVal maxInt32 As Integer) Me.Min = minInt32 Me.Max = maxInt32 End Sub ''' <summary> ''' Initializes a new instance of the <see cref="RangeAttribute"/> class for <see cref="UInteger"/> datatype. ''' </summary> ''' <param name="minUInt32">The minimum <see cref="UInteger"/> value.</param> ''' <param name="maxUInt32">The maximum <see cref="UInteger"/> value.</param> Public Sub New(ByVal minUInt32 As UInteger, ByVal maxUInt32 As UInteger) Me.Min = minUInt32 Me.Max = maxUInt32 End Sub ''' <summary> ''' Initializes a new instance of the <see cref="RangeAttribute"/> class for <see cref="Long"/> datatype. ''' </summary> ''' <param name="minInt64">The minimum <see cref="Long"/> value.</param> ''' <param name="maxInt64">The maximum <see cref="Long"/> value.</param> Public Sub New(ByVal minInt64 As Long, ByVal maxInt64 As Long) Me.Min = minInt64 Me.Max = maxInt64 End Sub ''' <summary> ''' Initializes a new instance of the <see cref="RangeAttribute"/> class for <see cref="ULong"/> datatype. ''' </summary> ''' <param name="minUInt64">The minimum <see cref="ULong"/> value.</param> ''' <param name="maxUInt64">The maximum <see cref="ULong"/> value.</param> Public Sub New(ByVal minUInt64 As ULong, ByVal maxUInt64 As ULong) Me.Min = minUInt64 Me.Max = maxUInt64 End Sub ''' <summary> ''' Initializes a new instance of the <see cref="RangeAttribute"/> class for <see cref="Single"/> datatype. ''' </summary> ''' <param name="minSingle">The minimum <see cref="Single"/> value.</param> ''' <param name="maxSingle">The maximum <see cref="Single"/> value.</param> Public Sub New(ByVal minSingle As Single, ByVal maxSingle As Single) Me.Min = minSingle Me.Max = maxSingle End Sub ''' <summary> ''' Initializes a new instance of the <see cref="RangeAttribute"/> class for <see cref="Double"/> datatype. ''' </summary> ''' <param name="minDouble">The minimum <see cref="Double"/> value.</param> ''' <param name="maxDouble">The maximum <see cref="Double"/> value.</param> Public Sub New(ByVal minDouble As Double, ByVal maxDouble As Double) Me.Min = minDouble Me.Max = maxDouble End Sub ''' <summary> ''' Prevents a default instance of the <see cref="RangeAttribute"/> class from being created. ''' </summary> Private Sub New() End Sub #End Region #Region " Methods " ''' <summary> ''' Method invoked <i>instead</i> of the <c>Set</c> semantic of the field or property to which the current aspect is applied, ''' i.e. when the value of this field or property is changed. ''' </summary> ''' <param name="args">Advice arguments.</param> Public Overrides Sub OnSetValue(ByVal args As LocationInterceptionArgs) Dim value As Object = args.Value Select Case True Case TypeOf value Is SByte If DirectCast(value, SByte) < CSByte(Me.Min) Then value = Me.Min ElseIf DirectCast(value, SByte) > CSByte(Me.Max) Then value = Me.Max End If args.SetNewValue(CSByte(value)) Case TypeOf value Is Byte If DirectCast(value, Byte) < CByte(Me.Min) Then value = Me.Min ElseIf DirectCast(value, Byte) > CByte(Me.Max) Then value = Me.Max End If args.SetNewValue(CByte(value)) Case TypeOf value Is Short If DirectCast(value, Short) < CShort(Me.Min) Then value = Me.Min ElseIf DirectCast(value, Short) > CShort(Me.Max) Then value = Me.Max End If args.SetNewValue(CShort(value)) Case TypeOf value Is UShort If DirectCast(value, UShort) < CUShort(Me.Min) Then value = Me.Min ElseIf DirectCast(value, UShort) > CUShort(Me.Max) Then value = Me.Max End If args.SetNewValue(CUShort(value)) Case TypeOf value Is Integer If DirectCast(value, Integer) < CInt(Me.Min) Then value = Me.Min ElseIf DirectCast(value, Integer) > CInt(Me.Max) Then value = Me.Max End If args.SetNewValue(CInt(value)) Case TypeOf value Is UInteger If DirectCast(value, UInteger) < CUInt(Me.Min) Then value = Me.Min ElseIf DirectCast(value, UInteger) > CUInt(Me.Max) Then value = Me.Max End If args.SetNewValue(CUInt(value)) Case TypeOf value Is Long If DirectCast(value, Long) < CLng(Me.Min) Then value = Me.Min ElseIf DirectCast(value, Long) > CLng(Me.Max) Then value = Me.Max End If args.SetNewValue(CLng(value)) Case TypeOf value Is ULong If DirectCast(value, ULong) < CULng(Me.Min) Then value = Me.Min ElseIf DirectCast(value, ULong) > CULng(Me.Max) Then value = Me.Max End If args.SetNewValue(CULng(value)) Case TypeOf value Is Single If DirectCast(value, Single) < CSng(Me.Min) Then value = Me.Min ElseIf DirectCast(value, Single) > CSng(Me.Max) Then value = Me.Max End If args.SetNewValue(CSng(value)) Case TypeOf value Is Double If DirectCast(value, Double) < CDbl(Me.Min) Then value = Me.Min ElseIf DirectCast(value, Double) > CDbl(Me.Max) Then value = Me.Max End If args.SetNewValue(CDbl(value)) End Select End Sub #End Region End Class #End Region
|
|
|
5354
|
Programación / .NET (C#, VB.NET, ASP) / Re: Listar procesos y rutas en ListBox
|
en: 7 Junio 2015, 09:43 am
|
Este trozo de codigo son los procesos que no deberian ejecutarse y en caso que desee mostrar todos los procesos deberia de agregarlos al array? Dim blacklisted As IEnumerable(Of String) = { "audiodg", "csrss", "Idle", "services", "smss", "System" }
Son los procesos de la lista negra, procesos excluidos de la query de LINQ. Idle y System son pseudo-procesos (y por lo tanto, daría error la query al intentar obtener una ruta que no existe), y los otros son procesos protegidos. De todas formas ten en cuenta que lo que escribí es un ejemplo básico que se puede extender para adaptarlo a "X" necesidades, si quieres hacer una buena réplica entonces deberías mostrar lo mismo que muestra el administrador de tareas de Windows.
y esta parte por que solo muestra la ruta del proceso pero no el nombre o la ruta ya contiene el nombre del proceso? por que declara pNames. Obviamente la ruta del archivo contiene el nombre del archivo. ¿Por qué declaré pNames y pPaths por separado?, para mostrar dos ejemplos distintos, uno para obtener solo el nombre, y el otro para obtener la ruta completa.
ListBox1.Items.AddRange(pPaths.ToArray)
me dice lo siquiente  Fíjate bien, estás utilizando un ListView, no un ListBox. Debes pasarle cómo argumento un array de ListViewItem, o un ListViewItemcollection: With ListView1 .View = View.Details .Columns.Add("ExecutablePath") .Items.AddRange((From path As String In pPaths Select New ListViewItem({path})).ToArray) End With
Saludos!
|
|
|
5355
|
Foros Generales / Foro Libre / Re: Una peli para ver esta noche?
|
en: 7 Junio 2015, 09:13 am
|
Electro, ve "starving games" y después podrás opinar que es una película basura (y te darás cuenta que tu escala puede iniciar en 0 y no 1) Lo peor de todo es que ya la vi entera (para poder criticar con mayor objetividad xD), "Los muertos del hambre" se títula en España, pf!, claramente se lleva un:  Lo mismo ocurre con todo el resto de películas que han hecho los mismos productores de esa peli, año tras año, no se si realmente alguien puede considerar ese tipo de películas cómo "comedia"... es humor raro ...¿para niños de 4 años?. Una película 7 de 10 para ver que recomiendo y quedarse "wtf!" es "predestination", es interesante, y agradablemente decepcionante Hace mucho, pero mucho, muchísimo ...¡la tira de años!... que no me sorprende ninguna película, será que he visto demasiadas, pero recientemente hay una que "me ha devuelto a la vida", de verdad que hacía mucho que no sentía tantanta emoción con una película ...más bien tensión, se trata del reciente remake de " Mad Max", si tengo que recomendar alguna peli del momento entonces sin duda es esa, una pelicula que consigue que no te despegues de la pantalla ni para parpadear, ¡pura tensión!. TL/DR:Y ya que hablamos de películas, la película del momento que menos me gusta es "Extraterrestrial", podría puntarla con un 2 y estaría siendo generoso; es la típica película de terror con monstruos, solo que los monstruos son Aliens, pero mezclar el género de terror con alienígenas de esa manera... ponen al típico alien gris cómo si fueran monstruos/bichos malvados que se suben por las paredes y te acosan en la puerta de tu casa hasta que salgas... comerte o violarte o secuestrarte, es muy poco creible esto de los Aaliens haciendo "bullying", en algunas partes de la película me daba la sensación que el director de la peli pretendía transmitir al espectador que los Aliens son una especie de hienas depredadoras y aterradoras al hacecho de humanos, en fin, me parece muy absurdo el estilo que le han dado en ese aspecto, directamente son más monstruos que alienígenas. Tengo muchas películas favoritas de antaño y de ahora, pero creo que ninguna dejaría con cara de "wtf". Saludos! Saludos!
|
|
|
5356
|
Foros Generales / Foro Libre / Re: Una peli para ver esta noche?
|
en: 7 Junio 2015, 07:29 am
|
yo recomiendo mucho la película Mr. Nobody Ya vuelvo a tener fe en ti xD. creo que la película puede ser profunda, pero igual que si me dejas una mesa y dos horas observándola, al final acabaré pensando como sería el árbol del que sacaron la madera y en que lugar y día forjaron los clavos que sujetan las patas de la mesa. Pero entonces simplemente es que tú eres una persona profunda, no la película, ni tampoco la susodicha mesa. Creo que no es discutible, la """"actriz"""" principal de Chappie habría encajado mejor en un papel de una película porno: ➢ Yo-Landi Visser (cuidado, la imagen puede herir la sensibilidad de algunas personas) ...O de zombies, con el resto de su pandilla. No te lo discuto más, es solo que me indigno yo solo con estas peliculas- basura...!! Saludos!
|
|
|
5357
|
Foros Generales / Foro Libre / Re: Una peli para ver esta noche?
|
en: 7 Junio 2015, 06:25 am
|
Chappie
Creo que puede llegar a ser profunda Me has decepcionado...  Chappie es una película que dentro de lo que cabé me gustó, por que usa la tecnología del cine combinada con un tema actual del siglo XXI, los robots (un tema muy quemado, todo hay que decirlo), cómo película y dentro de lo que cabe en esta era de los refritos y los directores sin ideas hollywoodienses, se puede decir que Chappie es una película que está bien, con un argumento y un guión pasables ...muy mediocres cómo todo lo que hacen ahora pero pasables al fin y al cabo, es una película de esas que una vez vista ya la has disfrutado (si has podido disfrutar) y no tienes ganas de volverla a ver; Mi valoración: un 5 de 10. Ahora... ¿ PROFUNDA?, un film cuyo reparto de actores principales consiste en todo menos actores, ya que los "actores" son los integrantes de un grupo de música, un grupo cuya música por cierto no transmite NADA (aparte de asco), y con unas pintas entre yonki, cani, mongolo, y steampunk (son así en la vida real, no solo en la peli) que dan pena y verguenza ajena, pf, venga ya, Chappie está muy lejos de considerarse cómo algo profundo cuando el único actor que tiene la suficiente experiencia y carisma para poder transmitir sensaciones profundas es el malo de la película xD, pf, nada, es muy mediocre empezando por sus ""actores"", su argumento, su "trama", su guión, y toda la película en si misma. En mi opinión, es una película de esas que o te gusta bastante o la odias mucho, ya que tiene esa peculiaridad que será desagradable para algunos y a otros puede que incluso les guste... pero lo cierto es que lo mires por donde lo mires Chappie es una película muy del montón, cómo son la mayoría de películas de este tipo de temática. Yo sin duda vería la de El caballero negro. Saludos!
|
|
|
5358
|
Programación / .NET (C#, VB.NET, ASP) / Re: consulta sobre proyecto en c#
|
en: 7 Junio 2015, 06:12 am
|
...necesito la opinión d expertos(elektro por nombrar alguno, por ser siempre el q m comprendió y sin ofender a nadie) en el tema q siemp m guiaron en el desarrollo d esta aplicación.....muchísimas graxias d antemano....slds!! No me sobreestimes, nunca he necesitado profundizar en la administración de bases de datos, y eso significa que seguramente no se lo suficiente. Lo único que yo puedo decirte es que pienso que deberías desarrollar el código, la "funcionalidad" que mencionas, y luego publicarlo aquí, compartir el código para que podamos analizarlo en busca de posibles conflictos u optimizaciones que sugerirte. Saludos!
|
|
|
5359
|
Programación / .NET (C#, VB.NET, ASP) / Re: Listar procesos y rutas en ListBox
|
en: 7 Junio 2015, 02:29 am
|
¿Estás compilando la app bajo x86, x64, o neutral?. ¿Alguna limitación en la versión objetivo de .Net framework? (-LINQ) ¿C#, Vb.Net, o cualquiera de los dos?, no somos adivinos. Puedes utilizar la Class " Process": Dim blacklisted As IEnumerable(Of String) = { "audiodg", "csrss", "Idle", "services", "smss", "System" } Dim processes As IEnumerable(Of Process) = System.Diagnostics.Process.GetProcesses Dim pNames As IEnumerable(Of String) = From p As Process In processes Where Not blacklisted.Contains(p.ProcessName) Order By p.ProcessName Ascending Select String.Format("{0}.exe", p.ProcessName).ToLower Distinct Dim pPaths As IEnumerable(Of String) = From p As Process In processes Where Not blacklisted.Contains(p.ProcessName) Order By p.MainModule.FileName Ascending Select p.MainModule.FileName.ToLower Distinct ListBox1.Items.AddRange(pPaths.ToArray)
Y, si estás desarrollando la app para arquitectura x86, para comunicarte con los procesos x64 puedes realizar una consulta a WMI ( Windows Management Instrumentation): ➢ Win32_Process class (Windows) - MSDNPublic Shared Function GetProcesses() As ManagementObjectCollection Using searcher As New ManagementObjectSearcher(queryString:="SELECT * FROM Win32_Process") Return searcher.Get End Using End Function Dim processes As ManagementObjectCollection = GetProcesses() Dim pNames As IEnumerable(Of String) = From mo As ManagementObject In processes.Cast(Of ManagementObject)() Order By DirectCast(mo.Properties("Name").Value, String) Ascending Select DirectCast(mo.Properties("Name").Value, String).ToLower Distinct Dim pPaths As IEnumerable(Of String) = From mo As ManagementObject In processes.Cast(Of ManagementObject)() Where Not mo.Properties("ExecutablePath").Value Is Nothing Order By DirectCast(mo.Properties("ExecutablePath").Value, String).ToLower Ascending Select DirectCast(mo.Properties("ExecutablePath").Value, String).ToLower Distinct ListBox1.Items.AddRange(pPaths.ToArray)
Nota: Recuerda que la Class " ManagementObjectCollection" es Disposable. También puedes utilizar las funciones de la API de Windows: ➢ Process Walking - MSDN➢ PSAPI Functions - MSDN(de esto no pongo un ejemplo ya que no tengo ...pero por Google debe haber; y elaborarlo me costaría el esfuerzo de escribir aproximadamente +1.000 lineas de P/Invoking) Saludos!
|
|
|
5360
|
Programación / Scripting / Re: wifi autoejecutable .dat
|
en: 7 Junio 2015, 01:37 am
|
Bienvenido al foro. 1• Publica las preguntas sobre Batch en el foro adeacuado. 2• Es obligatorio usar las etiquetas de código al publicar un bloque de código. 3• LEE LAS NORMAS DEL FORO ANTES DE PUBLICAR.
¿Qué significa "no logro ejecutarlo"?, se específico con el error que tengas, no somos adivinos. De todas formas, prueba así: Script.cmd: echo Levantar virtual wifi www.wifimx.com ^(windows7 y 8 ^) echo Script proporcionado por la genial web www.wifimx.com set /P "nombrered=Escribe el Nombre de tu red y pulsa enter:" set /P "pass=Introduce el password y pulsa enter ( minimo 8 caracteres ):" netsh wlan set hostednetwork mode=allow ssid=" %nombrered%" key=" %pass%" netsh wlan start hostednetwork echo Pulsa enter para detener la red netsh wlan stop hostednetwork
Saludos!
|
|
|
|
|
|
|