Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Verbliebene Zeit mit Progressbar anzeigen (https://www.delphipraxis.net/118955-verbliebene-zeit-mit-progressbar-anzeigen.html)

technik05 18. Aug 2008 14:42


Verbliebene Zeit mit Progressbar anzeigen
 
Dieses kleine Programm wird durch eine Aktion geöffnet (FMS 32 Pro).
Der Timer1 soll nach einer gewissen Zeit Forum1 wieder schließen.
Möchte gerne die verbleibende Zeit mit ProgressBar darstellen!

ist dieses möglich ??? :wall:

Delphi-Quellcode:
 TForm1 = class(TForm)
    Timer1: TTimer;
    Label1: TLabel;
    Label3: TLabel;
    ProgressBar1: TProgressBar;
    procedure Timer1Timer(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Timer1Timer(Sender: TObject);
begin
Form1.Close;
end;

end.
[edit=sakura] Titel für Suche korrigiert. Mfg, sakura[/edit]

generic 18. Aug 2008 14:45

Re: ProgresBar
 
Nimm einen Zähler.
Dieser wird durch dem Timer in 0,5 Sekunden Takt runtergezählt.
Ist dieser 0 dann Form schließen.
Ansonsten schön den Progressbar updaten.

technik05 18. Aug 2008 14:54

Re: ProgresBar
 
Nimm einen Zähler.

was für ein zähler ?????????

Dieser wird durch dem Timer in 0,5 Sekunden Takt runtergezählt.
Ist dieser 0 dann Form schließen.



bin leider kein profi, bin froh das ich delphi geöffnet bekomme :shock:

Luckie 18. Aug 2008 15:12

Re: ProgresBar
 
Bitte gibt deinem Thread einen aussagekräftigen Namen. Ein Vorschlag wäre: "Verblieben Zeit mit Progressbar anzeigen"

stahli 18. Aug 2008 15:20

Re: ProgresBar
 
ProgressBar.Min := 0;
ProgressBar.Max := 60;
ProgressBar.Position := ProgressBar.Max;
ProgressBar.Step := -1;

Timer jede Sekunde feuern lassen und dabei:
ProgressBar.StepIt;
if ProgressBar.Position < 1 then Close;


Dann kannst Du die Zeit (in Sekunden) durch ProgressBar.Max einstellen.


Stahli

technik05 18. Aug 2008 15:33

Re: Verblieben Zeit mit Progressbar anzeigen
 
erstmal danke an alle

wie würde es dann im quellcodes aussehen ??? habe wirklich keine ahnung :roll: :roll:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, ComCtrls, DBTables, StdCtrls;

type
  TForm1 = class(TForm)
    Timer1: TTimer;
    Label1: TLabel;
    Label3: TLabel;
    ProgressBar1: TProgressBar;    // [color=#ff003f]muß ich hier was rein schreiben ????????[/color]
    procedure Timer1Timer(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Timer1Timer(Sender: TObject);
begin
Form1.Close;
end;

end.

DP-Maintenance 18. Aug 2008 15:40

DP-Maintenance
 
Dieses Thema wurde von "Dax" von "Neuen Beitrag zur Code-Library hinzufügen" nach "VCL / WinForms / Controls" verschoben.
...

stahli 18. Aug 2008 15:43

Re: Verblieben Zeit mit Progressbar anzeigen
 
Delphi-Quellcode:
procedure TForm1.FormActivate(Sender: TObject);
begin
  ProgressBar.Min := 0;
  ProgressBar.Max := 60;
  ProgressBar.Position := ProgressBar.Max;
  ProgressBar.Step := -1;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  ProgressBar.StepIt;
  if ProgressBar.Position < 1 then
    Close; // Form1.Close wäre das gleiche, aber Form1 kann man auch weglassen
end;
Ist ungetestet, müsste aber so gehen.
Im Ereignis OnActivate weist Du der ProgressBar erst mal die Startwerte zu, wenn Dein Formular aktiviert wird (wenn es also geöffnet wird und den Fokus erhält).
Den Timer stellst Du einfach auf 1 Sekunde ein und änderst die ProgressBar.Position schrittweise jede Sekunde.
Das Formular werd geschlossen, wenn die ProgressBar "heruntergelaufen" ist.

technik05 18. Aug 2008 16:06

Re: Verbliebene Zeit mit Progressbar anzeigen
 
DANKE !!!!

Super geht !!! danke danke :lol: :lol:


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:32 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz