Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Eleкtro en 30 Noviembre 2015, 08:35 am



Título: ElektroKit Framework v2.0 | ( Complemento para el núcleo de .Net Framework )
Publicado por: Eleкtro en 30 Noviembre 2015, 08:35 am
¿Qué es ElektroKit?



ElektroKit es un sofisticado y completo conjunto de utilidades con nuevas APIs y extensiones de método para complementar al núclero de .Net Framework,
para ayudarle así a completar su caja de herramientas de programación con esta librería de classes adicional.



ElektroKit se distribuye en un conjunto de (por el momento) 22 21 librerías que están enfocadas hacia diversas temáticas:

(http://i.imgur.com/Bv4ZEQH.png)

(http://i.imgur.com/rNyuHTE.png)





DESCARGA (v2.0)


GitHub: Compilación + Documentación + Código fuente
(http://dev.bukkit.org/media/images/70/962/github.png) (https://github.com/ElektroStudios/ElektroKit/releases/latest)

Paquete Nuget
(https://gregorsuttie.files.wordpress.com/2014/12/nuget.png?w=529) (https://www.nuget.org/packages/xxxxxxxxxxx/)





DONACIONES


Con la intención de soportar la continuidad de este proyecto, por el esfuerzo invertido y la motivación para seguir actualizando, quizás usted quiera considerar donar la cantidad de dinero que desee, mediante Paypal, haciendo click en la siguuiente imagen:

(https://camo.githubusercontent.com/b4bcf7dc5a8794bcfd13fa3452c3d651e317537c/687474703a2f2f692e696d6775722e636f6d2f4c564b743357352e706e67) (https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9SNEB7XURHXAS)

¡¡ MUCHAS GRACIAS !!





CONTRIBUICIONES


Para contribuir fisicamente modificando el código fuente, pueden crear una bifurcación (fork) del proyecto desde GitHub, haciendo click en esta imagen:

(http://goo.gl/XwAVHP) (https://github.com/ElektroStudios/ElektroKit/fork)





BUGS, PETICIONES Y SUGERENCIAS


Pueden dejar su comentario en este post para cualquier duda, petición o sugerencia, todo es bienvenido.

También pueden utilizar el rastreador de problemas de GitHub para reportar bugs, haciendo click en esta imagen:

(http://www.onedesk.com/wordpress/wp-content/uploads/2012/06/Issue-Tracking-Role-Icon.png) (https://github.com/ElektroStudios/ElektroKit/issues/new)





DOCUMENTACIÓN


Todos los miembros del código fuente están documentados, la documentación se distribuye de varias formas.

Pueden acceder a la documentación online mediante esta imagen:
(http://i.imgur.com/7lPIjFJ.jpg) (http://elektrostudios.github.io/ElektroKit/)

También pueden obtener la documentación en formato CHM haciendo click en esta imagen:
(https://camo.githubusercontent.com/152cdc5cd13fd8cc9373e32a4d81f4f0c60e8b55/687474703a2f2f692e696d6775722e636f6d2f304e6e73354a312e706e67) (https://github.com/ElektroStudios/ElektroKit/blob/master/Documentation/ElektroKit.chm?raw=true)

Nótese que existen multitud de ejemplos de código en ambas documentaciones, los cuales pueden ser un buen punto de partida para comprender como utilizar ElektroKit:

( click para agrandar )
(http://i.imgur.com/SwfEvCFl.png) (http://i.imgur.com/SwfEvCF.png)

(https://camo.githubusercontent.com/0c65f10c41b7c47be11b2110960bc551023b01f6/687474703a2f2f692e696d6775722e636f6d2f704b31414a555a2e706e67)

También pueden inspeccionar la documentación Xml en el código fuente:

( click para agrandar )
(http://i.imgur.com/QOm0Oual.png) (http://i.imgur.com/QOm0Oua.png)

O examinar la descripción de los miembros mediante Intellisense o el examinador de objetos de Visual Studio:

(http://i.imgur.com/Zqn3fdB.png)





RESUMEN DE MIEMBROS


Resulta imposible mencionar cada una de las funcionalidades de ElektroKit, realmente son muchísimas (y para eso ya está la documentación),
intentaré hacer un breve resumen resaltando características que les podrían resultar muy interesantes.

(http://i.imgur.com/TmEWwnT.png)





SI TE HA GUSTADO MI APORTE, ¡COMENTA! :)






Título: Re: ElektroKit v1.0 | API de propósito general para desarrolladores de .Net
Publicado por: Lekim en 1 Diciembre 2015, 19:25 pm
Hola

¡Enhorabuena por el proyecto!

Ya está en google XD


https://www.google.es/webhp?source=search_app&gfe_rd=cr&ei=x5AlVrTHMNOCiAaT8oW4AQ&gws_rd=ssl#q=elektrokit (https://www.google.es/webhp?source=search_app&gfe_rd=cr&ei=x5AlVrTHMNOCiAaT8oW4AQ&gws_rd=ssl#q=elektrokit)

Por cierto, no se de donde sacas el tiempo... :P Veo muchas horas ahí sin dormir.


¿No hay nada para girar la pantalla y que funcione en XP? Encontré varios códigos que funcionan en Vista y posterior pero no en XP.





Título: Re: ElektroKit v1.0 | API de propósito general para desarrolladores de .Net
Publicado por: Eleкtro en 1 Diciembre 2015, 20:06 pm
¿No hay nada para girar la pantalla y que funcione en XP? Encontré varios códigos que funcionan en Vista y posterior pero no en XP.

Nop, pero tampoco tengo el propósito de desarrollar código para dar soporte a un sistema operativo deprecado :P.

Quizás esta librería te sirva:
https://multimonitorhelper.codeplex.com/
https://github.com/ChrisEelmaa/MultiMonitorHelper/tree/master

Fuente y ejemplo de uso:
http://stackoverflow.com/questions/11087613/how-do-i-set-the-monitor-orientation-in-windows-7

Gracias por el comentario

saludos!


Título: Re: ElektroKit v1.0 | API de propósito general para desarrolladores de .Net
Publicado por: matti en 2 Diciembre 2015, 03:38 am
Muy bueno!


Título: Re: ElektroKit Framework v1.1 | ( Complementos para el núclero de .Net Framework )
Publicado por: Eleкtro en 3 Enero 2016, 15:56 pm
¡¡ NUEVA VERSIÓN v1.1 YA DISPONIBLE !!

El enlace de descarga está en el post principal.

He actualizado el repositorio de GitHub con esta nueva versión, además de eso añadí carpetas con documentación, y un completo lavado de imagen del readme.md de la página de GitHub (conviene leerlo).

Respecto a los cambios realizados en esta nueva versión 1.1, lamentablemente me es imposible llevar un historial de cambios para un proyecto tan gigantesco, ya que cada dia le hago cambios, refactorizaciones, actualizaciones etc, y simplemente no me da el tiempo para llevar un registro de todos los cambios que hago, sería demasiado frustrante,
lo siento, confórmense con este breve resumen de cosas interesantes que he ido implementado desde la versión 1.0 hasta la 1.1, aunque seguro que me dejo muchas por mencionar, ya que son más de 100 nuevas classes en total...

  • La class KeyboardMonitor, para monitorear y reportar los eventos del teclado, un keylogger, vaya.
  • La class MouseMonitor, para monitorear y reportar los eventos del mouse.
  • La class Keyboard, para sintetizar pulsaciones del teclado.
  • La class Mouse, para sintetizar movimientos y clicks del ratón.
  • Un rastreador de movimientos del mouse, a diferencia del mouselogger, este sirve más bien para grabar macros.
  • La clase base UndoRedo y la decene de classes que la heredan, en conjunto son un sistema de hacer/deshacer (undo/redo) basado en stacks, con soporte para muchos controles.
  • La class Hosts, para administrar facilmente los mapeos del archivo HOSTS.
  • La class FirewallUtil, para administrar el firewall de Windows, activarlo, desactivarlo, añadir o eliminar reglas.
  • El type CSharpCompiler, para compilar código fuente en tiempo de ejecución.
  • El type VisualBasicCompiler, para compilar código fuente en tiempo de ejecución.
  • El type genérico FixedStack(Of T), para usar un Stack con una capacidad fija de elementos en la pila.
  • El type genérico FixedQueue(Of T), para usar un Queue con una capacidad fija de elementos en la cola.
  • La class WindowMagnetizer, para añadir magnetismo a la ventana de su aplicación (para adherirla a los bordes de la pantalla)
  • Las classes IniSection, IniKey, IniSectionCollection, IniKeyCollection e IniManager, para administrar las configuraciones de usuario de sus aplicaciones en archivos INI portables.
  • Las classes MruItem, MruFileItem y MruUtil, para crear y cargar listas MRU en sus aplicaciones.
  • El type Hotkey, para registrar atajos del teclado globales (system-wide hotkeys) en sus aplicaciones, de manera muy sencilla y eficiente.
  • Una infinidad de P/Invokes añadidos en el namespace Win32, para usarlos en sus aplicaciones como les venga en gana.
  • Muchas extensiones de método añadidas para distintos types... en general.

Espero que ElektroKit les haya gustado o servido de algo al menos :).

Un saludo!


Título: Re: ElektroKit Framework v1.1 | ( Complementos para el núclero de .Net Framework )
Publicado por: Eleкtro en 3 Enero 2016, 16:34 pm
¡¡ ElektroKit ya disponible en NuGet !!

(https://raw.githubusercontent.com/NuGet/Home/master/resources/nuget.png) (https://www.nuget.org/packages?q=ElektroKit)

Para integrar cualquier ensamblado de ElektroKit sin preocupaciones ni demoras en cualquier momento durante el desarrollo de sus aplicaciones, pueden utilizar el servicio de NuGet desde la interfaz de Visual Studio:
  • https://www.nuget.org/profiles/ElektroStudios

También pueden integrar el complemento en su totalidad:
  • https://www.nuget.org/packages/ElektroKit/

Saludos!


Título: Re: ElektroKit Framework v1.1 | ( Complementos para el núclero de .Net Framework )
Publicado por: kub0x en 10 Enero 2016, 20:06 pm
Increíble EleKtro, felicidades por tu gran compilación de ensamblados, has extendido el Framework de una forma bestial.

Espero que tu trabajo sea reconocido pronto, de forma que sea ampliamente utilizado. Y todo empezó en 2012 con tus primeras dudas sobre VB, es muy grato ver como has evolucionado hasta tal punto de dominar el lenguaje y sus tecnologías :)

Así que ya sabeís descargadlo y darle una oportunidad, este proyecto no tiene pérdida.

Saludos!


Título: Re: ElektroKit Framework v1.1 | ( Complementos para el núclero de .Net Framework )
Publicado por: Eleкtro en 11 Enero 2016, 09:21 am
has extendido el Framework de una forma bestial.

Y lo que queda por ser extendido en futuras versiones de este proyecto, que no es poco.

Increíble EleKtro, felicidades

Gracias por el comentario.

Saludos


Título: Re: ElektroKit Framework v1.1 | ( Complementos para el núclero de .Net Framework )
Publicado por: Eleкtro en 12 Febrero 2016, 20:01 pm
¡¡ NUEVA VERSIÓN v1.2 YA DISPONIBLE !!

Como dije anteriormente, me es imposible llevar un historial de cambios para un proyecto de esta magnitud en el que cada 2x3 hago modificaciones, así que solo puedo mencionar algunos de ellos y de forma vaga.

Los cambios más significativos en esta nueva release han sido muchos cambios de diseño en los nombres de los miembros para que resulten más intuitivos, la ampliación de classes, métodos y funciones varias, y sobre todo la ampliación de extensiones de método.

Cambios importantes:
  • Un nuevo namespace, Elektro.Diagnostics, con utilidades enfocadas el logging, debugging, profilling, etc.
  • El namespace Elektro.Application.Debugging y Elektro.Application.Profilling se han unido en el namespace Elektro.Diagnostics. (por motivos de diseño)
  • El namespace Elektro.Audio pasa a llamarse Elektro.Multimedia. (por motivos de diseño)
  • El namespace Elektro.Strings pasa a llamarse Elektro.Text. (por motivos de diseño)
  • El namespace Elektro.Strings.RegEx pasa a llamarse Elektro.Text.RegEx. (por motivos de diseño)
  • Se han modificado todos los nombres de los namespaces de las extensiones de método. (por motivos de diseño)
  • La class NetworkUtil del namespace Elektro.Net se ha dividido en varias classes enfocadas a distintas temáticas. (por motivos de diseño y organización)
  • Se ha ampliado drásticamente la cantidad de extensiones de método, ahora son al rededor de 500 extensiones.

Cambios no tan importantes:
  • El código fuente de la dependencia WindowsAPICodePack ha sido integrado, de forma básica, en el código fuente de ElektroKit (por motivos de portabilidad)
  • Se han ampliado las plataformas de arquitectura en la que se distribuyen las librerías de ElektroKit, ahora están clasificadas en AnyCpu, x64, y x86. (por motivos de portabilidad)
  • Se han añadido optimizaciones de código para .Net Framework +4.5, pero son tan pocas por el momento que he decidido no compilar esas librerías en esta release.
  • Todos los módulos del código fuente se han divido en varios módulos, y algunas classes también. (por motivos de organización)
  • Se ha ampliado en gran medida la cantidad de ejemplos de código en el archivo de ayuda de ElektroKit para los métodos, funciones y propiedades.
  • Algunos bugfixes sin demasiada importancia.

Saludos!


Título: Re: ElektroKit Framework v1.2 | ( Complementos para el núclero de .Net Framework )
Publicado por: Pablo Videla en 12 Febrero 2016, 20:06 pm
Vaya Elektro te felicito, estoy clonando tu proyecto, seguro me será de mucha utilidad  ;-)

Saludos!


Título: Re: ElektroKit Framework v1.2 | ( Complementos para el núclero de .Net Framework )
Publicado por: Eleкtro en 12 Febrero 2016, 20:41 pm
Vaya Elektro te felicito, estoy clonando tu proyecto, seguro me será de mucha utilidad  ;-)

Gracias!, y espero que realmente te sirva de algo :).

Saludos


Título: Re: ElektroKit Framework v1.2 | ( Complementos para el núclero de .Net Framework )
Publicado por: XresH en 12 Febrero 2016, 20:46 pm
Extraordinario, he visto muchisimo y hay mucho mas por ver, sin lugar a dudas una de las maneras de extenderse en la programacion es investigando proyectos de otros colegas.

Cuando tenga mas tiempo volvere a mi blog con tu proyecto Elektro, siempre y cuando me des el visto bueno.

Continua asi, lentamente he dejado de lado todo esto y me pone triste, visualizar esto reanima a uno a intentar continuar, no hay que detenerse.

Saludos.


Título: Re: ElektroKit Framework v1.2 | ( Complementos para el núclero de .Net Framework )
Publicado por: Eleкtro en 12 Febrero 2016, 21:10 pm
Cuando tenga mas tiempo volvere a mi blog con tu proyecto Elektro, siempre y cuando me des el visto bueno.

Por supuesto que si, siéntete libre de experimentar, comentar el código, compartirlo, editarlo o hacer lo que quieras (respetando el nombre del autor)... tú y todo el mundo.      It's free!!

Tengo pendiente desarrollar algunas aplicaciones de muestra para enseñar cosas de todo tipo que se puedan hacer con este kit de librerías, pero mientras llega eso y ya que me has mencionado tu blog de programación, intentaré poner un ejemplo muy sencillito...

En la publicación de Vb.Net más reciente de tu blog, comentas como poner la primera letra de un string en mayúscula, pues con ElektroKit se podría utilizar la extensión String.Rename() de la siguiente manera:

Código
  1. Imports Elektro.Text.Enums
  2. Imports Elektro.Text.Extensions.String
  3.  
  4. Dim str As String = "hola mundo".Rename(StringCase.TitleCase)
  5. Console.WriteLine(str) ' "Hola mundo"

(http://i.imgur.com/LaEhpVX.png)

  • String.Rename Method (http://elektrostudios.github.io/ElektroKit/html/M_Elektro_Text_Extensions_String_Rename_Rename.htm)
  • StringCase Enumeration (http://elektrostudios.github.io/ElektroKit/html/T_Elektro_Text_Enums_StringCase.htm)

Así de sencillo es la utilización de estas librerías en la mayoría de los casos, bueno, en este caso era demasiado sencillo por que es una función que ofrece cierto nivel de abstracción ...también dependerá de la complejidad de la tarea claro está, no solamente hay extensiones de métodos sino mucho más!.

Saludos!


Título: Re: ElektroKit Framework v1.2 | ( Complementos para el núclero de .Net Framework )
Publicado por: Pablo Videla en 16 Febrero 2016, 16:38 pm
Estuve viendo un poco el proyecto y me di cuenta que esta hecho en VB.net, esto se puede utilizar para proyectos en C#?


Título: Re: ElektroKit Framework v1.2 | ( Complementos para el núclero de .Net Framework )
Publicado por: Eleкtro en 16 Febrero 2016, 17:07 pm
Estuve viendo un poco el proyecto y me di cuenta que esta hecho en VB.net, esto se puede utilizar para proyectos en C#?

Hola

Por supuesto que si, es 100% compatible con proyectos de C#.

ElektroKit está desarrollado en Vb.Net, pero el lenguaje carece de importancia ya que es una librería y lo que vas a utilizar son las funcionalidades que esas librerías exponen para tú código, ya sea código en C# o Vb.Net, ya sea en tecnología WinForms, WPF, o Asp.Net, etc.

Al compilar ElektroKit se generan las librerías en la carpeta "..\bin", esas librerías resultantes puedes cargarlas en cualquier proyecto de C# para utilizarlas exactamente del mismo modo en el que se haría desde Vb.Net (excepto la sintaxis del lenguaje, claro está).

Si no te manejas con Vb.Net para compilar el proyecto (aunque no hay que hacer nada en especial, solo darle al botón de compilar), siempre puedes descargar las librerías ya compiladas desde los enlaces que dejé arriba o también desde las releases que hay publicadas en GitHub:
  • https://github.com/ElektroStudios/ElektroKit/releases

Saludos!


Título: Re: ElektroKit Framework v1.2 | ( Complementos para el núclero de .Net Framework )
Publicado por: Pablo Videla en 16 Febrero 2016, 20:20 pm
Gracias Elektro, me ha quedado clarisimo, saludos!.


Título: Re: ElektroKit Framework v1.2 | ( Complementos para el núclero de .Net Framework )
Publicado por: TrashAmbishion en 17 Febrero 2016, 02:44 am
Eres la ostia tremendo aportazo haz dado bro, la clavastes pero a lo grande..

Ando trasteandola cualquier problema te aviso.

Salu2 de Cuba !!


Título: Re: ElektroKit Framework v1.2 | ( Complementos para el núclero de .Net Framework )
Publicado por: Eleкtro en 17 Febrero 2016, 15:33 pm
Eres la ostia tremendo aportazo haz dado bro, la clavastes pero a lo grande..

Ando trasteandola cualquier problema te aviso.

Gracias por el comentario. :)

Saludos!


Título: Re: ElektroKit Framework v1.2 | ( Complementos para el núclero de .Net Framework )
Publicado por: Eleкtro en 23 Marzo 2016, 21:07 pm
¡¡ NUEVA VERSIÓN v1.5 YA DISPONIBLE !!

Cambios importantes:
  • Se ha reducido la cantidad de ensamblados a 9, unificando varios de ellos.
  • Se ha añadido un nuevo ensamblado, Elektro.Core.dll, por el motivo anterior.
  • Se ha añadido un nuevo ensamblado, Elektro.Application.ThirdParty.dll, con casi una infinidad de utilidades para librerías de terceros, wrappers de aplicaciones command-line, extensiones para frameworks de terceros como Telerik, etc.
  • Se han añadido al rededor de +100 nuevas extensiones de método en total.
  • Se han añadido muchas más utlidades en general, métodos, funciones, types, interfaces, etc.

Cambios no tan importantes:
  • Pequeñas optimizaciones, refactorizaciones, correcciones, y demás.



La lista actual de librerías de terceros referenciadas para desarrollar los miembros del Namespace Elektro.Application.ThirdParty, es la siguiente:

Citar
ABC OCR .NET
AForge
Alvas Audio
Android Lib
Aspose
CodeScales
DiffLib
dnlib
DotNetBar
DotNetZip
EASendMail
FreeImage
FtpClient
GeckoFX
HTMLAgilityPack
IconLib
ImageDraw
Nasosoft Transform
NAudio
NCalc
NDde
SautinSoft
Scintilla.Net
SevenZipsharp
SubtitleWorkshop
TagLib Sharp
Telerik
VistaCoreAudioApi
XnaFan ImageComparison

Notas:
 - Obviamente no es necesario compilar ni usar el ensamblado Elektro.Application.ThirdParty si uno no quiere.
 - Las dependencias no van incluidas en el código fuente por motivos éticos... (en algunas de ellas, es ilegal, como las de Telerik).

Saludos!


Título: Re: ElektroKit Framework v1.5 | ( Complementos para el núclero de .Net Framework )
Publicado por: TrashAmbishion en 14 Abril 2016, 05:34 am
Socio estoy haciendo lo siguiente añado la referencia

Elektro.Net

Declaro una variable

Código
  1.  
  2. Dim prueba As Elektro.Net.Tools.NetworkUtil
  3.  
  4.  

prueba me sale sin ningun metodo ni propiedad... que puede estar pasando toy con vs2015

Salu2


Título: Re: ElektroKit Framework v1.5 | ( Complementos para el núclero de .Net Framework )
Publicado por: Eleкtro en 14 Abril 2016, 19:51 pm
estoy haciendo lo siguiente añado la referencia

Declaro una variable
Código
  1. Dim prueba As Elektro.Net.Tools.NetworkUtil

prueba me sale sin ningun metodo ni propiedad... que puede estar pasando toy con vs2015

Hola

No sale ningún miembro por que no le has asignado ningún valor a dicha variable (es una referecia nula), pero de todas formas la clase Elektro.Net.Tools.NetworkUtil no es instanciable, por lo que no le encuentro sentido a lo que estás intentando, ¿Cual es tu intención con esa variable?.

Si lo que pretendes es crear una referencia corta del espacio de nombres, entonces puedes hacerlo de la siguiente manera:
Código
  1. Imports prueba = Elektro.Net.Tools.NetworkUtil
  2.  
  3. Public NotInheritable Class Form1 : Inherits Form
  4.  
  5.    Private Sub Test() Handles MyBase.Load
  6.  
  7.        Dim ip As String = prueba.GetPublicIp()
  8.        Console.WriteLine(ip)
  9.  
  10.    End Sub
  11.  
  12. End Class

PD: Las clases que son instanciables están en los nombres de espacios que empiezan por: Elektro.X.Types (en este caso Elektro.Net.Types), y las que no son instanciables están en los espacios de nombre que empiezan por: Elektro.X.Tools (en este caso Elektro.Net.Tools).

Espero que te sirva de ayuda!

Saludos


Título: Re: ElektroKit Framework v1.5 | ( Complementos para el núclero de .Net Framework )
Publicado por: TrashAmbishion en 15 Abril 2016, 19:18 pm
El ejemplo de NetWorkTrafficMonitor cuando lo cargo en el VS2010 de mi trabajo me da 1 error.......

Error   1

'Elektro.Net.Types.NetworkTrafficMonitor.Protected Friend Event TrafficChanged(sender As Object, e As Elektro.Net.Types.TrafficChangedEventArgs)' is not accessible in this context because it is 'Protected Friend'.

Salu2


Título: Re: ElektroKit Framework v1.5 | ( Complementos para el núclero de .Net Framework )
Publicado por: Eleкtro en 15 Abril 2016, 19:41 pm
@TrashAmbishion

'Elektro.Net.Types.NetworkTrafficMonitor.Protected Friend Event TrafficChanged(sender As Object, e As Elektro.Net.Types.TrafficChangedEventArgs)' is not accessible in this context because it is 'Protected Friend'.

Has descubierto un bug de diseño. Por algún motivo le cambié la visibilidad al evento (no se por qué lo hice, despues de haberlo testeado y haber escrito el ejemplo que estuviste intentado usar xD).

Si quieres puedes recompilar tu mismo la libería, solo tienes que buscar la clase NetworkTrafficMonitor y modificar la visibilidad del miembro...

de:
Código
  1. Protected Friend Event TrafficChanged As EventHandler(Of TrafficChangedEventArgs)

a:
Código
  1. Public Event TrafficChanged As EventHandler(Of TrafficChangedEventArgs)

De todas formas, aquí te subo la librería ya corregida y con algunos otros cambios:
  • http://www.mediafire.com/download/99m6lwl823vp286/Elektro.Net.dll
(Elektro.Net.dll v1.6 BETA; .NetFx4.0; AnyCPU\Debug)



Y aquí tienes un ejemplo de uso (actualizado):

Código
  1. Imports Elektro.Net.Enums
  2. Imports Elektro.Net.Tools
  3. Imports Elektro.Net.Types
  4.  
  5. Public NotInheritable Class Form1 : Inherits Form
  6.  
  7.    Friend WithEvents NetMon As NetworkTrafficMonitor
  8.  
  9.    Private Sub Form1_Shown() Handles MyBase.Shown
  10.        Me.InitializeNetMon()
  11.    End Sub
  12.  
  13.    Private Sub InitializeNetMon()
  14.  
  15.        Try
  16.            If Not NetworkTrafficMonitor.GetAvaliableInterfaceNames.Any() Then
  17.                Throw New Exception("Any available network interface found.")
  18.  
  19.            Else
  20.                Me.NetMon = New NetworkTrafficMonitor(NetworkTrafficMonitor.GetAvaliableInterfaceNames.First())
  21.                Me.NetMon.UpdateBehavior = TrafficMonitorUpdateBehavior.FireAlwaysAfterTick
  22.                Me.NetMon.UpdateInterval = 1000 ' 1 sec
  23.                Me.NetMon.Start()
  24.  
  25.            End If
  26.  
  27.        Catch ex As Win32Exception When ex.ErrorCode = -2147467259
  28.            MessageBox.Show("Cannot initialize network monitor. Ensure to enable performance counters service.", "",
  29.                            MessageBoxButtons.OK, MessageBoxIcon.Error)
  30.  
  31.        Catch ex As Exception
  32.            Throw
  33.  
  34.        End Try
  35.  
  36.    End Sub
  37.  
  38.    ''' ----------------------------------------------------------------------------------------------------
  39.    ''' <summary>
  40.    ''' Handles the <see cref="NetworkTrafficMonitor.TrafficChanged"/> event of the NetMon instance.
  41.    ''' </summary>
  42.    ''' ----------------------------------------------------------------------------------------------------
  43.    ''' <param name="sender">
  44.    ''' The source of the event.
  45.    ''' </param>
  46.    '''
  47.    ''' <param name="e">
  48.    ''' The <see cref="TrafficChangedEventArgs"/> instance containing the event data.
  49.    ''' </param>
  50.    ''' ----------------------------------------------------------------------------------------------------
  51.    Private Sub NetMon_TrafficChanged(ByVal sender As Object, ByVal e As TrafficChangedEventArgs) _
  52.    Handles NetMon.TrafficChanged
  53.  
  54.        Me.LabelBytesReceived.Text = String.Format("Bytes received: {0} kb", (e.BytesReceived / 1024).ToString("n2"))
  55.        Me.LabelDlSpeed.Text = String.Format("DL Speed: {0} kb/sec", (e.DiffBytesReceived / 1024).ToString("n2"))
  56.  
  57.        Me.LabelBytesSent.Text = String.Format("Bytes sent: {0} kb", (e.BytesSent / 1024).ToString("n2"))
  58.        Me.LabelUlSpeed.Text = String.Format("UL Speed: {0} kb/sec", (e.DiffBytesSent / 1024).ToString("n2"))
  59.  
  60.    End Sub
  61.  
  62.    Private Sub BtDownloadUrl_Click() Handles BtDownloadUrl.Click
  63.  
  64.        Dim url As String = "http://download.thinkbroadband.com/10MB.zip"
  65.        Dim client As New WebClient()
  66.        client.DownloadFileAsync(New Uri(url), Path.GetTempFileName())
  67.  
  68.    End Sub
  69.  
  70.    Private Sub BtPauseMon_Click() Handles BtPauseMon.Click
  71.  
  72.        If Me.NetMon.IsActive Then
  73.            Me.NetMon.Stop()
  74.        Else
  75.            Me.NetMon.Start()
  76.        End If
  77.  
  78.    End Sub
  79.  
  80. End Class

Saludos


Título: Re: ElektroKit Framework v1.5 | ( Complementos para el núclero de .Net Framework )
Publicado por: Lekim en 16 Abril 2016, 10:12 am
Hola elektro

Me ha surgido el siguiente problema con Elektro.Kit

Código:
El ensamblado al que se hace referencia "Elektro.Net" no se pudo resolver Advertencia	1	El ensamblado al que se hace referencia "Elektro.Net" no se pudo resolver porque tiene una dependencia de "System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" que no se encuentra en la versión de .NET Framework de destino actual ".NETFramework,Version=v4.0,Profile=Client". Quite las referencias a ensamblados que no se encuentran en la versión de .NET Framework de destino o cambie el destino del proyecto.	WindowsApplication1

s2s

Añado...
Versión utilizada: VB2010 (posiblemente sea el problema)


Título: Re: ElektroKit Framework v1.5 | ( Complementos para el núclero de .Net Framework )
Publicado por: Eleкtro en 16 Abril 2016, 12:02 pm
Lekim, me gustaría poder ayudarte pero ese problema no tiene relación con mi librería, es un problema de referencias de las librerías de .Net Framework.

Cómo indica en el warning, estás focalizando hacia la versión compacta (o 'perfil cliente') de los runtimes de .NetFx 4.0, lo que deberías hacer para resolverlo creo que ya lo sabes, debes focalizar a la versión completa en tu proyecto, y para ello debes tener instalada la versión completa de los runtimes, además del paquete de focalización para Visual Studio (Microsoft Multi-Targeting for .NET Framework 4, eso estando en VS2010 claro, en versiones superiores no es necesario), o simplemente podrías intentar descargar/obtener la librería System.web.dll (versión completa) y referenciar manualmente dicha librería en tu proyecto.

De todas formas, respecto a mi librería Elektro.Net.dll, deberías poder ignorar (y ocultar) el warning sin problema alguno, puesto que deberías poder utilizar todos los miembros del namespace Elektro.Net excepto aquellos que referencien miembros de la versión completa de System.Web.dll (que serán apenas 2 o 3 métodos de la clase Elektro.Net.Tools.WebUtil).

Saludos


Título: Re: ElektroKit Framework v1.5 | ( Complementos para el núclero de .Net Framework )
Publicado por: Lekim en 16 Abril 2016, 13:53 pm
...simplemente podrías intentar descargar/obtener la librería System.web.dll (versión completa) y referenciar manualmente dicha librería en tu proyecto

Pues eso hice, pero aún así persistía el problema. Lo que quería usar era Elektro.Net.Enums.GoogleLanguage.

El caso es que este problema me ha servido para aprender actualizar el Framework de versiones viejas de VB.NET incluso en SO como XP. Y se soluciona el problema. Ya no da error.

Ahora mismo estoy haciendo un tutorial, que colgaré en el foro, útil para los que usen vb2010 o vb2012. Muy curioso.

Por cierto, Net simplemente deshabilitaba el Elektro.kit, con lo cual tengo que referenciarlo de nuevo.

La verdad es que el truquillo podría explicarse en tres líneas, pero creo que vale la pena explicarlo al detalle y con imágenes.





Título: Re: ElektroKit Framework v1.5 | ( Complementos para el núclero de .Net Framework )
Publicado por: TrashAmbishion en 16 Abril 2016, 16:46 pm
Excelente,

Las modificaciones dieron resultados nada mas me dio un error a la hora de detectar el adaptador.

Cambio reciente:

Código
  1. NetworkTrafficMonitor.GetAvaliableInterfaceNames.Any()

Esto no rula algo pasa con esa función de arriba.

Código
  1. Me.netMon = New NetworkUtil.NetworkTrafficMonitor(NetworkTrafficMonitor.GetAvaliableInterfaceNames.First)

Ok, con la línea de arriba toma el 1er adaptador en mi caso "isatap" y trata de trabajar con él, ahora no recuerdo si brinca porque no lo logra o si es porque el valor que espera es un integer despues aclaro esto.

Solución que tome para mi caso muy particular, cargue los adaptadores en un listbox emparejado con su indice porque el espera un integer.

Listo todos los adaptadores

Código
  1.    For Each adpcont In NetworkTrafficMonitor.GetAvaliableInterfaceNames
  2.  
  3.    Next

Y al selecionarlo se lo paso:

Código
  1.     Me.NetMon = New NetworkTrafficMonitor(NetworkTrafficMonitor.GetAvaliableInterfaceNames(adpcont))


Título: Re: ElektroKit Framework v1.5 | ( Complementos para el núclero de .Net Framework )
Publicado por: Eleкtro en 16 Abril 2016, 19:19 pm
No hay ningún error en lo que comentas, pero creo que existe algo de malentendimiento por tu parte sobre el manejo de colecciones genéricas en general, te explico:

La extensión de LINQ IEnumerable.Any() (en: GetAvailableInterfaceNames().Any()) sirve para evaluar si una colección enumerable está vacía, la extensión Any() devolverá True si está vacía, de lo contrario, False.
¿Qué problema le encuentras?, "no rula" puede significar mil cosas distintas, intenta ser más específico.

El único motivo por el cual la extensión Any() podría dar una excepción, sería al utilizar dicha extensión para evaluar una colección nula (Nothing), pero si observamos el código fuente de mi función, podemos comprobar que en ningun caso se devuelve una colección nula:

Cita de: ElektroKit
Código
  1. Public Shared Function GetAvailableInterfaceNames() As IEnumerable(Of String)
  2.  
  3.    If PerformanceCounterCategory.Exists("Network Interface") Then
  4.        Return New PerformanceCounterCategory("Network Interface").GetInstanceNames()
  5.  
  6.    Else
  7.        Return Enumerable.Empty(Of String)()
  8.  
  9.    End If
  10.  
  11. End Function



Mi función GetAvailableInterfaceNames() devuelve una colección enumerable, por lo que efectivamente, como toda otra colección/Array, tiene un indexer que puedes utilizar para especificar un elemento de la colección (es decir, un nombre de adaptador) según el índice, por ejemplo: Dim adapterName As String = GetAvailableInterfaceNames(2).

La extensión de LINQ IEnumerable.First() devuelve el primer elemento de una colección. Recuerda que el código de ejemplo es eso, un ejemplo que toma la primera interfaz de red encontrada (asumiendo que existe al menos una) con: GetAvailableInterfaceNames().First().

Saludos


Título: Re: ElektroKit Framework v1.5 | ( Complementos para el núclero de .Net Framework )
Publicado por: TrashAmbishion en 18 Abril 2016, 05:33 am
Hola,

Reformulando la respuesta...

Esa línea trabaja bien lo que sucede es que devuelve "true" y entra a

Código
  1. Throw New Exception("Any available network interface found.")

En la ventana de Inmediato le hice un print a:

Código
  1. ? NetworkTrafficMonitor.GetAvaliableInterfaceNames.First()

Y me devuelve "isatap.{7F59D061-64A2-4292-B817-69CFF83CE3A8}", entonces le hice un For Each para ver todos los valores que tenía y me mostró todos los adaptadores incluyendo la tarjeta de red Realtek.

Asi que le quite ese If y lo adapté como habia comentado anteriormente...

Disculpa la mala explicación..

Salu2


Título: Re: ElektroKit Framework v1.5 | ( Complementos para el núclero de .Net Framework )
Publicado por: Eleкtro en 18 Abril 2016, 10:10 am
Hola,

Reformulando la respuesta...

Esa línea trabaja bien lo que sucede es que devuelve "true" y entra a

Código
  1. Throw New Exception("Any available network interface found.")

Coño, que despiste, tienes razón, en el código de ejemplo evaluo si es igual a True, cuando debería evaluar si es igual a False, para lanzar la excepción.

Ahora entiendo a lo que te refieres, disculpa. Ya está corregido, simplemente hay que añadirle un Not a la condicional:
Citar
Código
  1. If Not NetworkTrafficMonitor.GetAvaliableInterfaceNames.Any() Then
  2.                Throw New Exception("Any available network interface found.")

Saludos!


Título: Re: ElektroKit Framework v1.5 | ( Complementos para el núclero de .Net Framework )
Publicado por: TrashAmbishion en 18 Abril 2016, 15:23 pm
Bueno ayude a tropezones, jajajaja   :xD :xD :xD

Excelente trabajo sigo mirando la libreria...

Salu2


Título: Re: ElektroKit Framework v1.6 | ( Complementos para el núclero de .Net Framework )
Publicado por: Eleкtro en 28 Mayo 2016, 09:01 am
¡¡ NUEVA VERSIÓN v1.6 YA DISPONIBLE !!

Novedades (no se mencionan todas):
  • El type OutlookMailClient, para administrar una cuenta online de Outlook.com (Hotmail) mediante la API de Microsoft Office 365 y Active Directory (ADAL). No es una class muy completa, pero facilita y simplifica tareas cotidianas como autorizarse, obtener acceso a una carpeta, obtener los mensajes de una carpeta, eliminar mensajes y/o moverlos a otra carpeta, con lo que se puede desarrollar un bonito crawler en unos pocos y sencillos pasos, u otras trastadas mayores...
    (esta class usa métodos asíncronicos así que solo es visible en la versión de ElektroKit que corre bajo los runtimes de .Net Framework 4.5)
  • La class ImgurUtil y el type ImgurUploader, para hospedar imágenes en Internet mediante la API de Imgur.
  • La class DwmPreviewManager, para administrar las imágenes que windows usará para generar la previsualización en miniatura d enuestra app, y también la previsualización peek (Aero Peek). Esta funcionalidad es algo curiosa, me gusta inetntar cosas exóticas :).
  • Nuevas propiedades para trucar algunos parámetros de Windows en la class SystemParameters, como por ejemplo mostrar/ocultar los archivos ocultos del sistema y los archivos protegidos, activar/desactivar la selección de elementos del Explorer mediante el checkbox de selección, ejecutar las instancias de Explorer.exe en procesos paralelos, activar/desactivar el diálogo de confirmación de eliminación de archivos, y mucho más!.
    (los cambios realizados mediante esas propiedades tienen efecto AL INSTANTE, a diferencia de otras implementaciones que se pueden encontrar por Internet que se basan en un uso brusco del registro de Windows lo que implica un reinicio de sesión para aplicar los cambios ;-D)
  • Métodos para la compresión de imágenes (reducción de tamaño más bien), y la extracción y/o el conteo de iconos de un archivo, en la class ImageUtil.
  • Métodos para comprobar la versión del sistema perativo actual (incluyendo Windows 10), en la class OS.
  • Métodos para administrar el esquema de energía actual, en la class Power (véase también el type PowerPlan).
  • Métodos de carga y descarga de Hives de registro (SAM, NTUSER.DAT, etc.) en la class Registry (métodos: LoadHive y UnloadHive).
  • Propiedades para establecer el modo de error de la aplicación o el thread actual, en la class AppUtil (Propiedades: ProcessErrorMode y ThreadErrorMode)
  • Nuevos métodos de descarga asincrónica de archivos, en la class WebUtil.
  • El método ShowShellAboutDialog en la class Applets, para mostrar un diálogo de shell-about personalizado.
  • Métodos para asignar un proceso como crítico, y también para asignar o eliminar privilegios expecíficos de procesos, en la class ProcessUtil.
  • La class VisualBasicProjectFileManager para manipular en tiempo de ejecución las propiedades de un archivo de proyecto de VB.NET (proyecto.vbproj).
  • La class DelphiUtil con un simple método de conversión de equivalencia de tipos para ayudar sobre la interoperabilidad entre Delphi y .NET Framework.
  • Los siguientes types para la interoperabilidad entre Win32: SafeWindowHandle, SafeIconHandle, SafeBitmapHandle, SafeCursorHandle, SafeRegionHandle, y ZeroInvalidHandle (base class).
  • La enumeración HResult para facilitar la programación de código no administrado, la cual contiene los códigos HRESULT más conocidos, incluyendo los códigos HRESULT controlados por las excepciones administradas de .NET Framework.
  • Una basta cantidad de nuevas funciones Win32 (públicas) en la class NativeMethods, con sus correspondientes types, interfaces y enumeraciones en el namespace Elektro.Interop.Win32.
  • Se ha extendido considerablemente los types del namespace Elektro.Application.ThirdParty.TagLibSharp, ahora soportan la manipulación de tags APEv2 y Lyrics3.
  • La cantidad de extensiones de método actuales asciende a 587, aquí tienen la lista:
    https://github.com/ElektroStudios/ElektroKit/blob/master/Documentation/Extension-Method%20List.txt

Cambios:
  • He modificado el nombre de todos los valores de la enumeración WindowsMessages y EditControlMessages, del patrón "WmAbc" a "WM_Abc"; no es correcto añadir un guión bajo en .NET, pero esto facilitará la experiencia de usabilidad al programar en código no administrado.
  • He destripado y eliminado todos los miembros innecesarios del proyecto de terceros WindowsAPICodePack, como los controles de usuario, por lo que ahora es una versión reducida y liviana específica para el uso de ElektroKit. Tenerlo en cuenta, por que he eliminado muchas características que venían en la versión completa de Microsoft.
  • El proyecto ElektroKit.sln ahora es compilado con Visual Studio 2015, lo comento por que no se muy bien si esto afectará a usuarios que intenten compilar en versiones anteriores de Visual Studio.
  • El tamaño total de las librerías de ElektroKit, tanto en modo DEBUG como RELEASE, se ha reducido bastante, ahora pesan alrededor de 1,20 MB en su totalidad los 9 archivos .dll. Esto se debe al modo en que las compila Visual Studio 2015.
  • La class Input, que está relacionada con la API Win32 RAW_INPUT (implementada en funcionalidades de keylogging y mouselogging en el namespace Elektro.Core.IO) se ha dividido en dos classes distintas, Input32 y Input64. Esto es experimental y no lo he testeado, en caso de que Input32 no funcionase en equipos de 32-Bit entonces usar siempre la class Input64, debería funcionar.

Correcciones:
  • El método RedirectUrl en la class WebUtil no redireccionaba correctamente si la url apuntaba hacia ciertos servicios conocidos, como por ejemplo una url de RapidGator.net.
    El motivo de este fallo es específico de cada servidor y sus headers, pero como solución generalizada y alternativa he añadido un overload para especificar un user-agent personalizado, lo cual funcionará según que servicios (para RapidGator.net, funciona).
  • No se estaba disminuyendo correctamente a 0 la cantidad de referencias R.C.W. de algunos objetos COM que se usan internamente por algunas classes de ElektroKit,
    Esto se ha solucionado llamando directamente al método Marshal.FinalReleaseComObject() en lugar de disminuir 1 sola referencia con Marshal.ReleaseComObject().
  • Se han limpiado y dereferenciado todos los ensamblados y namespaces de .NET Framework innecesarios.
  • Algunos módulos de extensiones no eran visibles mediante Intellisense al intentar escribir el namespace completo, eso se debe a que el nombre del módulo se llamaba de la misma manera que algún método en su interior, la solución ha sido cambiar el nombre de los módulos conflictivos.
    Este cambio no afecta en absoluto en caso de que estuviesemos utilizando las extensiones de método de forma regular (type.Extension()) y no escribiendo el namespace completo (Namespace.Extension(type)).
  • Constantes refactorizaciones/optimizaciones por aquí y por allá, sin mayor importancia en realidad, pero los nombres de algunos miembros de ElektroKit pueden haber cambiado, o su modo de empleo.

Saludos!


Título: Re: ElektroKit Framework v1.7 | ( Complementos para el núcleo de .Net Framework )
Publicado por: Eleкtro en 27 Junio 2016, 16:36 pm
¡¡ NUEVA VERSIÓN v1.7 YA DISPONIBLE !!

En esta versión, los cambios más importantes son estéticos y no afectan al usuario final. Literálmente he tenido que modificar una a una las más de mil classes/archivos que componen a ElektroKit para realizar estos cambios; ha sido una refactorización bastante completa de la jerarquía y herencia de miembros, así que aunque esto no sea una actualización con muchas características nuevas, se puede decir que es una gran actualización como para llamarse v1.7.

Cabe mencionar que como consecuencia de los cambios estéticos, las librerias ocupen menos, y los documentos Xml mucho menos.

También he corregido algunos pequeños bugs, he añadido nuevos métodos y types, y he refactorizado algunas partes del código fuente, pero no hay nada que destacar en todo ello.

Saludos.


Título: Re: ElektroKit Framework v1.8 | ( Complementos para el núcleo de .Net Framework )
Publicado por: Eleкtro en 17 Julio 2016, 18:29 pm
¡¡ NUEVA VERSIÓN v1.8 YA DISPONIBLE !!

Cambios y novedades (no se menciona todo):

  • Todas las clases de ElektroKit que heredan del tipo EventArgs y Exception se han agrupado en namespaces/directorios aparte, ahora el código fuente y su representación visual está algo más organizada.
  • Añadida la class HUDForm en el namespace Elektro.Application.ThirdParty.SharpDX.Types para tener la base principal con la que poder desarrollar una ventana HUD para un juego de terceros (es muy básico).
  • Añadida la class LibVideoUtil para descargar videos de Youtube mediante la librería libvideo (el sucesor no oficial de YoutubeExtractor) Elektro.Application.ThirdParty.LibVideo.Tools.LibVideoUtil.
  • Añadido varios módulos de extensiones para facilitar el uso de la API oficial de Youtube, en el namespace: Elektro.Application.ThirdParty.Google.Youtube.Extensions.
  • Añadido métodos adicionales de descagra de datos en la class WebUtil (DownloadData(), DownloadDataAsync(), DownloadImage(), DownloadImageAsync()).
  • Añadido extensiones adicionales para el reciclaje de archivos y directorios en los módulos de extensiones: Elektro.Core.IO.Extensions.FileInfo y Elektro.Core.IO.Extensions.DirectoryInfo. (FileInfo.Recycle() y DirectoryInfo.Recycle())
  • Añadido métodos de extensiones para el agrupamiento y la unión de agrupamientos para colecciones IEnumerable , en el namespace: Elektro.Core.Generics.Extensions.IEnumerable (archivos: Group.vb y Join.vb).

PD: Muchas de las características mencionadas de ElektroKit solo están disponibles en los ensamblados compilados bajo .Net Framework 4.5.

Saludos!


Título: Re: ElektroKit Framework v1.8 | ( Complementos para el núcleo de .Net Framework )
Publicado por: Eleкtro en 24 Julio 2016, 06:39 am
¡¡ NUEVA VERSIÓN v1.9 YA DISPONIBLE !!

Cambios y novedades (no se menciona todo)

  • ElektroKit ahora también se distribuye bajo .NET Framework 4.6.

  • La herramienta AutomatedCompilerTask.exe que acompaña al código fuente de ElektroKit, la cual sirve para compilar de forma totalmente automatizada todas las configuraciones y plataformas del proyecto, ha sido actualizada para soportar .NET Framework 4.6.

  • Añadida la class GoogleSearch para utilizar el servicio de búsqueda de Google (de forma gratuita) mediante el type GoogleSearchOptions, y obtener los resultados de búsqueda representados con el type GoogleSearchResult.

  • El método genérico Elektro.Core.Diagnostics.Tools.ProfillingUtil.SwapObjects(Of T)(T, T) para invertir el valor de dos objetos.

  • El método Elektro.Application.UI.Tools.CLI.CLIUtil.SpinCursor() y Elektro.Application.UI.Tools.CLI.CLIUtil.SpinCursorTask() para crear una animación peculiar de "cargando..." para una aplicación de consola.
    (http://i.imgur.com/xEtRwtq.gif)

  • Se han añadido los siguientes métodos asincrónicos a la class Elektro.Application.UI.Tools.CLI.TypeWritter
    • WriteTask() As Task
    • WriteLineTask() As Task
    • WriteColorTask() As Task
    • WriteColorLineTask() As Task
    (http://i.imgur.com/qNCjBPq.gif)

  • La extensión NameValueCollection.ToGETRequestString() para facilitar el formato de un string para realizar una petición GET a un servicio Web.

  • Más overloads añadidos para el método Elektro.Application.Tools.AppUtil.SleepRandom()

  • La class Elektro.Interop.Tools.CompilerUtil.SubsystemVersions pasa de ser privada a pública, para el uso que se le pueda dar fuera de ElektroKit.

  • La class Elektro.Interop.Tools.CompilerUtil.SourceCodeTemplates pasa a llamarse Elektro.Interop.Tools.CompilerUtil.Snippets y el contenido se ha dividido en las siguientes classes:
    Elektro.Interop.Tools.CompilerUtil.Snippets.VisualBasicNET
    Elektro.Interop.Tools.CompilerUtil.Snippets.CSharp

  • Se han añadido las siguientes classes con varios snippets y plantillas de código:
    • Elektro.Interop.Tools.CompilerUtil.Snippets.DOS
    • Elektro.Interop.Tools.CompilerUtil.Snippets.javascript
    • Elektro.Interop.Tools.CompilerUtil.Snippets.Python
    • Elektro.Interop.Tools.CompilerUtil.Snippets.Regedit
    • Elektro.Interop.Tools.CompilerUtil.Snippets.Ruby
    • Elektro.Interop.Tools.CompilerUtil.Snippets.VisualBasicScript

  • Se han añadido overloads del método Elektro.Interop.Tools.CompilerUtil.CompileProject()para poder utilizar el compilador MsBuild.exe para .NET Framework 4.5, 4.6, y 4.6.1,
    y también para poder compilar una configuración y plataforma específica del proyecto (ej. Release -> Any CPU)

  • Una variedad de extensiones para la conversión de types y exportación de formatos para los siguientes types: DataTable, DataGridView, ListView.
    Lista completa:
    • DataTable.ExportToCSV() As String
    • DataTable.ExportToXml() As String
    • DataTable.ToDataGridView() As DataGridView
    • DataTable.ToListView() As ListView
    • DataTable.ToList() As List(Of Dictionary(Of String, Object))

    • DataGridView.ExportToCSV() As String
    • DataGridView.ExportToXml() As String
    • DataGridView.ToDataTable() As DataTable
    • DataGridView.ToListView() As ListView

    • ListView.ExportToCSV() As String
    • ListView.ExportToXml() As String
    • ListView.ToDataTable() As DataTable
    • ListView.ToDataGridView() As DataGridView

    ( todos ellos con ejemplos de uso prácticos y sencillos. )


Correcciones

  • En el método Elektro.Application.Tools.AppUtil.SleepRandom(), el parámetro del tipo TimeSpan se interpretaba en segundos, no millisegundos.


Título: Re: ElektroKit Framework v2.0 | ( Complemento para el núcleo de .Net Framework )
Publicado por: Eleкtro en 13 Septiembre 2016, 06:42 am
¡¡ NUEVA VERSIÓN v2.0 YA DISPONIBLE !!

Aparte de las típicas adiciones de métodos y funciones, la corrección de algunas cosas, o la actualización y refactorización de otras tantas, no solo del código sino también de la documentación, estos son algunos de cambios y novedades importantes de esta nueva versión:

  • Se ha añadido un nuevo método experimental SafePInvoke en la class Elektro.Interop.Tools.UnmanagedUtil, su propósito es doble, proporcionar mayor control al llamar a funciones Win32 y hacerlo escribiendo menos código del habitual.
     
  • Se ha añadido una nueva class Elektro.Core.Xml.Tools.JsonUtil, con utilidades para código JSON, entre ellos convertir un código JSON a varios tipos admiinstrados de Xml, y un método para embellecer y/o minificar un código de JSON (BeautifyJson/MinifyJson).
     
  • En el espacio de nombres Elektro.Application.ThirdParty.Office365.Types, la class OutlookMailClient pasa a llamarse OutlookMailClientExperimental, y ahora hay una nueva class OutlookMailClient. La diferencia está en que se utilizan las nuevas builds de la API de Microsoft, he dejado la versión antigua o "experimental" por que en mi caso me resulta muy útil, sobre todo por la facilidad de login en una cuenta de Outlook.com.
     
  • Se ha añadido un nuevo type, Elektro.Core.IO.Types.FileSignature, con el que podemos crear y representar una firma de archivo. Y el type Elektro.Core.IO.Types.FileTypeMatch con el que podemos obtener los datos de un análisis de firmas.
     
  • Más overloads añadidos a la class Elektro.System.Tools.Registry para la manipulación de entradas del registro de Windows.
     
  • (Esto solo afecta al examinar el código fuente) Todas las definiciones de funciones de la API de Windows se han reorganizado de forma alfabetica (por nombre de la dll) de la siguiente manera:
    (http://i.imgur.com/5KiqZO4.png)
     
  • Se han añadido las siguientes extensiones de método en el espacio de nombres Elektro.Core.Generics.Extensions.Nullable para la conversión entre tipos de datos nulables:

    • Nullable(Of TSource, TTarget).ConvertTo(Func(Of TSource, TTarget)) As Nullable(Of TTarget)
    • Nullable(Of T)().ConvertToNonNullable(T) As T()

  • Se han añadido una nueva class Elektro.Core.IO.Tools.FileTypeUtil.vb la cual sirve para determinar el tipo de archivo de un archivo, examinando la cabecera con una lista de firmas (la cual es extendible en tiempo de ejecución), estos son las funciones expuestas en dicha class:
     
    • GetFileTypeMatch(FileInfo, FileType) As FileTypeMatch
    • GetFileTypeMatch(String, FileType) As FileTypeMatch
    • GetFileTypeMatches(FileInfo) As List(Of FileTypeMatch)
    • GetFileTypeMatches(FileInfo, FileType()) As List(Of FileTypeMatch)
    • GetFileTypeMatches(String) As List(Of FileTypeMatch)
    • GetFileTypeMatches(String, FileType()) As List(Of FileTypeMatch)

  • Se ha añadido una nueva class Elektro.Multimedia.Gaming.Types.SnesRom para representar y manipular una ROM de super nintendo (para hacer rom hacking),
    en combinación con el type SnesCountry y las siguientes enumeraciones:

    • SnesBankTypeEnum
    • SnesCartridgeTypeEnum
    • SnesHeaderTypeEnum
    • SnesLicenseCodeEnum
    • SnesRegionTypeEnum
    • SnesRomSizeEnum
    • SnesSramSizeEnum

  • Se han añadido más plantillas de código fuente y snippets predefinidos en el espacio de nombres Elektro.Interop.Tools.CompilerUtil.SourceCodeTemplates:

    • SourceCodeTemplates.PowerShell
    • SourceCodeTemplates.Regedit

    Y se han actualizado y/o también optimizado el resto de plantillas de otros lenguajes que ya estaban definidos.
     
  • Se ha añadido una nueva class Elektro.System.Tools.SystemInfo.Steam para obtener información de una instalación del cliente de video juegos Steam, mediante las sigueintes propiedades

    • AccountRecoveryUrl As String
    • ClientCulture As CultureInfo
    • ClientFile As FileInfo
    • ClientLanguage As String
    • InstallDir As DirectoryInfo
    • IsInstalled As Boolean
    • RegistryInstallPath As String
    • RegistryUninstallPath As String
    • Version As Version

  • Se ha añadido la class Elektro.System.Tools.SystemInfo.Volume para obtener información de los volúmenes (particiones) montados en el sistema. Estas son algunas de las propiedades que podemos encontrar en dicha class:

    • ExtendedUncPathPrefix As String
    • IsCompressed(String) As Boolean
    • IsReadOnly(String) As Boolean
    • MaxComponentPathLength(String) As Integer
    • MaxExtendedPathLength As Integer
    • MaxPathLength As Integer
    • SerialNumber(String) As String
    • SupportsEncryption(String) As Boolean
    • SupportsExtendedFileAttributes(String) As Boolean
    • SupportsExtendedPath(String) As Boolean
    • SupportsFileCompression(String) As Boolean
    • SupportsHardLinks(String) As Boolean

  • Se han añadido los siguientes tweaks en la class Elektro.System.Tools.Tweaking.SystemParameters para manipular distintos aspectos de la configuración del sistema operativo:

    • AeroPeekEnabled As Boolean
    • BingSearchEnabled As Boolean
    • CombineSystemTrayIcons As Boolean
    • CombineTaskbarApplications As Boolean
    • ConsoleBackColor As ConsoleColor
    • ConsoleBufferAmount As Integer
    • ConsoleBufferSize As Integer
    • ConsoleEditEnabled As Boolean
    • ConsoleForeColor As ConsoleColor
    • ConsoleTransparency As Single
    • Consolev2Enabled As Boolean
    • CortanaEnabled As Boolean
    • CortanaSearchBoxEnabled As Boolean
    • CortanaSearchEnabled As Boolean
    • DesktopAutoColorizationEnabled As Boolean
    • ExplorerNavigationPanelEnabled As Boolean
    • ExtendedPathsEnabled As Boolean
    • FolderMergeConflictDialogEnabled As Boolean
    • HideDrivesWithNoMedia As Boolean
    • HotCornerTopLeftEnabled As Boolean
    • LowDiskFreeSpaceNotificationEnabled As Boolean
    • MinimumSelectedItemsToInvokeMenu As Integer
    • MyPCDisplayName As String
    • NotepadWordwrapEnabled As Boolean
    • NotificationCenterEnabled As Boolean
    • SecurityCenterNotificationsEnabled As Boolean
    • ShowFrequentDirsInQuickAccess As Boolean
    • ShowFullPathInExplorer As Boolean
    • ShowOneDriveInFolderBrowser As Boolean
    • ShowOneDriveInMyPC As Boolean
    • ShowQuickAccessInFolderBrowser As Boolean
    • ShowQuickAccessInMyPC As Boolean
    • ShowRecentItemsInQuickAccess As Boolean
    • ShowShortcutFileExtension As Boolean
    • ShowShortcutSuffix As Boolean
    • ShowUrlFileExtension As Boolean
    • ShowWindowsStorePinnedInTaskbar As Boolean
    • SlowSearchNotificationEnabled As Boolean
    • WindowArrangementEnabled As Boolean
    • WindowsErrorReportingEnabled As Boolean



Título: Re: ElektroKit Framework v2.0 | ( Complemento para el núcleo de .Net Framework )
Publicado por: Eleкtro en 3 Enero 2017, 12:10 pm
Hola!.

Algunas personas me han preguntado por que ElektroKit ha desaparecido de Github y NuGet (esto está en proceso todavía), pues bien, voy a explicarlo:

Para mi ha sido un placer compartir este gran proyecto de manera gratuita y desinteresada durante más de un año, actualización tras actualización, esfuerzo tras esfuerzo por perfeccionar este framework, pero ha llegado el momento de intentar sacarle un beneficio convirtiéndolo en un producto de pago, sobre todo con la nueva llegada de la versión (privada) 2.1

Así pues, les comunico que a partir de ahora ElektoKit se vuelve un producto de pago.

Si alguien estuviese interesado en adquirir ElektroKit, por favor, que esa persona se comunique conmigo mediante el e-mail que se muestra en mi perfil de usuario de este foro, y le informaré los pasos a seguir.

9l4EAk4dSOA

Espero que vosotros también hayais disfrutado de esta librería y os haya servido tanto como a mi. Ya no tiene sentido que este tema siga abierto... Cierro El Tema.

NOTA: PUEDEN ENCONTRAR ELEKTROKIT Y OTROS DE MIS PRODUCTOS A LA VENTA EN CODECANYON.

¡Un saludo y feliz año!