Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   cambiar un texto con un botton (https://www.clubdelphi.com/foros/showthread.php?t=14274)

ramonibk 15-09-2004 13:48:35

cambiar un texto con un botton
 
El problema es el siguiente.



cuando presiono un botón me tiene que cambiar un texto dependiendo de como estaba antes y lo he echo



Código:

begin
 If Form1.label1.Caption = 'Promer Texto'
  Then Begin
  Form1.Label1.Caption:= 'Segundo Texto';
  Exit End;
 If Form1.Label1.Caption ='Segundo Texto'
  Then Begin
  Form1.Label1.Caption:= 'Primer Texto';
 Exit End;
End;





y lo que pasa es que esto me funciona las primeras veces. pero cuando intento repetirlo mas veces se queda bloqueado. y no se como solucionarlo.

yusnerqui 15-09-2004 14:29:04

Debe funcionar
 
Código Delphi [-]
If Form1.label1.Caption = 'Primer Texto' Then 
   Form1.Label1.Caption:= 'Segundo Texto'
else
   Form1.label1.Caption := 'Primer Texto';

Espero te ayude.

Un Saludo

ramonibk 15-09-2004 15:29:36

Si esto me a sido de mucha utilidad.
pero ahora si lo que quiero es pasar por tres estado diferentes????

yusnerqui 15-09-2004 16:03:22

Seguir el bloque
 
Código Delphi [-]

If Form1.label1.Caption = 'Primer Texto'  Then 
   Form1.Label1.Caption:= 'Segundo Texto'
else  
  If Form1.Label1.Caption ='Segundo Texto'  Then 
     Form1.Label1.Caption:= 'Tercer Texto'
  else       
     Form1.Label1.Caption:= 'Primer Texto';

Puedes seguir el bloque de If cuantas veces quieras en dependencia de la cantidad de estados....

Saludos:D

ramonibk 15-09-2004 17:01:31

Muchas gracias parece que ya me queda claro

roman 15-09-2004 17:22:23

Si vas a usar múltiples estados quizá te convenga utilizar un arreglo con los posibles textos:

Código Delphi [-]
const
  Textos: array [1..5] of String = (
     'Primer texto',
     'Segundo texto',
     'Tercer texto',
     'Cuarto texto',
     'Quinto texto'
   );

y usar alguna variable entera (incluso la propiedad Tag del botón) para conocer el índice del texto que debes presentar:

Código Delphi [-]
Inc(Button1.Tag);
Button1.Caption := Textos[Button1.Tag];

De esta manera tienes un código más claro sin tantos condicionales.

Edito:

Para poder regresar al primer texto luego del último (quino en el ejemplo), en lugar de

Inc(Button1.Tag)

podías usar

Button1.Tag := (Button1.Tag + 1) mod 5;

// Saludos


La franja horaria es GMT +2. Ahora son las 12:08:06.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi