Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Progress Bar Ciclo

    Ho realizzato questa progress bar che va avanti con il tempo impostato in TTime ma quando arriva a 100 vorrei che ricominciasse da capo ho inserito alla fine la riga Timer1Timer(Self); ma rimane fermo senza ricominciare da zero come posso modificare questo codice per avere un effetto ciclo?
    codice:
    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
    if  Barra.Position    <= 100  then
    begin
        Barra.Position:= Barra.Position+1;
    end else
    if  Barra.Position >= 100 then
        Timer1Timer(Self);
    end;

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Se vuoi ricominciare da capo, significa che prima o poi dovrai assegnare alla proprietà Position il valore 0 (zero), che è quello iniziale.

    Se osservi il tuo codice, scoprirai che da nessuna parte è presente una simile assegnazione, quindi è lecito aspettarsi che questa azione non verrà mai eseguita.

    Ti basterebbe comunque eseguire il programma passo passo in debugging per renderti conto del percorso che segue il codice e dell'origine del problema.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Il Position = 0 era la prima cosa a qui avevo pensato ma non so come inserirlo devo usare una variabile per lo 0?

    var
    I = 0
    Position = I

  4. #4
    ho fatto in questo modo ma mi va in tilt:
    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
    if Barra.Position <= 100 then
    begin
    Barra.Position:= Barra.Position+1;
    end else
    if Barra.Position >= 100 then
    Barra.Position :=1;
    Timer1Timer(Self);
    end;

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Prima di affrontare qualsiasi problema, è necessario prendere dimestichezza con la programmazione anche dal punto di vista logico.

    A giudicare dal codice che scrivi, mi sembra che tu vada a caso... o no?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  6. #6
    Più o meno è cosi!

  7. #7
    è ok
    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
    if Barra.Position <= 100 then
    begin
    Barra.Position:= Barra.Position+1;
    end else
    begin
    barra.position:=0;
    end;
    end;

  8. #8
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Originariamente inviato da camaleonteplus
    Più o meno è cosi!
    Mi chiedo come tu possa lavorare in questo modo: appena un problema varia leggermente, non hai già più la possibilità di risolverlo anche se concettualmente è identico ad un altro già affrontato. I fondamentali sono... fondamentali.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  9. #9
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Originariamente inviato da camaleonteplus
    è ok [...]
    Per forza, il codice ti è stato suggerito pari pari.

    Ribadisco che a me pare assurdo lavorare solo con fornitura da parte di terzi del codice necessario al proprio programma, senza metterci nulla di proprio e senza sforzarsi di capire i meccanismi, ma attendendo sempre la "pappa pronta", ma ognuno si accontenta a proprio modo.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  10. #10
    se guardi sul forum qualche volta sono riuscito a risolvere da solo alcuni problemi, normale che se li guardi per erano bezzegole ma per me erano problemi da risolvere e da solo ci sono riuscito.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.