|
8531
|
Programación / .NET (C#, VB.NET, ASP) / Re: ¿ Se puede hacer esta consulta de fechas ?
|
en: 16 Agosto 2013, 02:13 am
|
La ciencia de "1 mes" no es exacta, son todo promedios, Google dice que son 30 días como ha dicho Novlucker, pero la Wikipedia dice que son 29, y nosotros cuando decimos un mes (al menos yo) pensamos en 30 días sin tener el cuenta el més en el que estamos, pero cuando decimos "el próximos més" pensamos en el día 1 del siguiente més, en fín por todo esto creo que no hay que comerse mucho la cabeza para intentar calcular al milímetro los meses. Así que aquí dejo el code funcional para VB que me ha proporcionado una persona, el code funciona con la fecha problemática que ha comentado @ostrede y también con los horarios: #Region " Date Difference " ' Date Difference ' ' Examples : ' ' MsgBox(DateDifference(DateTime.Parse("01/03/2013"), DateTime.Parse("10/04/2013"))) ' Result: 1 Months, 1 Weeks, 2 Days, 0 Hours, 0 Minutes and 0 Seconds ' MsgBox(DateDifference(DateTime.Parse("01/01/2013 14:00:00"), DateTime.Parse("02/01/2013 15:00:30"))) ' Result: 0 Months, 0 Weeks, 1 Days, 1 Hours, 0 Minutes and 30 Seconds Private Function DateDifference(ByVal Date1 As DateTime, ByVal Date2 As DateTime) As String Dim Time As TimeSpan Dim MonthDiff As Integer, WeekDiff As Integer Do Until Date1 > Date2 Date1 = Date1.AddMonths(1) MonthDiff += 1 Loop MonthDiff -= 1 Date1 = Date1.AddMonths(-1) Time = (Date2 - Date1) WeekDiff = (Time.Days \ 7) Time = (Time - TimeSpan.FromDays(WeekDiff * 7)) Return String.Format("{0} Months, {1} Weeks, {2} Days, {3} Hours, {4} Minutes and {5} Seconds", _ MonthDiff, WeekDiff, Time.Days, Time.Hours, Time.Minutes, Time.Seconds) End Function #End Region
¿Tema solucionado? xD. Saludos
|
|
|
8532
|
Programación / .NET (C#, VB.NET, ASP) / Re: ¿ Se puede hacer esta consulta de fechas ?
|
en: 15 Agosto 2013, 22:50 pm
|
EleKtro H@cker, sin probarla, esa función no es correcta  ¿Qué pasa si le paso como parámetros las fechas "01/01/2013 14:00:00" y "02/01/2013 13:00:30"? Saludos Es verdad no me di cuenta, malditas "horas" xD Bueno todo tiene solución, entonces hay que substraer en lugar de restar: Dim HourDiff As Long = Date2.Subtract(Date1).Hours Dim MinuteDiff As Long = Date2.Subtract(Date1).Minutes Dim SecondDiff As Long = Date2.Subtract(Date1).Seconds Dim MilliDiff As Long = Date2.Subtract(Date1).Milliseconds
Llevo un lio tremendo para sacar la fecha con eficacia (por ejemplo entre meses como febrero con 28 días), el valor de las semanas se resiste, pero nadie tiene la solución: http://stackoverflow.com/questions/18259835/function-to-get-a-custom-date-differenceSaludos!
|
|
|
8533
|
Programación / .NET (C#, VB.NET, ASP) / Re: ¿ Se puede hacer esta consulta de fechas ?
|
en: 15 Agosto 2013, 21:35 pm
|
Es reálmente necesario obtener el valor de las semanas?, los formatos de string standard de un DateTime no pueden obtener este valor... Ahora lo he hecho de otra manera ya que el primer code no funcionaba con algunas fechas, pero el valor de las semanas no se me ocurre como obtenerlo: CORREGIDO (eso creo, aun no he probado la modificación pero debería funcionar): Private Function DateDifference(ByVal Date1 As DateTime, ByVal Date2 As DateTime) As String Dim MonthDiff As Long , _ DayDiff As Long , HourDiff As Long , _ MinuteDiff As Long , SecondDiff As Long MonthDiff = Date2.Month - Date1.Month DayDiff = Date2.Day - Date1.Day HourDiff = Date2.Subtract(Date1).Hours MinuteDiff = Date2.Subtract(Date1).Minutes SecondDiff = Date2.Subtract(Date1).Seconds 'Dim MilliDiff As Long = Date2.Subtract(Date1).Milliseconds Return String.Format("{0} Months, {1} Days, {2} Hours, {3} Minutes and {4} Seconds", _ MonthDiff, DayDiff, HourDiff, MinuteDiff, SecondDiff) End Function
Saludos.
|
|
|
8535
|
Programación / .NET (C#, VB.NET, ASP) / Re: Como puedo crear un capturador de vídeo
|
en: 15 Agosto 2013, 20:26 pm
|
@Alexperto El compañero IkillNukes ha dado en el clavo, no es ninguna solución "Noob", no vas a poder codificar el video y mostrarlo al mismo tiempo mientras todavía se está codificando... primero creas los frames, los muestras, y luego (al darle al botón Stop) los codificas. ¿Que consumiria mucha ram?, bueno, no es necesario que captures y muestres bmp's a 32 BitDepth y con una resolución HighDefinition, puedes capturar en tiempo real jpg's pequeños y además disminuirle los efectos visuales de imágen usando las classes de GDI. Y para codificar el video, aparte de lo que te han dicho, mira si tienes poca información aquí: www.google.com/search?q=google+%2B+vbnet+record+video&ie=utf-8&oe=utf-8&lr=lang_enAunque si quieres mi opinión personal, diréctamente usaria una suite de codificación profesional como FFMPEG, X264 o MeGui, además FFMpeg tiene un Wrapper para VBNET y soporta la codificación dada una serie de frames así que lo tienes bien fácil, las otras aplicaciones no lo sé, pero en cualquier caso me parece mucho mejor llamar al x264 por línea de comandos para codificar un video resultante en formato H264 que codificar un video AVI por ejemplo usando otra cosa para que quede una patata xD. Saludos
|
|
|
8536
|
Foros Generales / Dudas Generales / Re: me han invadido y vampirizado?
|
en: 15 Agosto 2013, 17:58 pm
|
Me gustaría que me dieses tu opinión o alguna idea Si examinas el problema no parece haber ningún motivo por el cual preocuparse, si quieres tomar precauciones para el futuro puedes seguir el consejo de Hiper@ctive pero me parece muy extremista para este caso en concreto. 1. - Si tu hubiesen movido el puntero del mouse de forma remota, la pantalla no estaría suspendida, y no habrias necesitado encenderla, así que al menos no habia nadie con escritorio remoto. 2. - Al usar comandos para copiar archivos (Instrucciones remotas de Batch u de otro lenguaje), no salta la GUI del sistema de copiado de Windows, así que tampoco habia nadie copiando archivos de forma interna. En conclusión, que no habia nadie manipulando el mouse ni tampoco copiando archivos sin manipular el mouse, no sé de donde provendría dichos archivos que se estaban copiando, pero yo creo que un Juanker no era. Saludos!
|
|
|
8537
|
Programación / .NET (C#, VB.NET, ASP) / Re: descifrar AES en vb.net?
|
en: 15 Agosto 2013, 14:59 pm
|
Prueba así, este no pide el salt: #Region " AES Decrypt " ' [ AES Decrypt Function ] ' ' Examples : ' MsgBox(AES_Decrypt("cv/vYwpl51/dxbxSMNSPSg==", "Test_Password")) ' Result: Test_Text Public Function AES_Decrypt(ByVal input As String, ByVal pass As String) As String Dim AES As New System.Security.Cryptography.RijndaelManaged Dim Hash_AES As New System.Security.Cryptography.MD5CryptoServiceProvider Dim decrypted As String = "" Try Dim hash(31) As Byte Dim temp As Byte() = Hash_AES.ComputeHash(System.Text.ASCIIEncoding.ASCII.GetBytes(pass)) Array.Copy(temp, 0, hash, 0, 16) Array.Copy(temp, 0, hash, 15, 16) AES.Key = hash AES.Mode = Security.Cryptography.CipherMode.ECB Dim DESDecrypter As System.Security.Cryptography.ICryptoTransform = AES.CreateDecryptor Dim Buffer As Byte() = Convert.FromBase64String(input) decrypted = System.Text.ASCIIEncoding.ASCII.GetString(DESDecrypter.TransformFinalBlock(Buffer, 0, Buffer.Length)) Return decrypted Catch ex As Exception Return Nothing End Try End Function #End Region
...Aquí el encriptador, y más snippets: Librería de Snippets !! (Posteen aquí sus snippets)
|
|
|
8538
|
Informática / Software / Re: Qué Task Manager os gusta más??
|
en: 15 Agosto 2013, 14:36 pm
|
Si, pero para que nos valdría establecer dicha prioridad o afinidad de los procesos, que diferencia habría entre ellos??
Gracias
Si tenemos dos programas, uno con priodidad baja y otro con prioridad alta, si los dos programas necesitan ejecutar X acción al mismo tiempo, dicha acción primero la ejecutará el programa con prioridad alta, y cuando este termine de requerir los recursos del sistema, la ejecutará el programa de prioridad baja. Aunque bueno, esto si no tienes un PC un poco lento o poca RAM con decenas de procesos pesados abiertos la verdad es que ni se llega a notar el sistema de prioridades y da la sensación de que todos los programas se ejecutan a la misma velocidad. ...Dicho así quizás tampoco lo hayas entendido muy bien, te lo voy a decir de otra manera: Un navegador con prioridad baja o idle tardará más en iniciarse, y en abrir las páginas, en cargarlas, etc... si hubiera otros programas que requieran más atención en ese momento (prioridad) que el navegador, pues eso será asi con cualquier proceso. Otro ejemplo, si tienes un PC un poco lento, y ejecutas una película en un reproductor de video y le otorgas una prioridad en estado IDLE (o muy baja), y si aparte tienes abiertos otros 20 programas más (programas pesados como photoshop, que requieren RAM y recursos) con prioridades normales o altas, verás como el reproductor produce parones e irá a tirones, a veces el audio no se procesará, quizás habrá desincronicazión de audio en el video, y problemas parecidos ...etc, ya que al estar en prioridad baja o IDLE... si es que el nombre lo dice todo. Y lo de la afinidad te permite decidir que CPU's puede utilizar cada aplicación, si tienes 8 CPU's puedes decirle a una aplicación de 32 Bit que sólamente utilize el CPU8, y a una aplicación de 64 Bit que sólamente utilize el CPU 5 6 y 7, y así las aplicaciones no gastarán las mismas CPU's, aunque la verdad esto ya no se cuan beneficioso puede ser administrar las afinidades de nuestros programas... Saludos...
|
|
|
8539
|
Programación / Scripting / Re: [BATCH] SOY NUEVO Y ME GUSTARIA QUE ME AYUDARAN,POR FAVOR
|
en: 15 Agosto 2013, 14:16 pm
|
ya logre hacer el mini programa instalador. bat
ahora tengo una pregunta se podrá hacer un bat para cierto archivo.exe se ejecute 3 meses y no funcione mas.- ¿El "cierto archivo.exe" es de tu propiedad?, te comento esto porque entonces debes añadir la protección trial desde el lenguaje donde hayas programado dicha aplicación, no usando Batch. Lo más conveniente sería que utilizases aplicaciones profesionales tanto para crear un instalador (InstallBuilders) como para añadir protección Trial, ya que estas cosas no se pueden hacer de manera correcta usando algo tán simple como Batch. ...Pero si quieres hacerlo en Batch entonces puedes codear un script que cree una tarea programada que se ejecute dentro de 3 meses y elimine los archivos que quieras, aunque te advierto que el usuario puede descubrir esta tarea en el programador de tareas y desactivarla si así lo desea, no esperes hallar ningún método más efectivo usando Batch. -> SCHTASKSO también puedes añadir una entrada al Registro del usuario actual (HKCU) para ejecutar un script Batch en cada inicio de sesión, que cuente los días. -> Run and RunOnce Registry Keys...Si creas la clave con una longitud de nombre mayor a 255 caracteres entonces la clave se volverá invisible en Regedit, pero usando cualquier "taskManager" profesional se pueden ver estas claves invisibles, y eliminarlas si el usuario quiere. Saludos
|
|
|
|
|
|
|