![]() |
Fenster erscheinen und wieder verschwinden lassen
Delphi-Quellcode:
:arrow: Der Quellcode sollte ein Fenster (Form5) erscheinen und wieder verschwinden lassen,
//Globale variablen
var Form5: TForm5; b: integer; c: integer; d: integer; //Globale variablen procedure TForm5.Timer1Timer(Sender: TObject);//Timer2 Intervall: 5000 begin d := 1; end; procedure TForm5.FormCreate(Sender: TObject); begin Form5.AlphaBlendValue := 0; b := 0; c := 0; d := 0; end; procedure TForm5.Timer2Timer(Sender: TObject);//Timer2 Intervall: 100 begin if d = 0 then begin repeat if c = 0 then begin Form5.AlphaBlendValue := b; if b = 254 then begin c := 1; end; b := b +1; end; until b = 255; end; if d = 1 then begin repeat Form5.AlphaBlendValue := b; b := b - 1; if b = 1 then begin Form5.Close; d := 2; end; until b = 0; end; end; :arrow: das klappt auch, aber kurze Zeit danach hängt sich das Programm auf. :coder2: Woran liegt das??? |
Re: Fenster erscheinen und wieder verschwinden lassen
Schleifen in einem Timer-Event sind irgendwie doppelt gemoppelt, findest Du nicht?
|
Re: Fenster erscheinen und wieder verschwinden lassen
Hm... Und wie soll ich das anders machen?
|
Re: Fenster erscheinen und wieder verschwinden lassen
Was hat der Timer1 für einen Sinn ?
|
Re: Fenster erscheinen und wieder verschwinden lassen
Das fenster sollte erscheinen und sobald Timer1 abgelaufen ist sollte es wieder verschwinden.
|
Re: Fenster erscheinen und wieder verschwinden lassen
Schnell zusammengeschrieben:
Delphi-Quellcode:
Spiel halt mal ein wenig mit den Werten.
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, ExtCtrls; type TForm1 = class(TForm) Timer1: TTimer; procedure FormCreate(Sender: TObject); procedure Timer1Timer(Sender: TObject); private { Private-Deklarationen } aVal: byte; ascending: Boolean; public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin aVal := 0; ascending := true; end; procedure TForm1.Timer1Timer(Sender: TObject); begin if aVal = MAXBYTE then ascending := false; if ascending then inc(aVal,5) else dec(aVal,5); AlphaBlendValue := aVal; if aVal = 0 then Close; end; end. |
Re: Fenster erscheinen und wieder verschwinden lassen
:thumb: Ok danke
|
Re: Fenster erscheinen und wieder verschwinden lassen
Hmm zu langsam....
aber ich post es.
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls; type TForm1 = class(TForm) Timer1: TTimer; procedure FormCreate(Sender: TObject); procedure Timer1Timer(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; ticker:integer; Flag:integer; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin AlphaBlendValue:=0; ticker:=0; Flag:=0; end; procedure TForm1.Timer1Timer(Sender: TObject); var i:integer; begin if (Flag = 0) then begin Form1.AlphaBlendValue:= ticker ; Inc(ticker); end; if ticker <= 0 then Flag := 0; if ticker >= 255 then Flag := 1; if (Flag=1) then begin Form1.AlphaBlendValue:= ticker ; dec(ticker); end; end; end. |
Re: Fenster erscheinen und wieder verschwinden lassen
:thumb: Du bekommst auch ein bisschen dank... :lol:
|
Re: Fenster erscheinen und wieder verschwinden lassen
Hier mal meine Notifier-Popup-Version, vielleicht kann ja wer etwas damit anfangen ;)
Delphi-Quellcode:
//Edit: aufgeräumt x_X
var
Form1: TForm1; showpopup:boolean = false; time:integer = 0; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin form1.left:=screen.width-form1.width; form1.top:=screen.Height-28; form1.Height:=0; end; procedure TForm1.Timer1Timer(Sender: TObject); begin if showpopup=true then if form1.height<50 then begin form1.height:=form1.Height+5; form1.top:=form1.top-5; end else else if form1.height>0 then begin form1.Height:=form1.height-5; form1.Top:=form1.top+5; end; inc(time); if time=1000 then begin showpopup:=not showpopup; time:=0; end; end; procedure TForm1.Button1Click(Sender: TObject); begin showpopup:=false; time:=0; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz