Shell 25-10-2023, 23:47
Buenas!

Uno de los ejercicios del curso de Inglés es conocer los países y las nacionalidades.
Lógicamente hay muchas.

Aunque hay muchas utilidades online para estas cosas, con Gambas hago algo parecido
con el fin de hacer test. Rolleyes

En principio el formulario es muy simple.
Puede preguntar la nacionalidad y se debe responder el país o al revés.

[Imagen: l3IGgg5.png]


Lo más gracioso es averiguar una estructura de datos, intercambiar la pregunta, tanto si es para país como para nacionalidad.

Código:
' Gambas class file

Private countriesYnationalities As New String[][]
Private answer As String
Private formtitle As String = "Countries and Nacionalities"
Private index As Integer

Public Sub Form_Open()

  Me.Title = formtitle

  Randomize

  countriesYnationalities.Add(["Spain", "Spanish"])
  countriesYnationalities.Add(["England", "English"])
  countriesYnationalities.Add(["Irland", "Irish"])
  countriesYnationalities.Add(["Poland", "Polish"])
  countriesYnationalities.Add(["Scotland", "Scottish"])
  countriesYnationalities.Add(["Turkey", "Turkish"])

  countriesYnationalities.Add(["Germany", "German"])
  countriesYnationalities.Add(["Mexico", "Mexican"])
  countriesYnationalities.Add(["the United States", "American"])

  countriesYnationalities.Add(["Italy", "Italian"])
  countriesYnationalities.Add(["Argentina", "Argentinian"])
  countriesYnationalities.Add(["Brazil", "Brazilian"])
  countriesYnationalities.Add(["Egypt", "Egyptian"])
  countriesYnationalities.Add(["Hungary", "Hungarian"])
  countriesYnationalities.Add(["Russia", "Russian"])

  countriesYnationalities.Add(["China", "Chinese"])
  countriesYnationalities.Add(["Japan", "Japanese"])

  countriesYnationalities.Add(["the Czech Republic", "Czech"])
  countriesYnationalities.Add(["France", "French"])
  countriesYnationalities.Add(["Switzerland", "Swiss"])

  countriesYnationalities.Add(["Chile", "Chilean"])
  countriesYnationalities.Add(["Peru", "Peruvian"])
  countriesYnationalities.Add(["Colombia", "Colombian"])
  countriesYnationalities.Add(["Morocco", "Moroccan"])
  countriesYnationalities.Add(["Ecuador", "Ecuadorian"])

  'Reference to country and answer nacinonality
  'Print countriesYnationalities[Rand(0, countriesYnationalities.max)][0]

  'Reference to nacionality and answer country
  'Print countriesYnationalities[Rand(0, countriesYnationalities.max)][1]

  btnQuestion.SetFocus()

End

Public Sub btnQuestion_Click()

  Dim questionnumber As Integer
  Dim answernumber As Integer

  index = Rand(0, countriesYnationalities.max)
  questionnumber = Rand(1)
  answernumber = IIf(questionnumber = 0, 1, 0)

  Label1.Text = countriesYnationalities[index][questionnumber]
  answer = countriesYnationalities[index][answernumber]

End

Public Sub TextBox1_KeyPress()

  Dim useranswer As String

  If Key.Code = Key.Enter Or Key.Code = Key.Return Then

    If TextBox1.Text = answer Then
      'Remove the index for not repeat the same question
      countriesYnationalities.Remove(index)
      useranswer = "Correct!"
    Else
      useranswer = "Incorrect"
    Endif
    Me.Caption = formtitle & " : " & useranswer

  Endif

End

Que despiste, subo el código. Que es muy sencillo.

Saludos
Archivos adjuntos
.gz
EjemploEstructuraDatosConPaises-0.0.1.tar.gz (Tamaño: 12.62 KB Descargas: 0)
datobinario 24-10-2023, 13:54
Buenos días amigos, desde la última actualización tengo este problema, Gambas no inicia, y la única referencia que tengo sobre el error es:

"Error del bus (`core' generado)"

cuando lo intento arrancar por consola.

Linux Mint 21.2 Cinnamon

Linux 5.15.0-87-generic
Shell 23-10-2023, 23:10
Buenas!.

Parece que se han añadido más opciones en el editor de la comunidad que trata el tema de tablas. Smile
Cuatro opciones.

[Imagen: 0I86vDC.png]

Saludos
Páginas (564):    1 130 131 132 133 134 564   
Bienvenido, Invitado
Tienes que registrarte para poder participar en nuestro foro.
Recordarme?
Miembros: 292
Último miembro: DarkWolf
Temas del foro: 1,742
Mensajes del foro: 9,030
Últimos temas
Ordenar en un TableView
Foro: General
Último mensaje por: guizans, Hace 4 horas
Respuestas: 4 - Vistas: 119
Odio a gb.Report
Foro: General
Último mensaje por: guizans, 02-11-2025, 13:36
Respuestas: 9 - Vistas: 1,570
Reportes de Gambas
Foro: Aplicaciones/Fragmentos de Código
Último mensaje por: Alberto59, 27-10-2025, 16:34
Respuestas: 2 - Vistas: 1,335
Ordenando las carpetas
Foro: Programación en otros lenguajes
Último mensaje por: tercoide, 22-10-2025, 15:57
Respuestas: 0 - Vistas: 116
Powered By MyBB, © 2002-2025 MyBB Group.
Made with by Curves UI.