Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Eleкtro

#3161
.NET (C#, VB.NET, ASP) / Re:
6 Octubre 2016, 19:59 PM
Cita de: okik en  6 Octubre 2016, 19:47 PM
Perdona que insista, pero es que lo dices como si fuera una constante universal o algo así. Es relativo depende del ordenador.

Si el autor del post va a usar el programa para él con su propia compu y se le comprime 1GB en 2s, estupendo. Pero si lo va a usar en otros ordenadores, pues vamos en el mío me sale la barrita y se tira más de un minuto. Lo he probado en un portatil del 2008, o sea que tiene ya 8 añitos.
y termino porque es tontería discutir por algo que es obvio  :P

Mejor que termines, por que como tu has dicho es absurdo discutir esto y tener que demostrarte como funcionan las cosas para luego recibir estas respuestas críticonas sin sentido.

Vamos a ver, si en un PC, sea el que sea, tarda un tiempo determinado "X" con compresión, entonces en ese PC (relativamente a su potencia pues claro está joder, los hay más lentos y más rápidos), sin la compresión tardará 60 veces menos que "X" (60 veces por decir algo, puede que más, o que menos) puesto que entre comprimir y solo copiar si que existe una constante de velocidad, la velocidad de escritura del disco (relativa a los demás factores del PC), ¿lo entiendes o no lo entiendes?, pues ya está, intenta no tergiversar mis palabras, puesto que me parece que se entendió a la perfección la primera vez.

Además de algo tan obvio, si yo digo que tengo un HDD normalito, y que me tarda eso en copiar, entonces es una buena base para tomar como punto de comparación al decirte que te debería tardar más o menos lo mismo, 2 segundos aprox., puesto que tu PC y HDD también será normalito al fin y al cabo (como tu mismo has dicho), ¿se entiende ahora o sigues sin querer entenderlo?, y aun tardría menos la segunda copia y las copias posteriores (siempre que sean consecutivas) debido al caching que se hace a los archivos de la copia anterior.

Saludos!

#3162
.NET (C#, VB.NET, ASP) / Re:
6 Octubre 2016, 19:38 PM
Cita de: okik en  6 Octubre 2016, 19:22 PMEso he hecho yo con el winrar y me tarda. no se, tendrás un ordenador más potente. no se.

1 GB en 2 s, madre mía tu tienes uno de la NASA por lo menos XD
¿Usas SSD? imagino que si. No puedes esperar que todos tengan una compu como al tuya

No, no uso SSD, tengo un SATA normal, no se que decirte, no me llega ni a 2 segundos para realizar esa operación, en general deberías notar la diferencia y mucho, puesto que lo que normalmente te tardaria en comprimir 60 segundos, de esta manera no tarda ni 3.




Cita de: okik en  6 Octubre 2016, 19:22 PMDe todos modos él tendría que tener instalado el winrar y usar comandos. Sigo sin verlo.

No es necesario, yo solo he puesto un ejemplo aleatorio (lo más rápido que tenía a mano) para demostrar lo que te expliqué, pero se puede implementar facilmente utilizando librerías de compresión para .NET, como DotNetZip o SevenZipSharp, ambas soportan la "no compresión" y el cifrado.

También se puede recurrir al namespace System.IO.Compression, soporta la "no compresión", pero desconozco si soporta el cifrado.

Saludos!
#3163
.NET (C#, VB.NET, ASP) / Re:
6 Octubre 2016, 19:05 PM
Cita de: okik en  6 Octubre 2016, 17:42 PMacabo de probar por curiosidad comprimir sin compresion, pero tarda igual ¿a qué te refieres?

Ejemplo en WinRAR:

( zip, store, y contraseña establecida. )

Archivos a comprimir: 160
Tamaño total de los archivos: 2 1 GB aprox.
Tiempo transcurrido para la "compresión": (menos de) 2 segundos aprox.

Solo tarda lo que se tardan en copiar los archivos, puesto que no se realiza compresión, de ahí mis palabras: "no tarda nada en absoluto, en comparación".

Cita de: okik en  6 Octubre 2016, 17:42 PM...y cifrarlo luego si que tardaría ¿no?

No, al establecer una contraseña se añade información/metadatos al archivo comprimido.

Saludos!
#3164
.NET (C#, VB.NET, ASP) / Re:
6 Octubre 2016, 17:21 PM
Cita de: okik en  6 Octubre 2016, 14:53 PMNo no le servirá porque el contenido de la carpeta puede ser relativamente grande según el programa en el que desea aplicar esa función.  Eso podría demorar mucho tiempo ya que el hace un listado de archivos que contengan una determinada extensión en un número indeterminado de directorios y se copian en dicha carpeta. Con lo cual si hay 1532 archivo por ejemplo de tipo *.exe, pues tardaría bastante.

Solamente en caso de que se le aplique la compresión. Se puede "comprimir" en modo de almacenamiento (storage) sin compresión alguna, lo que no demora absolutamente nada en comparación.

Saludos!
#3165
Cita de: El_Andaluz en  4 Octubre 2016, 22:01 PMY la pagina seguía igual de todas manera lo he solucionado aceptando la política de Fecebook o algo así que cada vez que le paso el cleean me vuelve ha salir el mensaje no se si tendrá algo que ver para la pagina de Fecebook a veces salga en blanco.

Podría ser una posibilidad.

A mi se me ocurre que quizás tuvieras alguna extensión que esté bloqueando los scripts de la página y por eso no cargase correctamente y se quedase "en blanco", si te vuelve a pasar prueba a desactivar temporalmente extensiones como AdBlock+, NoScript etc. y recargas la página.

Saludos
#3166
El planteamiento del menú con IF es una metodología algo primitiva, pero lo más importante es que la sintaxis que estás utilizando del comando Start es erronea, lee la ayuda del comando Start.

Dicho esto, para iniciar el archivo en una nueva instancia de la CMD podrías hacerlo de la siguiente manera:

( hay un bug en el foro que no me prmite publicar el código, así que te lo dejo en este enlace. )

Saludos!
#3167
Cita de: Orubatosu en  5 Octubre 2016, 12:01 PM¿Sabes como llamarían montones de países a tu idea de que los EEUU envíen un millón de voluntarios con comida, dinero o lo que sea? Te lo diré: Invasión, ingerencia en los asuntos de otro país. Los gritos de muchos llegarían hasta el cielo (la mayoría los mismos que justifican por ejemplo que Rusia bombardee hospitales, eso es bueno)

Pues supongo que si, así sería, es lo que yo digo, que en resumidas cuentas los gobiernos y sus representantes son unos psicópatas mal nacidos que intentarán convertir un acto de bondad humanitaria, positiva, y beneficioso para la vida de muchas personas, en una especie de acto delictivo o conflicto político que no se debe hacer por que es "malo", y como es algo "malo" los demás paises querrán matarte, pfff... y todo para seguir teniendo el poder entre unos pocos, todo para una élite.

Cita de: Orubatosu en  5 Octubre 2016, 12:01 PMEn Africa hay ahora países enteros bajo el control de bandas de terroristas, delincuentes, etc... envía voluntarios anda. Veremos cuantos vuelven a trozos.

Bueno, los problemas se verían de uno en uno, si lo de los voluntarios no parece tan buena idea siempre se puede desarrollar una idea mejor, solo tienen que poner a un grupo de personas que piensen dia y noche en la mejor solución por el bien de la humanidad. A mi se me ocurre una solución que no implicaría asesinatos, pero tal vez lo llamarían "invasión aerea"... excusas no les faltan para llamar "invasión" al simple hecho de ayudar a las personas.

En fin, yo lo que digo es que si EEUU quisiera (que no quiere), podrían empezar a planificar soluciones para otros temas, ayudar a los demás en general, pero ayudar del todo al 100%, como por ejemplo suministrar el dinero necesario para la reconstrucción de ciudades en ruinas o abandonadas, o en la descontaminación de otras, ya sabes por donde voy, la ciudad fantasma de Nagasaki, Chernobyl, etc.

Saludos
#3168
Cita de: Orubatosu en  5 Octubre 2016, 10:41 AMEsos paises tienen sus "jefecillos". Una parte muy importante de las ayudas, tanto económicas como en materiales que se envian a muchos paises acaban en las manos de los señores locales, que los usan como moneda de presión para conseguir partidarios.

¿Porque no van y lo reparten directamente?

Claro... invade el país, desarma a los señores locales y a sus milicias y... espera, eso se parece mucho a una invasión ¿no?

Para evitar ese problema de que unos "jefecillos" se lleven el dinero y desaparezca, quizás simplemente hiciera falta que EEUU donase a asociaciones como Médicos sin fronteras, Greenpeace, etc, pero que donase una cantidad como un 2% de su economía al año y adiós al hambre y a las tribus que se mataban por pelearse a ver quien le roba la comida al otro, mira, problema resuelto, sin invasión ni nada... ¿por qué no se hace?.

...O también podrían coger a 1.000.000 de voluntarios americanos al año y enviarlos allá como turistas para regalar dinero y comida y material higiénico a todo el mundo, no me digas que es imposible, con la suficiente dedicación, organización y paciencia todo sería posible para EEUU, simplemente no hay ganas de hacerlo por que los gobiernos son una jodida élite de garrapatas adiestradas para someter a la sociedad, en cambio cuando se trata de cojer a 300.000 marionetas soldados y transportarlos a una guerra en la otra parte del mundo para que mueran "defendiendo a su país", ahí si, en eso EEUU no duda hacerlo ni por un momento...

Saludos
#3169
Buen aporte, siempre me han gustado este tipo de snippets que nunca se sabe cuando se podrán necesitar y cuando menos te lo esperas lo necesitas usar por el motivo que ses, jeje




Cita de: okik en  3 Octubre 2016, 16:06 PMNo se si alguien sabrá porque ocurre esto y si hay forma de solventarlo.

Sería mucho más facil intentar proporcionarte ayuda si en la documentación Xml hubieses incluido la url de MSDN (o el archivo de cabeceras de C++) de donde sacaste los valores de la enumeración "viewOptIcon", o si lo hubieses especificado al describir el problema...

Dicho esto, sin haber podido leer la documentación y anotaciones de Microsoft o haber podido analizar la fuente que sea de donde sacaste esos valores, entonces solo puedo decirte que podrías probar a notificarle el cambio de vista de iconos al sistema operativo utilizando la función SendMessageTimeout

Código (vbnet) [Seleccionar]

''' <remarks>
''' <see href="http://msdn.microsoft.com/en-us/library/windows/desktop/ms644952%28v=vs.85%29.aspx"/>
''' </remarks>
<DllImport("User32.dll", SetLastError:=True)>
Friend Shared Function SendMessageTimeout(ByVal hwnd As IntPtr,
                                         ByVal msg As WindowsMessages,
                                         ByVal wParam As IntPtr,
                                         ByVal lParam As IntPtr,
                                         ByVal flags As SendMessageTimeoutFlags,
                                         ByVal timeout As Integer,
                                   <Out> ByRef refResult As IntPtr
) As IntPtr
End Function
' Overloads y documentación adicional:
' https://github.com/ElektroStudios/ElektroKit/blob/12f1ff734193945286b00b3abf605a1b89fea648/Solution/Elektro.Interop/Win32/NativeMethods/NativeMethods_User32.vb

''' <remarks>
''' <see href="http://msdn.microsoft.com/en-us/library/windows/desktop/ms644952%28v=vs.85%29.aspx"/>
''' </remarks>
<Flags>
Friend Enum SendMessageTimeoutFlags As Integer
   Normal = &H0
   Block = &H1
   AbortIfHung = &H2
   NoTimeoutIfNotHung = &H8
   ErrorOnExit = &H20
End Enum
' Documentación adicional:
' https://github.com/ElektroStudios/ElektroKit/blob/12f1ff734193945286b00b3abf605a1b89fea648/Solution/Elektro.Interop/Win32/Enums/SendMessageTimeoutFlags.vb

Friend Enum WindowsMessages As Integer

   ''' <remarks>
   ''' <see href="http://msdn.microsoft.com/en-us/library/windows/desktop/ms644952%28v=vs.85%29.aspx"/>
   ''' </remarks>
   HWND_Broadcast = &HFFFF

   ''' <remarks>
   ''' <see href="http://msdn.microsoft.com/en-us/library/windows/desktop/ms725497%28v=vs.85%29.aspx"/>
   ''' </remarks>
   WM_SettingChange = &H1A

End Enum
' Mensajes de ventana adicionales y documentación adicional:
' https://github.com/ElektroStudios/ElektroKit/blob/12f1ff734193945286b00b3abf605a1b89fea648/Solution/Elektro.Interop/Win32/Enums/WindowsMessages.vb


Modo de empleo:
Código (vbnet) [Seleccionar]
Public Shared Sub ViewModeIconDesktop(...)
   ...
   SendMessage(...)
   NativeMethods.SendMessageTimeout(New IntPtr(WindowsMessages.HWND_Broadcast), WindowsMessages.WM_Settingchange, IntPtr.Zero, IntPtr.Zero,
                                    SendMessageTimeoutFlags.AbortIfHung, 100, IntPtr.Zero)
End Sub


El mensaje de ventana WM_SETTINGCHANGE sirve para notificar a una ventana de un cambio en los valores del sistema (también puedes especificar el nombre específico de la clave de registro en el parámetro lParam), y al especificar la constante HWND_BROADCAST se envia la notificación a todas las ventanas principales activas en el sistema... conviene enviarlo a todas las ventanas cuando se trata de un cambio que afecte al escritorio.

No lo he probado con tu código, pero esta metodología siempre me ha funcionado para actualizar el sistema al realizar una gran mayoría de cambios que de otra manera no se verían reflejados al instante o se revertirían al reiniciar sesión de usuario, aunque te advierto que no funciona con todos los tipos de cambios.

Saludos!
#3170
Es necesario que leas y sigas las normas del foro.

Has incumplido muchas normas en tan solo dos días desde tu registro, aparte está prohibido hacer doble post, también no creo que cueste tanto escribir un mensaje con sentido para expresar lo que tengas que expresar usando como mínimo más de 5 palabras... lo digo sobre todo por tus otros mensajes eliminados, y si ves que te borran cada 2 de 3 mensajes que publicas eso debería darte una pista de que a lo mejor algo estás haciendo mal.

Qué este mensaje sirva a modo de advertencia, por mi parte no se tolerará otra infracción de las reglas como este post (duplicado) que has publicado, además si tu pregunta tiene que ver con Java, es decir, si buscas una solución de implementación para un lenguaje muy específico, ¿entonces por qué lo vuelves a publicar en programación general para mal gastar el tiempo del personal?.

Post original:

Tema Cerrado.

Saludos