Visual Basic.NET - Simplificación del código

 
Vista:
Imágen de perfil de AVIZOR
Val: 22
Ha aumentado su posición en 289 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Simplificación del código

Publicado por AVIZOR (5 intervenciones) el 10/06/2021 03:10:57
Buenas tardes, estoy trabajando en un sistema de Soporte mediante una aplicación de VB.NET Estoy en esta parte, tal vez muchos no la entiendan, necesito hacer este tema para solicitar ayuda de ideas acerca de como estructurar el código, para evitar repeticiones como las que van a ver

Este es mi código:

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Private Sub SelectedType(ByVal ListIndex As E_TYPESUPPORT)
    Dim Temp As String = vbNullString
 
 
 
    Call MsgBox("Los datos que nos proporciones serán de utilidad para resolver el problema de manera mucho más rápida. Lee con atención. Si alguno no lo sabes, simplemente no lo respondas aunque algunos serán necesarios SI o SI.")
Line1:
 
    txtMessage.Clear()
    Select Case ListIndex + 1
        Case E_TYPESUPPORT.eBan
            Temp = InputBox("Proporcione el nombre del personaje que se encuentra baneado")
 
            If Temp = vbNullString Then
                If MsgBox("El dato ingresado no puede estar vacío ¿Desea volver a intentarlo?", MsgBoxStyle.YesNo) = vbYes Then
                    GoTo Line1
                Else
                    Exit Sub
                End If
            End If
 
            Call AddConsole(txtMessage, "Nombre: ", FontType.FONTTYPE_PREDEFINED, False)
            Call AddConsole(txtMessage, Temp, FontType.FONTTYPE_BODYAUTHOR, True)
 
Line2:
            Temp = InputBox("Proporcione el email del personaje que se encuentra baneado")
 
            If Temp = vbNullString Then
                If MsgBox("El dato ingresado no puede estar vacío ¿Desea volver a intentarlo?", MsgBoxStyle.YesNo) = vbYes Then
                    GoTo Line2
                Else
                    Exit Sub
                End If
            End If
 
            Call AddConsole(txtMessage, "Email: ", FontType.FONTTYPE_PREDEFINED, False)
            Call AddConsole(txtMessage, Temp, FontType.FONTTYPE_BODYAUTHOR, True)
 
        Case E_TYPESUPPORT.eDenunceCheater
    End Select
End Sub


Y esto es lo que me gustaria simplificar, ya que no solo necesito estos dos casos, sino que son como 10 Inputbox con el mismo chequeo y un goto line X, que tengo que usar!


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
26
Temp = InputBox("Proporcione el nombre del personaje que se encuentra baneado")
 
If Temp = vbNullString Then
    If MsgBox("El dato ingresado no puede estar vacío ¿Desea volver a intentarlo?", MsgBoxStyle.YesNo) = vbYes Then
        GoTo Line1
    Else
        Exit Sub
    End If
End If
 
Call AddConsole(txtMessage, "Nombre: ", FontType.FONTTYPE_PREDEFINED, False)
Call AddConsole(txtMessage, Temp, FontType.FONTTYPE_BODYAUTHOR, True)
 
Line2:
Temp = InputBox("Proporcione el email del personaje que se encuentra baneado")
 
If Temp = vbNullString Then
    If MsgBox("El dato ingresado no puede estar vacío ¿Desea volver a intentarlo?", MsgBoxStyle.YesNo) = vbYes Then
        GoTo Line2
    Else
        Exit Sub
    End If
End If
 
Call AddConsole(txtMessage, "Email: ", FontType.FONTTYPE_PREDEFINED, False)
Call AddConsole(txtMessage, Temp, FontType.FONTTYPE_BODYAUTHOR, True)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de AVIZOR
Val: 22
Ha aumentado su posición en 289 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Simplificación del código

Publicado por AVIZOR (5 intervenciones) el 10/06/2021 20:23:06
Hola! El código funciona para vb6 y para vb.net ! XD Estoy en vb.net con visual studio 2019..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Simplificación del código

Publicado por Phil Rob (1546 intervenciones) el 10/06/2021 22:09:55
Hola,

Trabajas con VisualStudio 2019 pero este código es VB6.0. Como mostrado con la imagen, VisualStudio permite VB6 por que la librería VisualBasic es activada. Por el menú "Proyecto", después "Propriedades ...", y la pestaña "Referencias", puedes retirar la activación de Microsoft Visual Basic. Entonces, veras que tu código da muchos errores.
El código VisualBasic da ejecutable que no funciona de misma manera que el código VB.Net. Las instrucciones están diferentes. Por ejemplo, MsgBox es reemplazado por MessageBox.Show. No existe la InputBox en VB.net.
Este es casi 20 año que existe VB.Net. Mucho programadores de ahora nunca estudiado el VisualBasic.
Pero siempre existen apasionados de VisualBasic. Este es la razón por que he mostrado el foro : https://www.lawebdelprogramador.com/foros/Visual-Basic/index1.html donde tiene mas suerte de obtener la ayuda que quieres.

...

VB6
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 230
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Simplificación del código

Publicado por Cesar (79 intervenciones) el 10/06/2021 23:08:55
Hola.

Lo que te dicen es correcto, y aunado a ello, estás programando con lógica de Basic (ni siquiera VB).

Las etiquetas y funcion Goto, ya no se emplean.

Tu código puede simplificarse bastante, empleando un Chile (si puedo, en un par de horas lo hago).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar