Jump to content

[RESOLVIDO] [vb 2005] Aplicação multilingue


Joca

Recommended Posts

Gostava de saber qual é o meu erro no seguinte código, já que o mesmo não activa correctamente os botões (quero que o Button1 só fique activo quando seleccionar um dos idiomas no meu Form1 e, que exiba correctamente a mensagem referente ao idioma escolhido).

Adicionem o seguinte código a uma Form com uma ComboBox e dois Buttons:

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

       Button1.Enabled = False

        ComboBox1.Items.AddRange(New Object() {"Choose Idiom", "English", _
            "Français", "Português"})

        ComboBox1.SelectedIndex = 0 'Para manter sempre o "Choose Idiom" visível ao iniciar.


End Sub


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Me.DialogResult = Windows.Forms.DialogResult.OK

    End Sub


    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

        Me.DialogResult = Windows.Forms.DialogResult.Cancel


    End Sub

    
    Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged

        If ComboBox1.SelectedIndex <> 0 Then
            Button1.Enabled = True

            If ComboBox1.SelectedIndex <> 0 And Me.DialogResult = Windows.Forms.DialogResult.OK Then                
                MessageBox.Show("You choose" & ComboBox1.SelectedItem.ToString)

                ElseIf ComboBox1.SelectedIndex = 0 And Me.DialogResult = Windows.Forms.DialogResult.Cancel Then
                MessageBox.Show("You have chosen 'CANCEL', so program will not open!" _
                & vbNewLine & "You can try later to chose any idiom!", _
                "Warning!", MessageBoxButtons.OK)
                Application.Exit()
            End If
        End If

    End Sub
Link to comment
Share on other sites

Boas...

O que podes fazer se queres fazer um programa multi linguagem é, guardares um ficheiro por exemplo "ling.ini".

Imagina que tens um programa com 2 butões (button1 e button2) e queres tornar esses butões "traduziveis", então vais meter no ficheiro o seguinte:

[button1]

Botão 1

[button2]

Botão 2

E depois cada vez que o se abre o programa, ele abre esse ficheiro, lê os dados nesse ficheiro e depois é uma questão de programação...

Cumps

Link to comment
Share on other sites

Boas!

Esqueci de postar aqui que já resolvi o meu problema. Era só fazer o seguinte:

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load


        Button1.Enabled = False

        ComboBox1.Items.AddRange(New Object() {"Choose Idiom", "English", _
        "Français", "Português"})

        ComboBox1.SelectedIndex = 0 'Para mostrar sempre o "Choose Idiom" visível ao iniciar.


    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Me.DialogResult = Windows.Forms.DialogResult.OK

        MessageBox.Show("You Choose " & ComboBox1.SelectedItem.ToString)

    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

        Me.DialogResult = Windows.Forms.DialogResult.Cancel

        MessageBox.Show("You have chosen 'CANCEL', so program will not open!" _
        & vbNewLine & "You can try later to chose any idiom!", _
        "Warning!", MessageBoxButtons.OK)

        Application.Exit()


    End Sub

    Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged

        If ComboBox1.SelectedIndex <> 0 Then
            Button1.Enabled = True
        End If


    End Sub

Foi distracção da minha parte...

Mas, a propósito do que o NuGuN disse:

1.º É melhor usar ficheiros *.ini do que *.txt?

2.º Nunca "trabalhei" com ficheiros *.ini. Onde posso ver informação sobre isso?

3.º Como poderia chamar o texto? Num ficheiro *.txt tenho ideia de como seria feito, mas julgo que o *.ini não poderia exibir o texto directamente num menu ou, num botão... Como ainda não vi nenhum exemplo, não posso afirmá-lo com toda a certeza!...

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.