/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Er det mugligt ?
Fra : Henning Madsen


Dato : 10-12-00 20:04

Jeg har en form hvorpå der blandt andet er 10 knapper, som hver gør
forskellige ting.
Er det mugligt f.eks. med Timer komponenten at få disse knapper aktiveret.
Knap 5 efter f.eks. 1 min. knap7 efter f.eks10 min og så videre.
Er der en løsning vel jeg være glad for et svar i nynybegynder sprog
med venlig hilsen
Henning.




 
 
Thomas P (10-12-2000)
Kommentar
Fra : Thomas P


Dato : 10-12-00 21:19

Dette eksempel jeg har lavet her er nok det grimmeste stykke kode I har set
her på newsgroupen og ville få Anders (I ved hvem) til at vende sig i
graven, hvis han havde været død. Nåeh, men du skal i hvert fald sætte
timerens interval til 60.000 og implementere dette stykke kode :)

---klip---

var
Form1 : TForm1;
Minutter : integer;

implementation

{$R *.DFM}

procedure TForm1.knap5Click(Sender: TObject);
begin
showmessage('Knap5');
end;

procedure TForm1.knap7Click(Sender: TObject);
begin
showmessage('Knap7');
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
Minutter:=Minutter+1;
case minutter of
1: Knap5.OnClick(Sender);
7: Knap7.OnClick(Sender);
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Minutter:=0;
end;

- Thomas



René Jensen (11-12-2000)
Kommentar
Fra : René Jensen


Dato : 11-12-00 11:52

Thomas P wrote:
> Dette eksempel jeg har lavet her er nok det grimmeste stykke kode I har set
> her på newsgroupen og ville få Anders (I ved hvem) til at vende sig i
> graven, hvis han havde været død. Nåeh, men du skal i hvert fald sætte
> timerens interval til 60.000 og implementere dette stykke kode :)
>
> ---klip---
>
> var
> Form1 : TForm1;
> Minutter : integer;
>
> implementation
>
> {$R *.DFM}
>
> procedure TForm1.knap5Click(Sender: TObject);
> begin
> showmessage('Knap5');
> end;
>
> procedure TForm1.knap7Click(Sender: TObject);
> begin
> showmessage('Knap7');
> end;
>
> procedure TForm1.Timer1Timer(Sender: TObject);
> begin
> Minutter:=Minutter+1;
> case minutter of
> 1: Knap5.OnClick(Sender);
> 7: Knap7.OnClick(Sender);
> end;
> end;
>
> procedure TForm1.FormCreate(Sender: TObject);
> begin
> Minutter:=0;
> end;

Ovenstående kode vil *IKKE* virke ... grunden er at den vil kun virke
første iteration, og derefter vil der ikke blive opfyldt nogle af de
conditions, som bliver sat i case-sætningen.
Jeg har således tilladt mig at skrive en ny kode-stump, som virker efter
x-antal minutter (dog max. 65535 min. -- hvilket svarer til ca. 45
døgn). Husk at erklære konstanterne og den globale variabel før nogle af
metoderne.

// erklæring af konstanter; de enkelte knappers interval i hele antal
min.
const
button5Interval = 1; // 1 min
button7Interval = 10; // 10 min

// erklæring af global varibel
var
elapsedTime: Word;

// nulstiller den globale variabel elapsedTime
procedure TForm1.FormCreate(Sender: TObject);
begin
elapsedTime := 0;
end;

// tjek for evt. udførelse af buttonclicks
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if elapsedTime mod button5Interval = 0 then
Button5.OnClick(Sender);
if elapsedTime mod button7Interval = 0 then
Button5.OnClick(Sender);
Inc(elapsedTime);
end;

--
Med venlig hilsen,
René Jensen

100% Certified Nerd -- YEAH, AND I'M F*CKING PROUD OF IT :P

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste