elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


  Mostrar Mensajes
Páginas: 1 ... 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 [858] 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 ... 1236
8571  Programación / Scripting / Re: QPF to Chapter file en: 13 Julio 2013, 04:01 am
vbs me redondea automaticamente los valores de los resultados inmediatos a su numero entero superior

Es lo que hace la función "Cint", usa "Int" en su lugar.

Por cierto, podrías evitar el uso de if's anidados, no lo soporto, con lo bonito y organizado que queda un Case:

Código
  1. ' Variables
  2. Const constante = 0.0417083
  3.  
  4. ' Do until qpfile.AtEndOfStream
  5.  
  6. set qpfile=createobject("scripting.filesystemobject").Opentextfile("C:\Users\Isra\Desktop\Nueva carpeta\10. QPFILE_NAME.qpf",1)
  7. qpfile.readline()
  8.  
  9. 'Filtrar linea, para quedarnos con el numero del frame
  10. For each token in split(qpfile.readline())
  11.     tratar(token)
  12. exit For
  13. Next
  14.  
  15. ' Loop
  16.  
  17. Wscript.quit
  18.  
  19. 'Subrutina para transformar numero entero en timestamp
  20. Sub Tratar(Frame)
  21.  
  22. 'Establecemos criterio de comparación
  23. calculo  = (Frame * constante)
  24. p_entera = int(calculo)
  25.  
  26. Select Case p_entera
  27.  
  28. Case p_entera >= 216000 'Mensaje de error
  29. hora=normalizar(calculo)
  30. msgbox("Error. Un video no puede tener una duracion continua igual a un o mas días.")
  31.  
  32. Case p_entera >= 3600 'Calculo de timecodes partiendo de horas
  33. msgbox("hola1")
  34.  
  35. Case p_entera < 3600 AND p_entera >= 60 ' Calculo de timecodes partiendo de minutos
  36. min=calculo\60
  37. seg=calculo mod 60
  38. ms=round(((((calculo/60)-min)*60)-seg),3)*1000
  39. msgbox(min & " min. " & seg & " seg. " & ms & " ms. ")
  40.  
  41. Case p_entera < 60 AND p_entera >= 0 'Calculo de timecodes partiendo de segundos
  42. msgbox("hola3")
  43.  
  44. Case ELSE
  45. msgbox("Error. No pueden existir valores negativos.")
  46.  
  47. End select
  48.  
  49. End Sub

PD: No lo he testeado, pero ya te haces una idea.

Saludos!
8572  Programación / Scripting / Re: QPF to Chapter file en: 13 Julio 2013, 03:41 am
¿Más que un procedimiento, no debería ser una función?

Vamos a ver, no veo que intentes retornar ningún valor ni que tengas planeado hacerlo en un futuro, tal y como lo estás haciendo vas bien, aunque yo lo haría todo dentro del For, pero usa un proc si sigues así ...usa una función si quieres tratar los valores fuera del bloque de la subrutina, en el Ciclo del For.

Óbviamente si deseas "tratar" las variables del proc fuera del proc primero tienes que declararlas...

Código
  1. dim hora
  2.  
  3. sub blabla
  4.   hora = X
  5. end sub
  6.  
  7. msgbox(hora)

saludos
8573  Programación / Scripting / Re: QPF to Chapter file en: 13 Julio 2013, 02:39 am
Si el problema es que necesitas saltar la primera línea del archivo pues ejecuta esta instrucción 2 veces:

Código
  1. ...
  2.  
  3. qpfile.readline() : linea=qpfile.readline() ' leemos dos lineas, pero nos quedamos con la segunda.
  4.  
  5. For each token in split(linea, " ") ...
  6. ...

EDITO: Si no es eso pues da más detalles... pero ten en cuenta antes de preguntar que puedes usar condicionales...

Código
  1. if not "a" = "A" then   : Wscript.Echo "no" : end if
  2. if Instr("a", "a") then : Wscript.Echo "si" : end if

Saludos
8574  Sistemas Operativos / Windows / Re: "Enviar a " en: 12 Julio 2013, 21:30 pm
Como te ha dicho drvy siempre se copian, y NO SE PUEDE MODIFICAR.

Aquí tienes una alternativa que hice en Ruby:

[RUBY] (APORTE) MoveIt (Complemento para el menú SendTo de Windows)

Es bien fácil de usar y en el post tienes las instrucciones,
la idea fue modificar la ruta en las propiedades de los accesos directos para ejecutar mi aplicación y pasarle como argumento dicha carpeta, y así trabajar con esa carpeta (mover archivos), por esa razón no es necesario crear nuevas entradas como dijo drvy, ni nada parecido, símplemente se ejecuta la aplicación y mueve los archivos, aquí tienes unas imágenes:





PD: Compila el script para que no te muestre la ventana del intérprete de Ruby y listo, todo será "oculto" ;).

Saludos.
8575  Programación / Scripting / Re: QPF to Chapter file en: 12 Julio 2013, 20:32 pm
¿Se puede hacer como en dos, crear una etiqueta (procedimiento) desde el interior del bucle??

Cualquier cosa que haga Batch se puede hacer en otro lenguaje, y mejor xD :

Código
  1. Set   TextFile = createobject("scripting.filesystemobject").Opentextfile("C:\Users\Isra\Desktop\Nueva carpeta\10. QPFILE_NAME.qpf",1)
  2. Const Constant = 0.0417083
  3.  
  4. Do Until TextFile.AtEndOfStream
  5.  
  6. For Each Token in split(TextFile.readline()) ' Te hago saber que por defecto un token es separado por un "espacio".
  7.        Tratar(Token)
  8. Next
  9.  
  10. Loop
  11.  
  12. Wscript.quit
  13.  
  14. Sub Tratar(Token)
  15. MsgBox(Token)
  16. End Sub
8576  Programación / Scripting / Re: QPF to Chapter file en: 12 Julio 2013, 19:37 pm
Código
  1. set qpfile=createobject("scripting.filesystemobject").Opentextfile("C:\Users\Isra\Desktop\Nueva carpeta\10. QPFILE_NAME.qpf",1)
  2.  
  3. Do until qpfile.AtEndOfStream
  4. linea=qpfile.readline()
  5. ' o msgbox(qpfile.readline())
  6. Loop

saludos
8577  Programación / Scripting / Re: QPF to Chapter file en: 12 Julio 2013, 18:50 pm
Se puede hacer un filtrado por tokens de un for de dos, en vbs??

Código
  1. str = "a-b-c-d-e-f"
  2.  
  3. For each token in split(str, "-")
  4.    wscript.echo(token)
  5. next

Saludos
8578  Programación / Scripting / Re: QPF to Chapter file en: 12 Julio 2013, 18:19 pm
Jeje me lo habia supuesto, estoy aprendiendo ahora a manejar vbscript, me suena de cuando en la facultad toque por encima el visualbasic... pero vamos que fue para importar tablas de excel y hace siglos de eso.... me mueroooooo  :silbar:

No te preocupes, para lo que necesitas no tienes que aprender casi nada, sólo a usar los operadores aritméticos y escribir una rchivo de texto.

Ejemplo:

Código
  1. num1 = 0.5
  2. num2 = 2
  3. Result = (num1 * num2)
  4.  
  5. Wscript.Echo(Result)
  6.  
  7. Set textfile = CreateObject("Scripting.FileSystemObject").OpenTextFile("C:\test.txt", 8, true)
  8. textfile.Write(Result & vbCrLf) : textfile.Close
  9.  
  10. Wscript.Quit(0)

Saludos
8579  Programación / Scripting / Re: QPF to Chapter file en: 12 Julio 2013, 18:07 pm
¿Algo está mal? ¿Acaso no se puede operar con numeros decimales?

Exacto, ese es el problema, Batch no soporta operaciones con decimales.

Aunque se pueden llegar a hacer, pero es un jaleo de código y porsupuesto no es algo "nativo" que digamos, diréctamente te recomiendo cualquier otro lenguaje.

Si no quieres depender de tener un intérprete instalado en el PC entonces te iría bien usar VBScript, javascript, O Powershell.

Saludos!
8580  Programación / Scripting / Re: QPF to Chapter file en: 12 Julio 2013, 09:43 am
me gustaria saber pq no me lista los numeros.

No estás usando comillas en el comando agrupado, no le estás indicando al FOR que se trata de un archivo, en lugar de eso estás usando comillas dobles así que estás leyendo interpretando un String "...\10. QPFILE_NAME.txt", no el contenido del archivo.

Hay dos formas de hacerlo, una es usando el parámetro "usebackq" del FOR y usar sólo comillas, y la otra es usando la sintaxis correcta del For agrupando un comando con comillas: ...In ('Type "archivo"') Do..., bueno, aquí tienes la sintaxis:

Citar
Código:
 FOR /F ["options"] %%parameter IN ('command_to_process') DO command

Citar
Código:
      usebackq     Use the alternate quoting style:                        
                   - Use double quotes for long file names in "filenameset".
                   - Use single quotes for 'Text string to process'
                   - Use back quotes for `command_to_process`


Código
  1. @echo off
  2. SetLocal EnableDelayEdexpansion
  3.  
  4. FOR /F "usebackq delims=" %%A IN (
  5. "C:\Users\Isra\Desktop\Nueva carpeta\10. QPFILE_NAME.txt"
  6. ) DO (
  7. SET "Reg=%%A"
  8. ECHO !Reg!
  9. )
  10.  
  11. Pause&Exit

Saludos
Páginas: 1 ... 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 [858] 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 ... 1236
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines