Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Ayuda problema con If.. (https://www.clubdelphi.com/foros/showthread.php?t=58435)

THACKER 20-07-2008 23:00:53

Ayuda problema con If..
 
Tengo este problema que no tenia con turbo delphi 2006 bueno este es el codigo y el error:

Código Delphi [-]
procedure TForm1.Timer1Timer(Sender: TObject);
begin
             If progressbar1.Position = 150 then
                    timer1.enabled := false;
                    Progressbar1.position := 0

end;

end.

Bueno veran no puedo hacer que el If dela progressbar este en 150 si esta haga lo del "Progressbar1.position := 0 y lo del timer.

En el turbo delphi lo pongo así:

If timer1.enabled := true then
edit1.text := 'close';
edit2.text := 'Error!';

xq en visual basic seria:

If timer1.enabled = true then
edit1.text = "close"
edit2.text = "Error!"
Else
cerrar
end.if

toncs no entiendo cual es el problema..

dec 20-07-2008 23:10:41

Hola,

No sé si te refieres a agrupar varias instrucciones en un bloque:

Código Delphi [-]
If progressbar1.Position = 150 then
begin
  timer1.enabled := false;
  Progressbar1.position := 0;
end;

Observa el "begin ... end"...

Caral 20-07-2008 23:14:31

Hola
Aparte de lo que comenta Dec, creo que el progressbar tiene la propiedad max en 100, si buscas 150 creo que tendras que ponerlo asi.
Saludos

Delphius 20-07-2008 23:23:41

Cita:

Empezado por Caral (Mensaje 301740)
Hola
Aparte de lo que comenta Dec, creo que el progressbar tiene la propiedad max en 100, si buscas 150 creo que tendras que ponerlo asi.
Saludos

Amigo Carlos, tengo entendido que al TProgressBar si se le puede indicar un máximo distinto a 100.

Saludos,

Caral 20-07-2008 23:27:10

Hola
A eso mismo me refiero amigo, a cambiarlo a 150 que es el máximo que busca.
Saludos

JoseFco 20-07-2008 23:34:21

Cita:

Empezado por Caral (Mensaje 301748)
Hola
A eso mismo me refiero amigo, a cambiarlo a 150 que es el máximo que busca.
Saludos

Si lo que dice Caral es que por defecto esta a 100 el maximo y si quiere 150 pues tiene que cambiar ese maximo.;)

Yo lo he puesto a unos cuantos miles:

Código Delphi [-]
 
 begin
      if contador <= 4095 then
        begin
          ComPort.Write(Buffer[Contador],1);
          ProgressBar1.Position := Contador;
          Inc(Contador);

Un Saludo.

Delphius 20-07-2008 23:36:22

Cita:

Empezado por Caral (Mensaje 301748)
Hola
A eso mismo me refiero amigo, a cambiarlo a 150 que es el máximo que busca.
Saludos

Ha... ahora te entiendo.

De curioso hice una pruebita... ¿Que pasa si uno asigna un valor más grande a position que el de Max?
La respuesta: Position se cambiará al máximo permitido. Es decir que internamente, el componente se encarga de corregir el valor hacia los puntos extremos.

Si 150 es el máximo valor que se permitirá lo más adecuado es tener en la condición de la siguiente forma:
Código Delphi [-]
with ProgressBar do
  if Position = Max
    then begin
             // lo que haya que hacer...
           end;

Recuerden que por el modo en que está implementado, el método de escritura de la propiedad Position, la siguiente condición es redundante (sobra):

Código Delphi [-]
if Position >= Max

Saludos,

Caral 20-07-2008 23:40:18

Hola
Siempre aprenderé algo nuevo de vosotros, mis maestros.:)
Saludos amigos.

JoseFco 21-07-2008 00:03:42

Cita:

Empezado por Caral (Mensaje 301754)
Hola
Siempre aprenderé algo nuevo de vosotros, mis maestros.:)
Saludos amigos.

Eso fue una de las cosas que mas me motivo a entrar al club.Me di cuenta que aqui si podria aprender.Exelentes maestro.
Yo cuando tengo la intencion de usar un componente me pongo a jugar con el a ver que sale y que le encuentro.El ProgressBar a sido uno de ellos.

Un Saludo.


La franja horaria es GMT +2. Ahora son las 03:09:24.

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