Lille nemt program

Tags:    delphi

<< < 12 > >>
hvordan laver jeg et program der ligger nede ved uret (taskbaren) og som smider en lille besked feks. hvert 10. minut. Den skal poppe op ligesom feks. når der er en opdatering i windows XP.. :) Nogle der kan hjælpe ??

Det skal skrives til XP
-----------------------------------
<? echo "Programmering er dejligt, udfordrende og lærerigt!"; ?>



14 svar postet i denne tråd vises herunder
4 indlæg har modtaget i alt 12 karma
Sorter efter stemmer Sorter efter dato
Det kan gøres meget nemt, det kræver at du smider to TTimer på din form. I din form.onCreate skriver du:

Fold kodeboks ind/udKode 


Så er din form uden for skærmen, nede i venstre hjørne. Nu sætter du din timer til 10 min og enabled. Og din anden timer sætter du til et interval på 1 og disabled. I din første timers onTimer skriver du :

Fold kodeboks ind/udKode 


og i din anden timers onTimer skriver du:

Fold kodeboks ind/udKode 


Dette er en meget simpel måde at gøre det, og kan/skal selvfølgelig udvides en del før det virker optimalt.

MvH

Stefan Svensson
http://fusket.frac.dk

[Redigeret d. 31/01-04 14:17:42 af Stefan Svensson]



Du kan jo ligge en Timer til at smide en besked op

Timer1 = 10min
Begin
ShowMessage('Teksten der skal vises');


Det skulle klare det, du kan jo også hente teksten fra en label :)




Chadi du har ret.
Det viste jeg bare ikke.
Men jeg syntes bare at det ikke passer



Der gaar altsaa 1000 milisekunder paa et sekund, og det har der altid gjort! Windows timers koere altid paa milisekunder! Desuden er TTimer komponenten sat til 1000 som default - Ikke helt uden grund!

Der skal dog siges at der er lidt forskel paa tiden afhaengig af hvilken processor der sidder i dit bundkort. Det er fordi at en TTimer i virkligheden er en selvstaendig TThread (I ved saadan en der spiltter din CPU op saa faenomenent "MultiTask" opstaar :D )!



Det kan gøres meget nemt, det kræver at du smider to TTimer på din form. I din form.onCreate skriver du:

Fold kodeboks ind/udKode 


Så er din form uden for skærmen, nede i venstre hjørne. Nu sætter du din timer til 10 min og enabled. Og din anden timer sætter du til et interval på 1 og disabled. I din første timers onTimer skriver du :

Fold kodeboks ind/udKode 


og i din anden timers onTimer skriver du:

Fold kodeboks ind/udKode 


Dette er en meget simpel måde at gøre det, og kan/skal selvfølgelig udvides en del før det virker optimalt.

MvH

Stefan Svensson
http://fusket.frac.dk

[Redigeret d. 31/01-04 14:17:42 af Stefan Svensson]


Kan kun finde en Timer. Men ingen ttimer. Hvor er den ??
-----------------------------------
<? echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Programmering er dejligt, udfordrende og lærerigt!\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"; ?>



Du gider ikke lave det og smide det i en zip til mig, vel ?? :)

Er ikke just god til delphi..




Kan kun finde en Timer. Men ingen ttimer. Hvor er den ??


Det er den samme, hvis du smider en timer over på formen vil du se at din kode kommer til at sådan ud:

Fold kodeboks ind/udKode 


Du kan se at der står timer1: TTimer;, det vil kort og godt sige at din komponent (Timer) laver et objekt (Timer1) af typen TTimer.

MvH

Stefan Svensson
http://fusket.frac.dk

[Redigeret d. 31/01-04 14:47:52 af Stefan Svensson]



unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls;

type
TForm1 = class(TForm)
Timer1: TTimer;
Timer2: TTimer;
procedure Timer1Timer(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);
begin
Form1.Top := screen.WorkAreaheight;
timer2.enabled := true;
end;

procedure TForm1.Timer2Timer(Sender: TObject);
begin
Form1.Top := Form1.Top - 1;
if Form1.Top <= screen.WorkAreaheight - Form1.Height then Timer2.Enabled := false;



end;

procedure TForm1.FormCreate(Sender: TObject);
begin

Form1.Left := screen.WorkAreawidth - Form1.Width;
Form1.Top := screen.WorkAreaheight;
end;

end.



Sådan er min kode. Men sys ikek der sker noget ??



Altså hvis jeg følger Stefan's guide får jeg det til at virke sådan at der hver 10. minut kommer en form op ved nederste højre hjørne... Så jo! Der sker noget! :)
Husk at Interval er i millisekunder.. Det betyder at hvis der står 1000, så betyder det 1 sekund...
Så kan du selv regne ud hvad 10 minutter er ;)

Hilsen CHadi
Mit lykketal er 2959

[Redigeret d. 31/01-04 17:17:58 af CHadi]



Chadi.
Må jeg lige ratte dig.
Vis du ikke ved det, går der 100 minisekunder på et sekundt.
d.v.s at når han skriver 100 går der 1 sekundt.
så 10 sekunder er: 1000........

ps. Min dildo er 1,25 meter lang.


[Redigeret d. 31/01-04 20:00:59 af Theis]



<< < 12 > >>
t