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

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Ayuda con un programa de VBNET que no funciona correctamente
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con un programa de VBNET que no funciona correctamente  (Leído 4,078 veces)
zalazar16

Desconectado Desconectado

Mensajes: 13


Ver Perfil
Ayuda con un programa de VBNET que no funciona correctamente
« en: 6 Agosto 2017, 01:57 am »

Hola amigos de el Foro el Hacker, pasaba por aquí para preguntarles si alguien me puede ayudar con un pequeño problemita.

Verán tengo el código fuente de un programa hecho en VBNET, el programa corre a la perfección...pero..... Hay 2 botones en dicho programa para borrar todas las jugadas y una sola seleccionada, el primer botón funciona a la perfección, borra todo, pero cuando queremos borrar una o más jugadas de la pantalla marca error y no lo hace.....

Aquí un poco más detallado el procedimiento:

arriba les muestro una foto de las jugadas en pantalla.

ahora bien cuando hago clic en el botón elimina jugada la vacía completamente, o sea, funciona bien este botón.



ahora bien, si quiero borrar una jugada porque la escribí mal, o ya no va, debería de borrar solo las marcadas:



PEROOOO....

 me tira este error:



Espero me puedan ayudar, aqui les dejo un ZIP con el código Fuente del Programa, Feliz noche, día o tarde... o bien como sea donde estes jajajaja  ;D

https://www.mediafire.com/file/7ob8gxc6on2gwkv/CODIGO%20FUENTE%20L.zip


En línea

Serapis
Colaborador
***
Desconectado Desconectado

Mensajes: 3.348


Ver Perfil
Re: Ayuda con un programa de VBNET que no funciona correctamente
« Respuesta #1 en: 6 Agosto 2017, 06:52 am »

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.

Si te diré al menos, que cuando tengas que eliminar varios ítems, recórrelo siempre desde el final hacia atrás... si tienes que eliminar el íitem 25 y el 144, si eliminas primero el 25, el 144 ocupará luego la posición 143... si eliminas primeor el 144 (que ocupa esa posición), podrás luego perfectamente eliminar el 25 (que también sigue estando en su posición)...
Se llega al caso de qu si hay 150 elementos y hay que eliminar 10, si empiezas desde abajo, cuando vayas a eliminar el 144, ya ni siquiera existe el ítem 144. Mientras exista un ítem, no hacerlo bien implica eliminar uno erróneo y dejar (posiblemente) que debiera habers eeliminado (depende de si están contiguos, salteados, etc...).
Así tatar de eliminar un ítem inexistente arroja errores.

No obstante como además lo tienes conectado a una base de datos, puede que el error te lo esté dando por allí, antes de actualizar la vista.

En fin elimina los ítems deseados empezando desde el último y avanzando hacia atrás... y a ver si te sigue generando el error.

Desde luego bucear en ese código, como se dice a veces "ni cobrando"... Crea clases , encapsula métodos en ellas y pásalas a otros módulos... No dejes todo el peso en un único formulario... Verlo es como entrar en una ciudad por donde pasó un sunami, solo se ve CAOS  :silbar: :silbar: :silbar:


En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: Ayuda con un programa de VBNET que no funciona correctamente
« Respuesta #2 en: 6 Agosto 2017, 13:16 pm »

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!
« Última modificación: 6 Agosto 2017, 13:44 pm por Eleкtro » En línea

zalazar16

Desconectado Desconectado

Mensajes: 13


Ver Perfil
Re: Ayuda con un programa de VBNET que no funciona correctamente
« Respuesta #3 en: 9 Agosto 2017, 15:46 pm »

Bueno ya funciona correctamente el botoncito es........... ahora bien, Amigo ELEKTRO, ya dirás... Que hombre tan fastidioso!!! Ya furula el bendito botón, pero hay otro programilla, bueno parte de ese que dice lo mismo que el primero Declaración duplicada del miembro point y size......... el problema identico, cómo pudiste solucionar eso? que he tratado y nadaaaaaaa, ya esto me tiene hasta la coronilla de verdad, prefiero C# antes que VB.NET

El programa otro:

https://www.mediafire.com/file/1bl0l4c5xc2nn0t/LOTER%CDA%20MONTOS%20ALTOS.zip
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines