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


Tema destacado: Únete al Grupo Steam elhacker.NET


  Mostrar Mensajes
Páginas: 1 ... 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 [880] 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 ... 1258
8791  Programación / .NET (C#, VB.NET, ASP) / Re: [Pregunta] (C#) ¿Qué significan las variables 'e' y 'sender'? en: 13 Julio 2013, 05:13 am
Para añadir algo de información a la respuesta de Novlucker he hecho un ejemplo práctico:

EDITO: Justo ahora leí que era para C#, sorry, pero igual te puede servir.

Código
  1. Public Class Form1
  2.  
  3.    ' Creamos dos objetos de tipo {Button} con algunas propiedades :
  4.  
  5.    Dim WithEvents objeto1 As Button = New Button _
  6.    With {.Name = "Boton1", _
  7.          .AutoSize = True, _
  8.          .Tag = "Botoncito 1", _
  9.          .Text = "Soy el botón 1, púlsame!", _
  10.          .Font = New Font("Microsoft Sans Serif", 16, FontStyle.Bold), _
  11.          .Dock = DockStyle.Top}
  12.  
  13.    Dim WithEvents objeto2 As Button = New Button _
  14.    With {.Name = "Boton2", _
  15.          .AutoSize = True, _
  16.          .Tag = "Botoncito 2", _
  17.          .Text = "Soy el botón 2, púlsame!", _
  18.          .Font = New Font("Microsoft Sans Serif", 16, FontStyle.Bold), _
  19.          .Dock = DockStyle.Bottom}
  20.  
  21.    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  22.        ' Asociamos un {evento} de los objetos a un {eventhandler} :
  23.        AddHandler objeto1.MouseDown, AddressOf objeto_Click
  24.        AddHandler objeto2.MouseDown, AddressOf objeto_Click
  25.        ' Añadimos los controles al formulario :
  26.        Me.Controls.Add(objeto1) : Me.Controls.Add(objeto2)
  27.    End Sub
  28.  
  29.    Private Sub objeto_Click(sender As Object, e As MouseEventArgs) ' Handles objeto1.MouseDown, objeto2.MouseDown
  30.  
  31.        ' El objeto que recibe el sender es de tipo {Button}, el sender equivale a uno de nuestros botones :
  32.  
  33.        MsgBox(String.Format("Name: {0}Tag: {1}Text: {2}", _
  34.                             sender.Name & Environment.NewLine, _
  35.                             sender.tag & Environment.NewLine, _
  36.                             sender.Text & Environment.NewLine))
  37.  
  38.        ' Pero en algunos casos querremos convertir el sender al tipo de objeto en cuestión,
  39.        ' por ejemplo en este caso para diferenciar entre un botón y otro :
  40.  
  41.        Dim Boton As Button = CType(sender, Button)
  42.  
  43.        Select Case Boton.Name
  44.            Case "Boton1" ' El botón se llama "Boton1"
  45.                MsgBox("Esto sucede al pulsar el botón: " & Boton.Name)
  46.                ' Código...
  47.            Case "Boton2" ' El botón se llama "Boton2"
  48.                MsgBox("Esto otro sucede al pulsar el botón: " & Boton.Name)
  49.                ' Más código...
  50.        End Select
  51.  
  52.        ' Una muestra de como manejar {e} para el tipo de evento {MouseEventArgs} :
  53.        MsgBox("Pulsaste el botón de tu mouse: " & e.Button.ToString)
  54.  
  55.    End Sub
  56.  
  57. End Class

Saludos.
8792  Programación / Scripting / Re: QPF to Chapter file en: 13 Julio 2013, 04:10 am
No me molesta aunque si te fijas esto más bien es un tutorial express, lo del cint, el for y los "tokens", y etc no te habría costado nada encontrarlo en Google xD, de hecho yo estaba usando el Split como si fuese un método porque estoy acostumbrado a eso en el resto d elenguajes, y tuve que Googlear para ver que en VBS Split es una función y por lo tanto se escribe delante.

un saludo.
8793  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!
8794  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
8795  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
8796  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.
8797  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
8798  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
8799  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
8800  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
Páginas: 1 ... 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 [880] 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 ... 1258
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines