Hola Caral,
Le he echado un ojo a tu programa feliz
. Para empezar me concentré en el Button3Click, el que comprueba las respuestas de la segunda ficha.
Tienes muchas parejas de sentencias del tipo
Código:
if ESTO = AQUELLO then
TalCosa;
if ESTO <> AQUELLO then
OtraCosa;
¿por qué no lo simplificas:
Código:
if ESTO = AQUELLO then
TalCosa
else
OtraCosa;
Pero más aún: fíjate que en esas sentencias lo que hace es fijar un rótulo de acuerdo a si la respuesta es o no correcta. Y sólo hay dos posibles rótulos: 'X' y 'OK'.
'X' se pone si la respuesta es incorrecta, o, dicho de otra forma, si la comparacion
ESTO = AQUELLO
es falsa, y 'OK' se pone si esta comparación es verdadera. En resumen, el rótulo que uses depende de un valor booleano. Entonces puedes hacer esto:
Código Delphi
[-]
const
strRespuestas = array[Boolean] of String = ('X', 'OK');
al principio del procedimiento. strRespuestas es un arreglo de dos elementos:
Código:
false => 'X'
true => 'OK'
Entonces, los condicionales
Código Delphi
[-]
if Edit3.Text = Edit4.Text then
Label4.Caption := 'OK';
if Edit3.Text <> Edit4.Text then
Label4.Caption := 'X';
la puedes simplificar a una sóla línea:
Código Delphi
[-]
Label4.Caption := strRespuestas[Edit3.Text = Edit4.Text];
Aplicas la misma técnica al final de ese evento, donde asignas los colores, y en total reduces el código en aproximadamente 100 líneas
Por otro lado, creo que Neftali ya lo dijo.
Urge cambiar nomenclatura.
// Saludos