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

#9491
Cita de: Songoku en 30 Enero 2013, 21:41 PM
podrias añadir los formatos que mas se usan en linux como el .tar.gz o el .tar.bz2. U otros como el .tar, .tar.bz, etc.[/color]

Lo del ACE queda descartado por obsoleto (Yo usaba mucho el WinACE por aquél entonces y es cierto que el ACE comprime como una bestia xD)

Muy buena idea lo de formatos para Linux, con eso creo que me has resuelto la duda Songoku, así hago la aplicación más compatible con otros sistemas (aunque séa poco xD).

Gracias.

Cita de: Stakewinner00 en 30 Enero 2013, 21:48 PM
Podrás colgar el código fuente?

El source de la versión 1.2 ya está en el subforo de .NET, el de esta versión lo postearé cuando añada el formato que falta (entre hoy o mañana xD), te recomiendo que esperes hasta que postee el source, porque en esta versión he mejorado muchas más cosas, no sólo he añadido más formatos.

un saludo
#9492
Hola,

He desarrollado un programa en el que comprimo ciertas cosas, hay un panel donde se puede elegir el formato:
"copy"
"sfx"
"rar"
"zip"
"iso"




El caso es que me sobra espacio para añadir una opción más en el panel de la aplicación, pero no sé que formato añadir, me está costando mucho decidirme (no quiero ir a lo fácil), podría añadir "7zip", pero es que ya uso "Zip" y es demasiado parecido, ¿Conocen algún formato que valga la pena añadir a dicha aplicación?

7z > descartado
LZMA > este es el que añadiré si no encuentro mejores sugerencias

un saludo
#9493
EDITO 3:
Ya está, lanzar el proceso paraba la ejecución de ese sub-thread (yo pensaba que no), por eso el while no funcionaba, aunque me daba la sensaciónd e que sí,
así que tengo que hacer un nuevo thread para ejecutar el proceso, y hacer las comprobaciones en el antiguo thread mientras ese nuevo thread se está ejecutando.

listo,
Saludos!






Esta es la situación:
Al darle a un botón, ejecuto un proceso que va generando pequeños archivos en un directorio, con este patron:  "Disc.zip.001",  "Disc.zip.002", "Disc.zip.003"

Y lo que intento es, mientras se van generando esos archivos, ir contandolos para agregar un valor a una barra de progreso,
es decir, si se han de crear 50 archivos, pero de momento solo se han creado 20 archivos, pues examino el directorio para obtener el número "20", y el valor que le doy a la barra de progreso es "20".



Este es el Problema:
Algo pasa con la variable o con el while, porque el progreso no se muestra, la variable no suma el valor,
me da la sensación de que el io.directory.getfiles solo se ejecuta una vez, y es cuando el directorio está vacio (sin archivos zip) y por eso el valor no aumenta... es "0"
ya que cuando el directorio está lleno de archivos zip, si vuelvo a darle al botón, me muestra el valor correcto, por eso pienso que sólo se ejecuta una vez... a pesar de estar dentro de un while.  :rolleyes:



Este es el código:
Código (vbnet) [Seleccionar]
           Dim Volumes

           If Copy_Mode = "Zip" And Not Want_to_cancel_thread = True Then
               While Not Run_Process(TempDir & "Splitty_7zip.exe", " a " & """" & Selected_Output_Directory & "\Disc.zip" & """" & " " & """" & Selected_Directory & """" & " -v" & Selected_Disc_Bytes.ToString & "b " & " -mx=0 -bd -tzip", False, True) = True
                 
                   If Want_to_cancel_thread Then Exit While ' Esta comprobación funciona corréctamente, sin problemas.

                  ' Esto de aquí no aumenta de valor... o al menos sólo lo hace una única vez, no lo sé... :
                   Volumes = IO.Directory.GetFiles(Selected_Output_Directory, "*.zip.*")
                   InvokeControl(ProgBarPlus, Sub(x) x.Value = Volumes.Length)
                   'InvokeControl(ProgBarPlus, Sub(x) x.Refresh()) ' He probado a refrescar el control, pero creo que es problema de la variable.

               End While
           End If


Cuando le doy al botón para generar los zips:

(el valor no aumenta ni nada!)

Cuando le doy al botón en un directorio que ya contiene zips (esto es hacer trampa, pero es para ver si así si que funciona):

(me muestra el valor correcto)


¿Alguien me puede decir si el código está bien, o he cometido algún error?



EDITO:
También he probado así, pero nada, el valor sigue siendo 0, solo se procesa una única vez...creo...

Código (vbnet) [Seleccionar]
               While Not Run_Process(TempDir & "Splitty_7zip.exe", " a " & """" & Selected_Output_Directory & "\Disc.zip" & """" & " " & """" & Selected_Directory & """" & " -v" & Selected_Disc_Bytes.ToString & "b " & " -mx=0 -bd -tzip", False, True) = True
                   InvokeControl(ProgBarPlus, Sub(x) x.Value = IO.Directory.GetFiles(Selected_Output_Directory, "*.zip.*").Length)
               End While
           End If



EDITO 2:

Y esto:

Estoy seguro de que la comprobación sólo se ejecuta una vez.. porque si el directorio está vacío no me muestra NADA (no hay msgbox), pero si el directorio está lleno, me muestra el msgbox...

Código (vbnet) [Seleccionar]
             While Not Run_Process(TempDir & "Splitty_7zip.exe", " a " & """" & Selected_Output_Directory & "\Disc.zip" & """" & " " & """" & Selected_Directory & """" & " -v" & Selected_Disc_Bytes.ToString & "b " & " -mx=0 -bd -tzip", False, True) = True
                   If Want_to_cancel_thread Then Exit While

                   If IO.File.Exists(Selected_Output_Directory & "\Disc.zip.001") Then
                       MsgBox(IO.Directory.GetFiles(Selected_Output_Directory, "*.zip.*").Length)
                       ' InvokeControl(ProgBarPlus, Sub(x) x.Value = IO.Directory.GetFiles(Selected_Output_Directory, "*.zip.*").Length)
                   End If
         
               End While
           End If


#9494
katze, desconozco esas librerías pero pongo la mano en el fuego al no creer que haya ningún SDK ni Wrapper ni librería en general para desarrolladores que séa capaz de convertir entre decenas de formatos (audio y video), demuxear audio y video, obtener y modificar Metadatos, reconstruir videos, detectar codecs, detectar fallos en los videos, sacar frames... y sin contar que el FFMPEG ya tiene todos los controles de excepciones programados.

Dime que librería es capáz de hacer todo eso sobre un video y serás mi Dios, hasta entonces, perdona que lo dude.

Y aunque existiera, a eso que comentas, habría que añadirle las librerías necesarias al proyecto (lame, x264, xvid, etc), todo eso aumentaría bastante más de peso que el própio FFMPEG, que ya lo tiene todo en su interior y no es necesario más, y luego el esfuerzo imaginable de juntar todo y hardcodear todos los aspectos de los procedimientos que queramos realizar en cada ocasión con dicha librería sobre un video, y codear los controles de errores, excepciones, mostrador de progreso, en fín TODO desde cero, cuando FFMPEG lo tiene todo ya programado en simples comandos y es perfecto.

Además, como me dijo un excelente programador del foro, si ya tenemos una utilidad profesional que nos hace el trabajo, ¿para que ponernos a inventarla nosotros?  (sobretodo si sabemos que no es mejorable)

Y en otra cosa que me baso, es que el 90% de utilidades de ediciónd e video que he visto también incorporan el FFMPEG para hacer sus cosas. (Obvio que el Sony Vegas y productos así de profesionales no, pero cualquier otro proyecto más amateur sí)

Un saludo!
#9495
Si embedo un archivo .EXE a mi proyecto, el compilador de VBNET realiza algún tipo de compresión sobre el archivo embedido?

Es que... ahora me he acostumbrado a comprimir los executables usando 7zip, y embedir el zip al proyecto para ahorrar bastante espacio (si necesito usar el EXE embedido, cargo al disco el 7zip.exe, el archivo comprimido que contiene el EXE, y lo descomprimo en una carpeta temporal),
pero ayer me sucedió algo extraño y creo que el proyecto pesa menos embediendo los EXE, que embediendo los zips (los exes están comprimidos al máximo dentro del zip, y es más del 80% de ratio de compresión), pero no puedo verificarlo corréctamente, por eso os pregunto si el VS ya comprime los exe mejor que 7zip, o algo parecido xD.

EDITO: Vale, no, me he rallado mucho, no recordaba que el otro día adjunté el FFMPEG.EXE (que pesa 20 MB) al proyecto, y el proyecto pesaba 20 MB, en cambio si comprimo el ffmpeg con 7zip y lo adjunto sólo pesa 7 MB, así que ahora tengo claro que el compilador no comprime recursos embedidos  :rolleyes:


Saludos
#9496
Creo que al final me decanto por el 7zip SDK (reduced) v9.22, el ratio de compresión es alucinante, y el de la tool LZMA también, no tienen comparación !

http://www.7-zip.org/sdk.html

Saludos
#9497
Scripting / Re: nircmd posicion
28 Enero 2013, 23:16 PM
Cita de: asdexiva en 28 Enero 2013, 23:01 PMcomo ve la posicion de los txtbox ?¿

¿Que quieres decir?

Sí lo que necesitas es averiguar las coordenadas de algo fácilmente, puedes usar una aplicación que hice:

> http://elektrostudios.tk/MouseXY.exe



Saludos
#9498
Hola,

Estoy probando el ejemplo de esta documentación: http://www.codeproject.com/Tips/257193/Easily-zip-unzip-files-using-Windows-Shell32

El problema es que no me descomprime el archivo.

Se trata de un archivo ZIP comprimido con WinRAR.

El code ni me tira error, ni me lo descomprime :-/

Código (vbnet) [Seleccionar]
Public Class Form1

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim sc As New Shell32.Shell()
        Dim input As Shell32.Folder = sc.NameSpace("C:\Users\Administrador\Desktop\Filmen_FFMPEG.zip")
        Dim output As Shell32.Folder = sc.NameSpace("C:\")
        output.CopyHere(input.Items, 4)
    End Sub

End Class


PD: El DotNetZip es un poco pesado de tamaño (para eso prefiero usar WinRar xD), por eso intento hacerlo usando la referencia de windows...

saludos
#9499
Scripting / Re: Cronometro en BATCH
28 Enero 2013, 17:16 PM
@Revol89
El post es del año 2008. Lee las reglas porfavor.

Tema cerrado,
  Saludos
#9500
@binario010101

Es la cuarta norma que incumples en el foro.

1. Prohibido poner información de contacto de forma pública.
2. Prohibido revivir posts antiguos si no es para aportar información útil.
3. los códigos deben ir en la etiqueta code.
4. los títulos de los posts deben ser descriptivos, los títulos tipo "ayuda" serán eliminados (Creo que has podido darte cuanta de eso ya).

Haz el favor de leer las reglas generales, y las reglas de este subforo.

foro.elhacker.net/reglas

Tema cerrado.