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


 


Tema destacado:


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 [10] 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ... 1017
91  Foros Generales / Dudas Generales / Re: Traducir un video de youtube en: 6 Agosto 2017, 21:01
Si no te sale la opción de "CC" (Closed Captions) en teoría es una señal que indica que el autor del video no ha activado las "contribuiciones de la comunidad" para ese video, y por ende el video no soporta contribuiciones de subtítulos. Vamos, que no puedes traducir el video.

Fuente(s):
https://support.google.com/youtube/answer/6054623?hl=en
https://support.google.com/youtube/answer/6052538?hl=en

Si es que alguien sabe de alguna forma o metodo porfavor escribame a mi correo

Siempre puedes tratar de contactar con el "creador de contenido" (el autor del video) para solicitarle que active las contribuiciones de la comunidad para su canal y para ese video. Eso es lo único que pudes hacer. No sé si por preguntar en una pagina a lo mejor esperabas otro tipo de solución... ¿como por ejemplo hackear a Google? X'D.

Saludos.
92  Foros Generales / Foro Libre / Re: Qué canción estás escuchando ahora ? en: 6 Agosto 2017, 19:23
...Dos temas wüapos de Rock para el antes y el despues de hacer gym:

Ashes From Stone - Mine Oh Mine


Ashes From Stone - Buried Alive
93  Programación / Programación General / MOVIDO: Ayuda con un programa de VBNET que no funciona correctamente en: 6 Agosto 2017, 13:16
El tema ha sido movido a .NET.

http://foro.elhacker.net/index.php?topic=473239.0
94  Programación / .NET / Re: Ayuda con un programa de VBNET que no funciona correctamente en: 6 Agosto 2017, 13:16
Bufff... el formulario tiene unas 16.400 líneas de código... Eso es casi 1Mb. Pero es que además el código es completamente espagueti... Desisto de perder tiempo revisándolo.

...Pues no te puedes hacer una idea de cómo era el código fuente "original" :xD: http://foro.elhacker.net/ingenieria_inversa/una_duda_sobre_un_programa_con_codigo_fuente-t472356.0.html;msg2133052#msg2133052



1. Se agradece que hayas puesto imágenes, agradezco mucho la gente que se toma el tiempo de escribir y explicar bien las cosas. Pero te ha faltado mostrar lo más importante: el bloque de código del controlador del evento Button.Click del botón "Elim/Marcados"...

2. En la imagen de la caja de error estás tapando con letras rojas la última palabra del mensaje de error, no sé que narices pone ahí (¿"objeto de comando" tal vez?). De todas formas traducir/hacerse a la idea del significado de un error con mensajes de error en Español de por si ya es una tarea bastante odiosa. Te sugiero que modifiques el idioma de la aplicación a Inglés (y con ello los mensajes de error):
Código
  1. Application.CurrentCulture = New CultureInfo("en-US")
  2. Thread.CurrentThread.CurrentUICulture = New CultureInfo("en-US")
...de esta forma el mensaje de error será bastante más comprensible para todos (ya que la gran mayoría de programadores están acostumbrados a programar en Inglés y lidiar con mensajes del depurador generados en Inglés para las excepciones producidas) y podrás encontrar muchísimo más facilmente información en la World Wide Web sobre un mensaje de error específico que no conozcas o que sea poco habitual...

3. Dale a "Detalles" en la caja de error y muéstranos el rastreo de la pila de llamadas, todo el mensaje al completo (click derecho > seleccionar todo > copiar). Ahí debería indicarte al menos la linea del código fuente que ha producido la excepción, y con eso ya tendrías alguna pista más para que trates de depurar el código por ti mismo. Te muestro un ejemplo de un stack-trace de una excepción cualquiera:

Código
  1. See the end of this message for details on invoking
  2. just-in-time (JIT) debugging instead of this dialog box.
  3.  
  4. ************** Exception Text **************
  5. System.IO.FileNotFoundException: Could not find file 'C:\fsdfsdf'.
  6. File name: 'C:\fsdfsdf'
  7.   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
  8.   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
  9.   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
  10.   at System.IO.File.Open(String path, FileMode mode)
  11.   at WindowsApp3.Form1.Button1_Click(Object sender, EventArgs e) in C:\Visual Studio Projects\WindowsApp3\WindowsApp3\Form1.vb:line 26
  12.   at System.Windows.Forms.Control.OnClick(EventArgs e)
  13.   at System.Windows.Forms.Button.OnClick(EventArgs e)
  14.   ...



Es un puto horror tratar de depurar esto. Podrías probar a empezar por expandir las variables especificadas dentro de las cadenas de texto de las sentencias 'DELETE' para comprobar que valores estás enviando exactamente en esas peticiones de la base de datos.

Código
  1. Me._Button3.Text = "Elim/Marcados"
  2.  
  3. ...
  4.  
  5. Private Sub Button3_Click(ByVal sender As Object, ByVal e As EventArgs) Handles _Button3.Click
  6.    Dim str3 As String = ""
  7.    Dim str4 As String = ""
  8.    Dim str5 As String = ""
  9.    Dim str6 As String = ""
  10.    Dim str7 As String = ""
  11.    Dim str8 As String = ""
  12.    Dim num5 As Double = 0
  13.    Dim num As Integer = 0
  14.    Dim box As CheckedListBox = Me._CheckedListBox2
  15.    num = (Me._CheckedListBox2.CheckedItems.Count - 1)
  16.    Do While (num >= 0)
  17.        Dim str22 As String
  18.        Dim str23 As String
  19.        Dim str24 As String
  20.        Dim str25 As String
  21.        str3 = Me._CheckedListBox2.CheckedItems.Item(num).ToString
  22.        If (Strings.Len(Strings.Trim(str3)) = &H1C) Then
  23.            str4 = Strings.Mid(str3, 1, 3)
  24.            str6 = Strings.Mid(str3, 5, 5)
  25.            str5 = Strings.Mid(str3, 20, 4)
  26.            str7 = Strings.Mid(str3, &H1A, 3)
  27.            str8 = String.Concat(New String() {str8, str7, str4, str6, str5})
  28.        End If
  29.        If (Strings.Len(Strings.Trim(str3)) = &H1D) Then
  30.            str4 = Strings.Mid(str3, 1, 3)
  31.            str6 = Strings.Mid(str3, 5, 5)
  32.            str5 = Strings.Mid(str3, &H15, 4)
  33.            str7 = Strings.Mid(str3, &H1B, 3)
  34.            str8 = String.Concat(New String() {str8, str7, str4, str6, str5})
  35.        End If
  36.        If (Strings.Len(Strings.Trim(str3)) = 30) Then
  37.            str4 = Strings.Mid(str3, 1, 3)
  38.            str6 = Strings.Mid(str3, 5, 5)
  39.            str5 = Strings.Mid(str3, &H21, 4)
  40.            str7 = Strings.Mid(str3, &H1A, 3)
  41.            str8 = String.Concat(New String() {str8, str7, str4, str6, str5})
  42.        End If
  43.        If (Strings.Len(Strings.Trim(str3)) = &H1F) Then
  44.            str4 = Strings.Mid(str3, 1, 3)
  45.            str6 = Strings.Mid(str3, 5, 5)
  46.            str5 = Strings.Space(4)
  47.            str7 = Strings.Mid(str3, &H1D, 3)
  48.            str8 = String.Concat(New String() {str8, str7, str4, str6, str5})
  49.        End If
  50.        If (Strings.Len(Strings.Trim(str3)) = &H20) Then
  51.            str4 = Strings.Mid(str3, 1, 3)
  52.            str6 = Strings.Mid(str3, 5, 5)
  53.            str5 = Strings.Space(4)
  54.            str7 = Strings.Mid(str3, 30, 3)
  55.            If (StringType.StrCmp(Strings.Mid(str3, 30, 1), "", False) <> 0) Then
  56.                str7 = Strings.Mid(str3, &H1C, 3)
  57.            End If
  58.            str8 = String.Concat(New String() {str8, str7, str4, str6, str5})
  59.        End If
  60.        If (Strings.Len(Strings.Trim(str3)) = &H21) Then
  61.            str4 = (Strings.Mid(str3, 1, 2) & " ")
  62.            str6 = Strings.Mid(str3, 6, 5)
  63.            str5 = Strings.Space(4)
  64.            str7 = Strings.Mid(str3, &H1F, 3)
  65.            str8 = String.Concat(New String() {str8, str7, str4, str6, str5})
  66.        End If
  67.        If (Strings.Len(Strings.Trim(str3)) = &H22) Then
  68.            str4 = Strings.Mid(str3, 1, 2)
  69.            str6 = Strings.Mid(str3, 5, 5)
  70.            str5 = Strings.Mid(str3, &H15, 9)
  71.            str7 = Strings.Mid(str3, &H20, 3)
  72.            str8 = String.Concat(New String() {str8, str7, str4, str6, str5})
  73.        End If
  74.        Me._CheckedListBox2.Items.Remove(RuntimeHelpers.GetObjectValue(Me._CheckedListBox2.CheckedItems.Item(num)))
  75.        Dim str13 As String = str7
  76.        Dim str14 As String = str4
  77.        Dim inputStr As String = str6
  78.        Dim str16 As String = str5
  79.        num5 = Conversion.Val(inputStr)
  80.        Dim connection3 As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=BD2.mdb")
  81.        If (Strings.Len(Strings.Trim(str3)) = &H1C) Then
  82.            str23 = "delete from imprimir where cod+numero+mid(descrip,1,4)=@var10+@var11+mid(@var13,1,4)"
  83.        End If
  84.        If (Strings.Len(Strings.Trim(str3)) = &H1D) Then
  85.            str23 = "delete from imprimir where cod+numero=@var10+@var11"
  86.        End If
  87.        If (Strings.Len(Strings.Trim(str3)) = 30) Then
  88.            str23 = "delete from imprimir where cod+mid(numero,1,3)+mid(descrip,1,4)=@var10+@var11+@var13"
  89.        End If
  90.        If (Strings.Len(Strings.Trim(str3)) = &H1F) Then
  91.            str23 = "delete from imprimir where cod+numero=@var10+@var11"
  92.        End If
  93.        If (Strings.Len(Strings.Trim(str3)) = &H20) Then
  94.            str23 = "delete from imprimir where cod+numero=@var10+@var11"
  95.        End If
  96.        If (Strings.Len(Strings.Trim(str3)) = &H21) Then
  97.            str23 = "delete from imprimir where cod+numero=@var10+@var11"
  98.        End If
  99.        If (Strings.Len(Strings.Trim(str3)) = &H22) Then
  100.            str23 = "delete from imprimir where cod+mid(numero,1,2)+descrip=@var10+@var11+@var13"
  101.        End If
  102.        Dim command3 As New OleDbCommand(str23, connection3)
  103.        command3.CommandType = CommandType.Text
  104.        If (Strings.Len(Strings.Trim(str3)) = &H1C) Then
  105.            command3.Parameters.Add("@VAR10", str13)
  106.            command3.Parameters.Add("@VAR11", str14)
  107.            command3.Parameters.Add("@VAR13", str16)
  108.        End If
  109.        If (Strings.Len(Strings.Trim(str3)) = &H1D) Then
  110.            command3.Parameters.Add("@VAR10", str13)
  111.            command3.Parameters.Add("@VAR11", str14)
  112.            command3.Parameters.Add("@VAR13", str16)
  113.        End If
  114.        If (Strings.Len(Strings.Trim(str3)) = 30) Then
  115.            command3.Parameters.Add("@VAR10", str13)
  116.            command3.Parameters.Add("@VAR11", str14)
  117.            command3.Parameters.Add("@VAR13", str16)
  118.        End If
  119.        If (Strings.Len(Strings.Trim(str3)) = &H1F) Then
  120.            command3.Parameters.Add("@VAR10", str13)
  121.            command3.Parameters.Add("@VAR11", str14)
  122.        End If
  123.        If (Strings.Len(Strings.Trim(str3)) = &H20) Then
  124.            command3.Parameters.Add("@VAR10", str13)
  125.            command3.Parameters.Add("@VAR11", str14)
  126.            command3.Parameters.Add("@VAR13", str16)
  127.        End If
  128.        If (Strings.Len(Strings.Trim(str3)) = &H21) Then
  129.            command3.Parameters.Add("@VAR10", str13)
  130.            command3.Parameters.Add("@VAR11", str14)
  131.        End If
  132.        If (Strings.Len(Strings.Trim(str3)) = &H22) Then
  133.            command3.Parameters.Add("@VAR10", str13)
  134.            command3.Parameters.Add("@VAR11", str14)
  135.            command3.Parameters.Add("@VAR13", str16)
  136.        End If
  137.        connection3.Open()
  138.        command3.ExecuteNonQuery()
  139.        connection3.Close()
  140.        Dim connection4 As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=BD2.mdb")
  141.        Dim str19 As String = Strings.Mid(StringType.FromDate(DateAndTime.Today), 1, 2)
  142.        Dim str20 As String = Strings.Mid(StringType.FromDate(DateAndTime.Today), 4, 2)
  143.        Dim str18 As String = Strings.Mid(StringType.FromDate(DateAndTime.Today), 7, 4)
  144.        Me.vfecha = DateAndTime.Today
  145.        If (Strings.Len(Strings.Trim(str3)) = &H1C) Then
  146.            str24 = "select monto from acumula where cod+numero+mid(signo,1,4)=@vcod+@vnum+mid(@var03,1,4) and fecha=@vfecha"
  147.        End If
  148.        If (Strings.Len(Strings.Trim(str3)) = &H1D) Then
  149.            str24 = "select monto from acumula where cod+numero=@vcod+@vnum and fecha=@vfecha"
  150.        End If
  151.        If (Strings.Len(Strings.Trim(str3)) = 30) Then
  152.            str24 = "select monto from acumula where cod+mid(numero,1,3)+mid(signo,1,4)=@vcod+@vnum+mid(@var03,1,4)"
  153.        End If
  154.        If (Strings.Len(Strings.Trim(str3)) = &H1F) Then
  155.            str24 = "select monto from acumula where cod+numero=@vcod+@vnum and fecha=@vfecha"
  156.        End If
  157.        If (Strings.Len(Strings.Trim(str3)) = &H20) Then
  158.            str24 = "select monto from acumula where cod+numero=@vcod+@vnum and fecha=@vfecha"
  159.        End If
  160.        If (Strings.Len(Strings.Trim(str3)) = &H21) Then
  161.            str24 = "select monto from acumula where cod+numero=@vcod+@vnum and fecha=@vfecha"
  162.        End If
  163.        If (Strings.Len(Strings.Trim(str3)) = &H22) Then
  164.            str24 = "select monto from acumula where cod+mid(numero,1,2)+mid(signo,1,4)=@vcod+@vnum+mid(@var03,1,4) and fecha=@vfecha"
  165.        End If
  166.        Dim command4 As New OleDbCommand(str24, connection4)
  167.        command4.CommandType = CommandType.Text
  168.        If (Strings.Len(Strings.Trim(str3)) = &H1C) Then
  169.            command4.Parameters.Add("@vcod", str13)
  170.            command4.Parameters.Add("@vnum", str14)
  171.            command4.Parameters.Add("@var03", str16)
  172.            command4.Parameters.Add("@vfecha", Me.vfecha)
  173.        End If
  174.        If (Strings.Len(Strings.Trim(str3)) = &H1D) Then
  175.            command4.Parameters.Add("@vcod", str13)
  176.            command4.Parameters.Add("@vnum", str14)
  177.            command4.Parameters.Add("@vfecha", Me.vfecha)
  178.        End If
  179.        If (Strings.Len(Strings.Trim(str3)) = 30) Then
  180.            command4.Parameters.Add("@vcod", str13)
  181.            command4.Parameters.Add("@vnum", str14)
  182.            command4.Parameters.Add("@var03", str16)
  183.        End If
  184.        If (Strings.Len(Strings.Trim(str3)) = &H1F) Then
  185.            command4.Parameters.Add("@vcod", str13)
  186.            command4.Parameters.Add("@vnum", str14)
  187.            command4.Parameters.Add("@vfecha", Me.vfecha)
  188.        End If
  189.        If (Strings.Len(Strings.Trim(str3)) = &H20) Then
  190.            command4.Parameters.Add("@vcod", str13)
  191.            command4.Parameters.Add("@vnum", str14)
  192.            command4.Parameters.Add("@vfecha", Me.vfecha)
  193.        End If
  194.        If (Strings.Len(Strings.Trim(str3)) = &H21) Then
  195.            command4.Parameters.Add("@vcod", str13)
  196.            command4.Parameters.Add("@vnum", str14)
  197.            command4.Parameters.Add("@vfecha", Me.vfecha)
  198.        End If
  199.        If (Strings.Len(Strings.Trim(str3)) = &H22) Then
  200.            command4.Parameters.Add("@vcod", str13)
  201.            command4.Parameters.Add("@vnum", str14)
  202.            command4.Parameters.Add("@var03", str16)
  203.            command4.Parameters.Add("@vfecha", Me.vfecha)
  204.        End If
  205.        connection4.Open()
  206.        command4.ExecuteNonQuery()
  207.        Dim reader As OleDbDataReader = command4.ExecuteReader
  208.        Dim expression As Double = 0
  209.        Do While reader.Read
  210.            expression = DoubleType.FromString(reader.Item(0).ToString)
  211.        Loop
  212.        connection4.Close()
  213.        reader.Close()
  214.  
  215.        If (Conversion.Val(expression) > num5) Then
  216.            Me.vent = StringType.FromDouble((Conversion.Val(expression) - num5))
  217.        Else
  218.            Me.vent = StringType.FromInteger(0)
  219.        End If
  220.        If (Conversion.Val(expression) = num5) Then
  221.            Me.vent = StringType.FromDouble((Conversion.Val(expression) - num5))
  222.        Else
  223.            Me.vent = StringType.FromInteger(0)
  224.        End If
  225.        If (DoubleType.FromString(Me.vent) < 0) Then
  226.            Me.vent = StringType.FromInteger(0)
  227.        End If
  228.        Me.vent = Strings.Trim(Me.vent)
  229.        If (Strings.Len(Me.vent) = 1) Then
  230.            str22 = ("0" & Me.vent & ".00")
  231.        ElseIf (Strings.Len(Me.vent) = 2) Then
  232.            If (StringType.StrCmp(Strings.Mid(Strings.Trim(Me.vent), 1, 1), ".", False) = 0) Then
  233.                str22 = ("00" & Strings.Trim(Me.vent) & "0")
  234.            Else
  235.                str22 = (Strings.Trim(Me.vent) & ".00")
  236.            End If
  237.        ElseIf (Strings.Len(Me.vent) = 3) Then
  238.            If (StringType.StrCmp(Strings.Mid(Me.vent, 1, 1), ".", False) = 0) Then
  239.                str22 = ("00" & Strings.Trim(Me.vent))
  240.            ElseIf (StringType.StrCmp(Strings.Mid(Me.vent, 2, 1), ".", False) = 0) Then
  241.                str22 = String.Concat(New String() {"0", Strings.Mid(Strings.Trim(Me.vent), 1, 1), ".", Strings.Mid(Strings.Trim(Me.vent), 3, 1), "0"})
  242.            Else
  243.                str22 = (Strings.Mid(Strings.Trim(Me.vent), 1, 2) & "." & Strings.Mid(Strings.Trim(Me.vent), 3, 1) & "0")
  244.            End If
  245.        ElseIf (Strings.Len(Me.vent) = 4) Then
  246.            If (StringType.StrCmp(Strings.Mid(Me.vent, 1, 1), ".", False) = 0) Then
  247.                str22 = String.Concat(New String() {Strings.Mid(Strings.Trim(Me.vent), 2, 1), Strings.Mid(Strings.Trim(Me.vent), 3, 1), ".", Strings.Mid(Strings.Trim(Me.vent), 4, 1), "0"})
  248.            ElseIf (StringType.StrCmp(Strings.Mid(Me.vent, 2, 1), ".", False) = 0) Then
  249.                str22 = ("0" & Strings.Mid(Strings.Trim(Me.vent), 1, 1) & "." & Strings.Mid(Strings.Trim(Me.vent), 3, 2))
  250.            ElseIf (StringType.StrCmp(Strings.Mid(Me.vent, 3, 1), ".", False) = 0) Then
  251.                str22 = (Strings.Mid(Strings.Trim(Me.vent), 1, 2) & "." & Strings.Mid(Strings.Trim(Me.vent), 4, 1) & "0")
  252.            ElseIf (StringType.StrCmp(Strings.Mid(Me.vent, 4, 1), ".", False) = 0) Then
  253.                str22 = (Strings.Mid(Strings.Trim(Me.vent), 1, 2) & "." & Strings.Mid(Strings.Trim(Me.vent), 3, 1) & "0")
  254.            ElseIf (StringType.StrCmp(Strings.Mid(Me.vent, 5, 1), ".", False) = 0) Then
  255.                str22 = (Strings.Mid(Strings.Trim(Me.vent), 1, 2) & "." & Strings.Mid(Strings.Trim(Me.vent), 3, 2))
  256.            Else
  257.                str22 = (Strings.Mid(Strings.Trim(Me.vent), 1, 2) & "." & Strings.Mid(Strings.Trim(Me.vent), 3, 2))
  258.            End If
  259.        ElseIf (Strings.Len(Me.vent) = 5) Then
  260.            If (StringType.StrCmp(Strings.Mid(Me.vent, 1, 1), ".", False) = 0) Then
  261.                str22 = (Strings.Mid(Strings.Trim(Me.vent), 2, 1) & Strings.Mid(Strings.Trim(Me.vent), 3, 1) & "." & Strings.Mid(Strings.Trim(Me.vent), 4, 2))
  262.            ElseIf (StringType.StrCmp(Strings.Mid(Me.vent, 2, 1), ".", False) = 0) Then
  263.                str22 = (Strings.Mid(Strings.Trim(Me.vent), 1, 1) & Strings.Mid(Strings.Trim(Me.vent), 3, 1) & "." & Strings.Mid(Strings.Trim(Me.vent), 4, 2))
  264.            ElseIf (StringType.StrCmp(Strings.Mid(Me.vent, 3, 1), ".", False) = 0) Then
  265.                str22 = (Strings.Mid(Strings.Trim(Me.vent), 1, 2) & "." & Strings.Mid(Strings.Trim(Me.vent), 4, 1) & Strings.Mid(Strings.Trim(Me.vent), 5, 1))
  266.            ElseIf (StringType.StrCmp(Strings.Mid(Me.vent, 4, 1), ".", False) <> 0) Then
  267.                str22 = (Strings.Mid(Strings.Trim(Me.vent), 1, 2) & "." & Strings.Mid(Strings.Trim(Me.vent), 3, 2))
  268.            Else
  269.                str22 = Strings.Trim(Me.vent)
  270.            End If
  271.        End If
  272.        Dim str21 As String = ""
  273.        str21 = str22
  274.        str19 = Strings.Mid(StringType.FromDate(DateAndTime.Today), 1, 2)
  275.        str20 = Strings.Mid(StringType.FromDate(DateAndTime.Today), 4, 2)
  276.        str18 = Strings.Mid(StringType.FromDate(DateAndTime.Today), 7, 4)
  277.        Me.vfecha = DateAndTime.Today
  278.        Dim connection5 As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=BD2.mdb")
  279.        If (Strings.Len(Strings.Trim(str3)) = &H1C) Then
  280.            str25 = "update acumula set monto=@vmonto where cod+numero+mid(signo,1,4)=@var01+@var02+mid(@var03,1,4) and fecha=@vfecha"
  281.        End If
  282.        If (Strings.Len(Strings.Trim(str3)) = &H1D) Then
  283.            str25 = "update acumula set monto=@vmonto where cod+numero=@var01+@var02 and fecha=@vfecha"
  284.        End If
  285.        If (Strings.Len(Strings.Trim(str3)) = 30) Then
  286.            str25 = "update acumula set monto=@vmonto where cod+mid(numero,1,3)+mid(signo,1,9)=@var01+@var02+@var03 and fecha=@vfecha"
  287.        End If
  288.        If (Strings.Len(Strings.Trim(str3)) = &H1F) Then
  289.            str25 = "update acumula set monto=@vmonto where cod+numero=@var01+@var02 and fecha=@vfecha"
  290.        End If
  291.        If (Strings.Len(Strings.Trim(str3)) = &H20) Then
  292.            str25 = "update acumula set monto=@vmonto where cod+numero=@var01+@var02 and fecha=@vfecha"
  293.        End If
  294.        If (Strings.Len(Strings.Trim(str3)) = &H21) Then
  295.            str25 = "update acumula set monto=@vmonto where cod+numero=@var01+@var02 and fecha=@vfecha"
  296.        End If
  297.        If (Strings.Len(Strings.Trim(str3)) = &H22) Then
  298.            str25 = "update acumula set monto=@vmonto where cod+numero+mid(signo,1,9)=@var01+@var02+@var03 and fecha=@vfecha"
  299.        End If
  300.        Dim command5 As New OleDbCommand(str25, connection5)
  301.        command5.CommandType = CommandType.Text
  302.        If (Strings.Len(Strings.Trim(str3)) = &H1C) Then
  303.            command5.Parameters.Add("@vmonto", str21)
  304.            command5.Parameters.Add("@var01", str13)
  305.            command5.Parameters.Add("@var02", str14)
  306.            command5.Parameters.Add("@VAR03", str16)
  307.            command5.Parameters.Add("@vfecha", Me.vfecha)
  308.        End If
  309.        If (Strings.Len(Strings.Trim(str3)) = &H1D) Then
  310.            command5.Parameters.Add("@vmonto", str21)
  311.            command5.Parameters.Add("@var01", str13)
  312.            command5.Parameters.Add("@var02", str14)
  313.            command5.Parameters.Add("@vfecha", Me.vfecha)
  314.        End If
  315.        If (Strings.Len(Strings.Trim(str3)) = 30) Then
  316.            command5.Parameters.Add("@vmonto", str21)
  317.            command5.Parameters.Add("@VAR01", str13)
  318.            command5.Parameters.Add("@VAR02", str14)
  319.            command5.Parameters.Add("@VAR03", str16)
  320.            command5.Parameters.Add("@vfecha", Me.vfecha)
  321.        End If
  322.        If (Strings.Len(Strings.Trim(str3)) = &H1F) Then
  323.            command5.Parameters.Add("@vmonto", str21)
  324.            command5.Parameters.Add("@VAR01", str13)
  325.            command5.Parameters.Add("@VAR02", str14)
  326.            command5.Parameters.Add("@vfecha", Me.vfecha)
  327.        End If
  328.        If (Strings.Len(Strings.Trim(str3)) = &H20) Then
  329.            command5.Parameters.Add("@vmonto", str21)
  330.            command5.Parameters.Add("@VAR01", str13)
  331.            command5.Parameters.Add("@VAR02", str14)
  332.            command5.Parameters.Add("@vfecha", Me.vfecha)
  333.        End If
  334.        If (Strings.Len(Strings.Trim(str3)) = &H21) Then
  335.            command5.Parameters.Add("@vmonto", str21)
  336.            command5.Parameters.Add("@VAR01", str13)
  337.            command5.Parameters.Add("@VAR02", str14)
  338.            command5.Parameters.Add("@vfecha", Me.vfecha)
  339.        End If
  340.        If (Strings.Len(Strings.Trim(str3)) = &H22) Then
  341.            command5.Parameters.Add("@vmonto", str21)
  342.            command5.Parameters.Add("@VAR01", str13)
  343.            command5.Parameters.Add("@VAR02", str14)
  344.            command5.Parameters.Add("@VAR03", str16)
  345.            command5.Parameters.Add("@vfecha", Me.vfecha)
  346.        End If
  347.        connection5.Open()
  348.        command5.ExecuteNonQuery()
  349.        connection5.Close()
  350.        str8 = ""
  351.        num = (num + -1)
  352.    Loop
  353.    box = Nothing
  354.    Dim str9 As String = Strings.Mid(StringType.FromDate(DateAndTime.Today), 1, 2)
  355.    Dim str10 As String = Strings.Mid(StringType.FromDate(DateAndTime.Today), 4, 2)
  356.    Dim str As String = Strings.Mid(StringType.FromDate(DateAndTime.Today), 7, 4)
  357.    Me.vfecha = DateAndTime.Today
  358.    Dim connection2 As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=BD2.mdb")
  359.    Dim number As Integer = 0
  360.    Dim cmdText As String = "delete from acumula where monto=@vmonto2 and fecha=@vfecha"
  361.    Dim command2 As New OleDbCommand(cmdText, connection2)
  362.    command2.CommandType = CommandType.Text
  363.    command2.Parameters.Add("@vmonto2", Conversion.Str(number))
  364.    command2.Parameters.Add("@vfecha", Me.vfecha)
  365.    connection2.Open()
  366.    command2.ExecuteNonQuery()
  367.    connection2.Close()
  368.    Dim connection As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=BD2.mdb")
  369.    Dim str11 As String = "select nombre,numero,monto,cod,descrip from imprimir order by cod+numero"
  370.    Dim command As New OleDbCommand(str11, connection)
  371.    command.CommandType = CommandType.Text
  372.    Try
  373.        connection.Open()
  374.        Dim reader2 As OleDbDataReader = command.ExecuteReader
  375.        Me.pinnedArray = GCHandle.Alloc(Me.ListBoxTabs, GCHandleType.Pinned)
  376.        Me.ptr = Me.pinnedArray.AddrOfPinnedObject
  377.        Dim wParam As New IntPtr(Me.ListBoxTabs.Length)
  378.        Me.result = Form1.SendMessage(Me._CheckedListBox2.Handle, &H192, wParam, Me.ptr)
  379.        Me.pinnedArray.Free()
  380.        Me._CheckedListBox2.Items.Clear()
  381.        Dim str30 As String = ""
  382.        Me.tem4 = 0
  383.        Do While reader2.Read
  384.            Dim str26 As String = reader2.Item(0).ToString
  385.            Dim str27 As String = reader2.Item(1).ToString
  386.            Dim str28 As String = reader2.Item(2).ToString
  387.            Dim str29 As String = reader2.Item(3).ToString
  388.            str30 = reader2.Item(4).ToString
  389.            If (Strings.Len(str30) <> 0) Then
  390.                str26 = Strings.Mid(str26, 1, 9)
  391.            End If
  392.            str30 = Strings.Mid(str30, 1, 9)
  393.            If (Strings.Len(Strings.Trim(str27)) = 2) Then
  394.                str27 = (Strings.LTrim(str27) & " ")
  395.            Else
  396.                str27 = Strings.LTrim(str27)
  397.            End If
  398.            Me.tem4 = (Me.tem4 + Conversion.Val(str28))
  399.            Me._CheckedListBox2.Items.Add((String.Concat(New String() {str27, ChrW(9), str28, ChrW(9), str26, ChrW(9), str29}) & ChrW(9) & ChrW(9) & str30))
  400.            If (Strings.Len(Strings.Trim(Me.tem2)) = 3) Then
  401.                Me.ctr += 1
  402.            Else
  403.                Me.cte += 1
  404.            End If
  405.        Loop
  406.        Me._TextBox2.Text = Me.tem4.ToString("N")
  407.        Me._Label31.Text = Me.ctr.ToString
  408.        Me._Label32.Text = Me.cte.ToString
  409.        Me._Label30.Text = Me.tem4.ToString("N")
  410.        Me.temp1 = ""
  411.        Me._TextBox3.Focus()
  412.        Me.Refresh()
  413.        Me.ctr = 0
  414.        Me.cte = 0
  415.        str8 = ""
  416.        connection.Close()
  417.        reader2.Close()
  418.    Catch exception1 As Exception
  419.        ProjectData.SetProjectError(exception1)
  420.        Dim exception As Exception = exception1
  421.        Interaction.MsgBox("Error Al eliminar Numero", MsgBoxStyle.ApplicationModal, Nothing)
  422.        ProjectData.ClearProjectError()
  423.    Finally
  424.        Me.temp1 = ""
  425.    End Try
  426. End Sub

Saludos!
95  Programación / Programación General / MOVIDO: Cual es la diferencia entre console.log y document.write? en: 6 Agosto 2017, 12:54
El tema ha sido movido a Desarrollo Web.

http://foro.elhacker.net/index.php?topic=473237.0
96  Programación / Scripting / Re: MS-DOS y puerto serie en: 6 Agosto 2017, 12:39
Quiero enviar datos al puerto serie con el CMD de Windows

En teoría se supone que en Batch puedes usar los operadores de redirección para enviar datos a la entrada de un dispositivo en un puerto serie. Prueba así:

Script.cmd
Código
  1. @Echo OFF & (CHCP 1252)1>Nul
  2.  
  3. MODE.com COM1 BAUD=9600 PARITY=n DATA=8 STOP=1
  4.  
  5. CHOICE.exe /C "12" /M "Choose an option..."
  6. If %ErrorLevel% EQU 1 (
  7.    Echo:Luz_ON>COM1
  8. )
  9. If %ErrorLevel% EQU 2 (
  10.    Echo:Luz_OFF>COM1
  11. )
  12.  
  13. Pause&Exit

...Y digo 'en teoría' por que nunca lo he necesitado probar ni tampoco puedo verificarlo ahora mismo.

Fuente:



o el sustituto del cmd que es PowerShell

@Meta, sabes manejarte con C#, y dado que estos temas los has tratado muchas veces en el subforo de programación .NET doy por hecho que sabes hacerlo en C#. Entonces, en mi opinión lo que más te convendría hacer sería desarrollar la lógica/tu clase en C# para tener una solución mucho más robusta, controlada y eficiente, y simplemente usar PowerShell para compilar el código escrito en C# y usarlo.

Aquí te dejo un ejemplo a seguir:

Script.ps1
Código
  1. # PowerShell template by Elektro
  2.  
  3. # # # # # # # # # # # # # # # # # # # #
  4. # C# CodeDom Provider Compiler Sample #
  5. # # # # # # # # # # # # # # # # # # # #
  6. $csharpCode = @'
  7. using Microsoft.VisualBasic;
  8. using System;
  9.  
  10. namespace CSharpNamespace {
  11.  
  12.    public sealed class CSharpClass {
  13.  
  14.        public static bool CSharpFunction() {
  15.            return true;
  16.        }
  17.  
  18.    }
  19.  
  20. }
  21. '@
  22. $csType = Add-Type -TypeDefinition $csharpCode `
  23.                   -CodeDomProvider (New-Object Microsoft.CSharp.CSharpCodeProvider) `
  24.                   -PassThru `
  25.                   -ReferencedAssemblies "Microsoft.VisualBasic.dll", `
  26.                                         "System.dll" `
  27.          | where { $_.IsPublic }
  28.  
  29. [bool]$result = [CSharpNamespace.CSharpClass]::CSharpFunction()
  30.  
  31. # # # # # # # # # # # # # #
  32. # Application Termination #
  33. # # # # # # # # # # # # # #
  34. [System.Console]::WriteLine("Press any key to exit...")
  35. [System.Console]::ReadKey($true)
  36. Exit(0)
97  Programación / Scripting / Re: Programa que detecte cuando se introduce una unidad extraible en: 6 Agosto 2017, 12:13
Aquí tienes un ejemplo en Batch:

...Pero no vale la pena hacerlo en Batch ni tampoco en VBS. Si tu idea es no tener que depender de...herramientas externas, entonces existe otro lenguaje con soporte "nativo" en Windows llamado PowerShell, es el futuro en el scripting de Windows, además de poder utilizar la librería de clases de .NET Framework y compilar código/clases en VB.NET y C# que luego podremos utilizar desde el propio script.

Un ejemplo aleatorio de los resultados de Google de un script en PowerShell que realiza consultas directamente a las clases de WMI:

Y por último aquí te dejo otro ejemplo algo más avanzado que puedes adaptar a tus necesidades, en el que utilizo PowerShell para compilar un monitor de inserción y extracción de dispositivos que desarrollé en VB.NET:

USBMon.ps1
Código
  1. $vbCode = @'
  2. ' ***********************************************************************
  3. ' Author   : Elektro
  4. ' Modified : 16-December-2016
  5. ' ***********************************************************************
  6.  
  7. Imports Microsoft.VisualBasic
  8. Imports System
  9. Imports System.Collections
  10. Imports System.Collections.Generic
  11. Imports System.ComponentModel
  12. Imports System.Diagnostics
  13. Imports System.IO
  14. Imports System.Reflection
  15. Imports System.Runtime.InteropServices
  16. Imports System.Security
  17. Imports System.Text
  18. Imports System.Threading
  19. Imports System.Windows.Forms
  20.  
  21. Namespace VBNamespace
  22.  
  23. #Region " Drive Watcher "
  24.  
  25. ''' <summary>
  26. ''' A device insertion and removal monitor.
  27. ''' </summary>
  28. Public Class DriveWatcher : Inherits NativeWindow : Implements IDisposable
  29.  
  30. #Region " Properties "
  31.  
  32.        ''' <summary>
  33.        ''' Gets the connected drives on this computer.
  34.        ''' </summary>
  35.        Public Overridable ReadOnly Property Drives As IEnumerable(Of DriveInfo)
  36.            <DebuggerStepThrough>
  37.            Get
  38.                Return DriveInfo.GetDrives
  39.            End Get
  40.        End Property
  41.  
  42.        ''' <summary>
  43.        ''' Gets a value that determines whether the monitor is running.
  44.        ''' </summary>
  45.        Public Overridable ReadOnly Property IsRunning As Boolean
  46.            <DebuggerStepThrough>
  47.            Get
  48.                Return Me.isRunningB
  49.            End Get
  50.        End Property
  51.        Protected isRunningB As Boolean
  52.  
  53.        ''' <summary>
  54.        ''' Gets the handle for the <see cref="NativeWindow"/> that owns this <see cref="DriveWatcher"/> instance.
  55.        ''' </summary>
  56.        ''' <value>
  57.        ''' The handle.
  58.        ''' </value>
  59.        Public Overridable Shadows ReadOnly Property Handle As IntPtr
  60.            Get
  61.                Return MyBase.Handle
  62.            End Get
  63.        End Property
  64.  
  65. #End Region
  66.  
  67. #Region " Enumerations "
  68.  
  69.        ''' <summary>
  70.        ''' Specifies a computer device type.
  71.        ''' </summary>
  72.        ''' <remarks>
  73.        ''' <see href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa363246%28v=vs.85%29.aspx"/>
  74.        ''' </remarks>
  75.        Private Enum DeviceType As Integer
  76.  
  77.            ' *****************************************************************************
  78.            '                            WARNING!, NEED TO KNOW...
  79.            '
  80.            '  THIS ENUMERATION IS PARTIALLY DEFINED TO MEET THE PURPOSES OF THIS API
  81.            ' *****************************************************************************
  82.  
  83.            ''' <summary>
  84.            ''' Logical volume.
  85.            ''' </summary>
  86.            Logical = &H2
  87.  
  88.        End Enum
  89.  
  90. #End Region
  91.  
  92. #Region " Events "
  93.  
  94.        ''' <summary>
  95.        ''' A list of event delegates.
  96.        ''' </summary>
  97.        Private ReadOnly events As EventHandlerList
  98.  
  99.        ''' <summary>
  100.        ''' Occurs when a drive is inserted, removed, or changed.
  101.        ''' </summary>
  102.        Public Event DriveStatusChanged As EventHandler(Of DriveStatusChangedEventArgs)
  103.  
  104. #End Region
  105.  
  106. #Region " Event Invocators "
  107.  
  108.        ''' <summary>
  109.        ''' Raises <see cref="DriveStatusChanged"/> event.
  110.        ''' </summary>
  111.        ''' <param name="e">
  112.        ''' The <see cref="DriveStatusChangedEventArgs"/> instance containing the event data.
  113.        ''' </param>
  114.        <DebuggerStepThrough>
  115.        Protected Overridable Sub OnDriveStatusChanged(ByVal e As DriveStatusChangedEventArgs)
  116.  
  117.            RaiseEvent DriveStatusChanged(Me, e)
  118.  
  119.        End Sub
  120.  
  121. #End Region
  122.  
  123. #Region " Constructors "
  124.  
  125.        ''' <summary>
  126.        ''' Initializes a new instance of <see cref="DriveWatcher"/> class.
  127.        ''' </summary>
  128.        <DebuggerStepThrough>
  129.        Public Sub New()
  130.            Me.events = New EventHandlerList
  131.        End Sub
  132.  
  133. #End Region
  134.  
  135. #Region " Public Methods "
  136.  
  137.        ''' <summary>
  138.        ''' Starts monitoring.
  139.        ''' </summary>
  140.        <DebuggerStepThrough>
  141.        Public Overridable Sub Start()
  142.  
  143.            If (Me.Handle = IntPtr.Zero) Then
  144.                MyBase.CreateHandle(New CreateParams())
  145.                Me.isRunningB = True
  146.  
  147.            Else
  148.                Throw New Exception(message:="Monitor is already running.")
  149.  
  150.            End If
  151.  
  152.        End Sub
  153.  
  154.        ''' <summary>
  155.        ''' Stops monitoring.
  156.        ''' </summary>
  157.        <DebuggerStepThrough>
  158.        Public Overridable Sub [Stop]()
  159.  
  160.            If (Me.Handle <> IntPtr.Zero) Then
  161.                Me.isRunningB = False
  162.                MyBase.DestroyHandle()
  163.  
  164.            Else
  165.                Throw New Exception(message:="Monitor is already stopped.")
  166.  
  167.            End If
  168.  
  169.        End Sub
  170.  
  171. #End Region
  172.  
  173. #Region " Private Methods "
  174.  
  175.        ''' <summary>
  176.        ''' Gets the drive letter stored in a <see cref="DevBroadcastVolume"/> structure.
  177.        ''' </summary>
  178.        ''' <param name="device">
  179.        ''' The <see cref="DevBroadcastVolume"/> structure containing the device mask.
  180.        ''' </param>
  181.        ''' <returns>
  182.        ''' The drive letter.
  183.        ''' </returns>
  184.        <DebuggerStepThrough>
  185.        Protected Overridable Function GetDriveLetter(ByVal device As DevBroadcastVolume) As Char
  186.  
  187.            Dim driveLetters As Char() = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".ToCharArray()
  188.  
  189.            Dim deviceID As New BitArray(BitConverter.GetBytes(device.Mask))
  190.  
  191.            For i As Integer = 0 To deviceID.Length
  192.  
  193.                If deviceID(i) Then
  194.                    Return driveLetters(i)
  195.                End If
  196.  
  197.            Next i
  198.  
  199.            Return Nothing
  200.  
  201.        End Function
  202.  
  203. #End Region
  204.  
  205. #Region " Window Procedure (WndProc) "
  206.  
  207.        ''' <summary>
  208.        ''' Invokes the default window procedure associated with this window to process windows messages.
  209.        ''' </summary>
  210.        <DebuggerStepThrough>
  211.        Protected Overrides Sub WndProc(ByRef m As Message)
  212.  
  213.            Select Case m.Msg
  214.  
  215.                Case DeviceEvents.Change ' The hardware has changed.
  216.  
  217.                    If (m.LParam = IntPtr.Zero) Then
  218.                        Exit Select
  219.                    End If
  220.  
  221.                    ' If it's an storage device then...
  222.                    If Marshal.ReadInt32(m.LParam, 4) = DeviceType.Logical Then
  223.  
  224.                        ' Transform the LParam pointer into the data structure.
  225.                        Dim currentWDrive As DevBroadcastVolume =
  226.                            DirectCast(Marshal.PtrToStructure(m.LParam, GetType(DevBroadcastVolume)), DevBroadcastVolume)
  227.  
  228.                        Dim driveLetter As Char = Me.GetDriveLetter(currentWDrive)
  229.                        Dim deviceEvent As DeviceEvents = DirectCast(m.WParam.ToInt32, DeviceEvents)
  230.                        Dim driveInfo As New DriveInfo(driveLetter)
  231.  
  232.                        Me.OnDriveStatusChanged(New DriveStatusChangedEventArgs(deviceEvent, driveInfo))
  233.  
  234.                    End If
  235.  
  236.            End Select
  237.  
  238.            ' Return Message to base message handler.
  239.            MyBase.WndProc(m)
  240.  
  241.        End Sub
  242.  
  243. #End Region
  244.  
  245. #Region " IDisposable Implementation "
  246.  
  247.        ''' <summary>
  248.        ''' Flag to detect redundant calls when disposing.
  249.        ''' </summary>
  250.        Private isDisposed As Boolean
  251.  
  252.        ''' <summary>
  253.        ''' Releases all the resources used by this instance.
  254.        ''' </summary>
  255.        <DebuggerStepThrough>
  256.        Public Sub Dispose() Implements IDisposable.Dispose
  257.            Me.Dispose(isDisposing:=True)
  258.            GC.SuppressFinalize(obj:=Me)
  259.        End Sub
  260.  
  261.        ''' <summary>
  262.        ''' Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
  263.        ''' Releases unmanaged and, optionally, managed resources.
  264.        ''' </summary>
  265.        <DebuggerStepThrough>
  266.        Protected Overridable Sub Dispose(ByVal isDisposing As Boolean)
  267.  
  268.            If (Not Me.isDisposed) AndAlso (isDisposing) Then
  269.                Me.events.Dispose()
  270.                If Me.isRunningB Then
  271.                    Me.Stop()
  272.                End If
  273.            End If
  274.  
  275.            Me.isDisposed = True
  276.  
  277.        End Sub
  278.  
  279. #End Region
  280.  
  281.    End Class
  282.  
  283. #End Region
  284.  
  285. #Region " DriveStatusChanged EventArgs "
  286.  
  287.    ''' <summary>
  288.    ''' Contains the event-data of a <see cref="DriveWatcher.DriveStatusChanged"/> event.
  289.    ''' </summary>
  290.    Public NotInheritable Class DriveStatusChangedEventArgs : Inherits System.EventArgs
  291.  
  292. #Region " Properties "
  293.  
  294.    ''' <summary>
  295.    ''' Gets the device event that occurred.
  296.    ''' </summary>
  297.    Public ReadOnly Property DeviceEvent As DeviceEvents
  298.        Get
  299.            Return Me.deviceEventB
  300.        End Get
  301.    End Property
  302.    Private ReadOnly deviceEventB As DeviceEvents
  303.  
  304.    ''' <summary>
  305.    ''' Gets the drive info.
  306.    ''' </summary>
  307.    Public ReadOnly Property DriveInfo As DriveInfo
  308.        Get
  309.            Return Me.driveInfoB
  310.        End Get
  311.    End Property
  312.    Private ReadOnly driveInfoB As DriveInfo
  313.  
  314. #End Region
  315.  
  316. #Region " Constructors "
  317.  
  318.    <DebuggerNonUserCode>
  319.    Private Sub New()
  320.    End Sub
  321.  
  322.    ''' <summary>
  323.    ''' Initializes a new instance of the <see cref="DriveStatusChangedEventArgs"/> class.
  324.    ''' </summary>
  325.    <DebuggerStepThrough>
  326.    Public Sub New(ByVal deviceEvent As DeviceEvents, ByVal driveInfo As DriveInfo)
  327.        Me.deviceEventB = deviceEvent
  328.        Me.driveInfoB = driveInfo
  329.    End Sub
  330.  
  331. #End Region
  332.  
  333.    End Class
  334.  
  335. #End Region
  336.  
  337. #Region " Device Events "
  338.  
  339.  
  340. ''' <summary>
  341. ''' Specifies a change to the hardware configuration of a device.
  342. ''' </summary>
  343. ''' <remarks>
  344. ''' <see href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa363480%28v=vs.85%29.aspx"/>
  345. ''' <para></para>
  346. ''' <see href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa363232%28v=vs.85%29.aspx"/>
  347. ''' </remarks>
  348. Public Enum DeviceEvents As Integer
  349.  
  350.        ' *****************************************************************************
  351.        '                            WARNING!, NEED TO KNOW...
  352.        '
  353.        '  THIS ENUMERATION IS PARTIALLY DEFINED TO MEET THE PURPOSES OF THIS API
  354.        ' *****************************************************************************
  355.  
  356.        ''' <summary>
  357.        ''' The current configuration has changed, due to a dock or undock.
  358.        ''' </summary>
  359.        Change = &H219
  360.  
  361.        ''' <summary>
  362.        ''' A device or piece of media has been inserted and becomes available.
  363.        ''' </summary>
  364.        Arrival = &H8000
  365.  
  366.        ''' <summary>
  367.        ''' Request permission to remove a device or piece of media.
  368.        ''' <para></para>
  369.        ''' This message is the last chance for applications and drivers to prepare for this removal.
  370.        ''' However, any application can deny this request and cancel the operation.
  371.        ''' </summary>
  372.        QueryRemove = &H8001
  373.  
  374.        ''' <summary>
  375.        ''' A request to remove a device or piece of media has been canceled.
  376.        ''' </summary>
  377.        QueryRemoveFailed = &H8002
  378.  
  379.        ''' <summary>
  380.        ''' A device or piece of media is being removed and is no longer available for use.
  381.        ''' </summary>
  382.        RemovePending = &H8003
  383.  
  384.        ''' <summary>
  385.        ''' A device or piece of media has been removed.
  386.        ''' </summary>
  387.        RemoveComplete = &H8004
  388.  
  389.    End Enum
  390.  
  391. #End Region
  392.  
  393. #Region " DevBroadcast Volume "
  394.  
  395.    ''' <summary>
  396.    ''' Contains information about a logical volume.
  397.    ''' </summary>
  398.    ''' <remarks>
  399.    ''' <see href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa363249%28v=vs.85%29.aspx"/>
  400.    ''' </remarks>
  401.    <DebuggerStepThrough>
  402.    <StructLayout(LayoutKind.Sequential)>
  403.    Public Structure DevBroadcastVolume
  404.  
  405.        ''' <summary>
  406.        ''' The size of this structure, in bytes.
  407.        ''' </summary>
  408.        Public Size As UInteger
  409.  
  410.        ''' <summary>
  411.        ''' Set to DBT_DEVTYP_VOLUME (2).
  412.        ''' </summary>
  413.        Public Type As UInteger
  414.  
  415.        ''' <summary>
  416.        ''' Reserved parameter; do not use this.
  417.        ''' </summary>
  418.        Public Reserved As UInteger
  419.  
  420.        ''' <summary>
  421.        ''' The logical unit mask identifying one or more logical units.
  422.        ''' Each bit in the mask corresponds to one logical drive.
  423.        ''' Bit 0 represents drive A, bit 1 represents drive B, and so on.
  424.        ''' </summary>
  425.        Public Mask As UInteger
  426.  
  427.        ''' <summary>
  428.        ''' This parameter can be one of the following values:
  429.        ''' '0x0001': Change affects media in drive. If not set, change affects physical device or drive.
  430.        ''' '0x0002': Indicated logical volume is a network volume.
  431.        ''' </summary>
  432.        Public Flags As UShort
  433.  
  434.    End Structure
  435.  
  436. #End Region
  437.  
  438. Public NotInheritable Class VBClass
  439.  
  440.    Friend WithEvents DriveMon As DriveWatcher
  441.    Private waitHandle As ManualResetEvent
  442.  
  443.    Public Sub New()
  444.        Me.DriveMon = New DriveWatcher()
  445.        Me.waitHandle = New ManualResetEvent(initialState:=False)
  446.    End Sub
  447.  
  448.    Public Sub StartMon()
  449.        Me.DriveMon.Start()
  450.        Me.waitHandle.WaitOne()
  451.    End Sub
  452.  
  453.    Public Sub StopMon()
  454.        Me.DriveMon.Stop()
  455.        Me.waitHandle.Set()
  456.    End Sub
  457.  
  458.    ''' <summary>
  459.    ''' Handles the <see cref="DriveWatcher.DriveStatusChanged"/> event of the <see cref="DriveMon"/> instance.
  460.    ''' </summary>
  461.    Private Sub DriveMon_DriveStatusChanged(sender As Object, e As DriveStatusChangedEventArgs) _
  462.    Handles DriveMon.DriveStatusChanged
  463.  
  464.        Select Case e.DeviceEvent
  465.  
  466.            Case DeviceEvents.Arrival
  467.                ' Descartar cualquier dispositivo no extraible.
  468.                If (e.DriveInfo.DriveType <> DriveType.Removable) Then
  469.                    Exit Sub
  470.                End If
  471.                Dim sb As New StringBuilder
  472.                With sb
  473.                    .AppendLine("New drive connected...'")
  474.                    .AppendLine(String.Format("Type......: {0}", e.DriveInfo.DriveType.ToString()))
  475.                    .AppendLine(String.Format("Label.....: {0}", e.DriveInfo.VolumeLabel))
  476.                    .AppendLine(String.Format("Name......: {0}", e.DriveInfo.Name))
  477.                    .AppendLine(String.Format("Root......: {0}", e.DriveInfo.RootDirectory))
  478.                    .AppendLine(String.Format("FileSystem: {0}", e.DriveInfo.DriveFormat))
  479.                    .AppendLine(String.Format("Size......: {0} GB", (e.DriveInfo.TotalSize / (1024 ^ 3)).ToString("n1")))
  480.                    .AppendLine(String.Format("Free space: {0} GB", (e.DriveInfo.AvailableFreeSpace / (1024 ^ 3)).ToString("n1")))
  481.                End With
  482.                Console.WriteLine(sb.ToString())
  483.  
  484.            Case DeviceEvents.RemoveComplete
  485.                Dim sb As New StringBuilder
  486.                With sb
  487.                    .AppendLine("Drive disconnected...'")
  488.                    .AppendLine(String.Format("Name: {0}", e.DriveInfo.Name))
  489.                    .AppendLine(String.Format("Root: {0}", e.DriveInfo.RootDirectory))
  490.                End With
  491.                Console.WriteLine(sb.ToString())
  492.  
  493.        End Select
  494.  
  495.    End Sub
  496.  
  497. End Class
  498.  
  499. End Namespace
  500. '@
  501. $vbType = Add-Type -TypeDefinition $vbCode `
  502.                   -CodeDomProvider (New-Object Microsoft.VisualBasic.VBCodeProvider) `
  503.                   -PassThru `
  504.                   -ReferencedAssemblies "Microsoft.VisualBasic.dll", `
  505.                                         "System.dll", `
  506.                                         "System.Collections.dll", `
  507.                                         "System.ComponentModel.dll", `
  508.                                         "System.IO.dll", `
  509.                                         "System.Reflection.dll", `
  510.                                         "System.Runtime.InteropServices.dll", `
  511.                                         "System.Security.dll", `
  512.                                         "System.Threading.dll", `
  513.                                         "System.Windows.Forms.dll" | where { $_.IsPublic }
  514.  
  515. Write-Host "USB monitoring..."
  516. $instance = (New-Object VBNamespace.VBClass)
  517. $instance.StartMon()
  518. Exit(0)

Resultado de ejecución:
98  Programación / Scripting / Re: ayuda con mi programa! sale error en los elif en: 6 Agosto 2017, 10:30
Creo que sigues sin tener demasiado claro cual es el problema. Lee aquí:


Cita de: San Google
Indentación es un anglicismo de uso común en informática, que significa mover un bloque de texto hacia la derecha insertando espacios o tabuladores, para así separarlo del margen izquierdo y mejor distinguirlo del texto adyacente

Python es un lenguaje MUY estricto (antiproductivo en mi opinión) con la indentación. Tu instrucción no está indentada, por lo que no se reconocerá como una instrucción dentro del bloque del elif... y producirá un error de sintaxis.

Si quieres evitar ese tipo de problemas te sugiero utilizar cualquier IDE profesional para Python que tenga indentación automática.

Saludos.
99  Seguridad Informática / Hacking Avanzado / MOVIDO: Tratar de descifrar texto XOR en: 5 Agosto 2017, 16:47
El tema ha sido movido a Programación C/C++.

http://foro.elhacker.net/index.php?topic=473186.0
100  Seguridad Informática / Análisis y Diseño de Malware / MOVIDO: keylogger en batch? en: 5 Agosto 2017, 16:39
El tema ha sido movido a Scripting.

http://foro.elhacker.net/index.php?topic=472735.0
Páginas: 1 2 3 4 5 6 7 8 9 [10] 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ... 1017
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines