Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Error con un combobox

Estas en el tema de Error con un combobox en el foro de Visual Basic clásico en Foros del Web. Buenas! Mirad, estoy haciendo un Script que según las categorías que tenga seleccionadas en unas CheckBox me copiará un texto u otro en el portapapeles. ...
  #1 (permalink)  
Antiguo 10/08/2010, 06:36
 
Fecha de Ingreso: septiembre-2008
Mensajes: 6
Antigüedad: 15 años, 7 meses
Puntos: 0
Error con un combobox

Buenas!

Mirad, estoy haciendo un Script que según las categorías que tenga seleccionadas en unas CheckBox me copiará un texto u otro en el portapapeles.

La cosa es, que esto lo quiero hacer en varios idiomas y por eso he añadido al principio del form un ComboBox con los idiomas correspondientes y según el que elija me coja los datos del .txt de una carpeta o de otra.

Parte del código es este:

Código:
 Dim Idioma As String

        If ComboBox1.SelectedItem = 0 Then
            MsgBox("Please select a Language", 0, "Error")
        Else
            If ComboBox1.SelectedItem = -1 Then
                Idioma = "ES"
            End If
            inicio = My.Computer.FileSystem.ReadAllText("C:\Documents and Settings\XXXX\Mis documentos\Visual Studio 2008\Projects\ClipperCreator\ClipperCreator\My Project\" & Idioma & "\header.txt") & vbCrLf & vbCrLf
            If CheckBox12.Checked Then
                final = My.Computer.FileSystem.ReadAllText("C:\Documents and Settings\XXXX\Mis documentos\Visual Studio 2008\Projects\ClipperCreator\ClipperCreator\My Project\"/ Idioma & "\Footer_stilllocked.txt") & vbCrLf & vbCrLf
            Else
                final = My.Computer.FileSystem.ReadAllText("C:\Documents and Settings\XXXX\Mis documentos\Visual Studio 2008\Projects\ClipperCreator\ClipperCreator\My Project\"& Idioma & "\Footer_notlocked.txt") & vbCrLf & vbCrLf
            End If
El problema viene que si ejecuto el programa y selecciono 1 idioma me dice:

"La conversión de la cadena "Spanish" en el tipo 'Double' no es válida."

Y me selecciona:
Código:
If ComboBox1.SelectedItem = 0 Then
en amarillo.

Los campos del Combobox son Spanish y English en este orden.

¿Alguna Idea?

Muchísimas gracias por adelantado.

Kansy

-------------------
EDITADO
-------------------

He cambiado
Código:
            If ComboBox1.SelectedItem = -1 Then
                Idioma = "ES"
            End If
por
Código:
            If ComboBox1.SelectedItem = "Spanish" Then
                Idioma = "ES"
            End If
y funciona.

Pero para que funcione he tenido que eliminar el
Código:
If ComboBox1.SelectedItem = 0 Then
            MsgBox("Please select a Language", 0, "Error")
        Else
porque esa parte me seguía dando error.

----------------
EDITADO 2
----------------

Bien, eso lo he solucionado de la siguiente manera:

Código:
       If ComboBox1.SelectedItem = "Spanish" Then
            Idioma = "ES"
        ElseIf ComboBox1.SelectedItem = "English" Then
            Idioma = "EN"
        ElseIf ComboBox1.SelectedItem = "French" Then
            Idioma = "FR"
        ElseIf ComboBox1.SelectedItem = "German" Then
            Idioma = "GE"
        ElseIf ComboBox1.SelectedItem = "Italian" Then
            Idioma = "IT"
        ElseIf ComboBox1.SelectedItem = "Polish" Then
            Idioma = "POL"
        ElseIf ComboBox1.SelectedItem = "Portuguese" Then
            Idioma = "PRT"
        End If

        If ComboBox1.SelectedIndex < 0 Then
            MsgBox("Select a Language", 0, "Error")
        Else
Añado todo esto antes del código que deseo que se ejecute y funciona. :)

Última edición por kansy; 10/08/2010 a las 07:45 Razón: Edit 2 added
  #2 (permalink)  
Antiguo 11/08/2010, 10:57
Avatar de lokoman  
Fecha de Ingreso: septiembre-2009
Mensajes: 502
Antigüedad: 14 años, 7 meses
Puntos: 47
Respuesta: Error con un combobox

Hola!
Si luego de cargar el combo pones lo siguiente:
Código vb:
Ver original
  1. 'EN EL EVENTO CLICK DEL COMBO
  2. Idioma=MID(ComboBox1.text,1,3)

Te traeria las 3 primeras letras del texto que está en el combo... quedaria algo asi:

Spanish -> Idioma = "Spa"
English -> Idioma = "Eng"
French -> Idioma = "Fre"
German -> Idioma = "Ger"
...
...

Seria menos codigo.
!

Etiquetas: combobox
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:59.