Toon posts:

[DELPHI] procedure na tijd laten herhalen *

Pagina: 1
Acties:
  • 48 views sinds 30-01-2008

Verwijderd

Topicstarter
beetje newbie vraag denk ik...

Maar hoe kan ik een procedure laten uitvoeren elke minuut ofzo?
Dus na een minuut moet hij die procedure weer opnieuw invoeren.

Hoe wordt dan bijv. deze code:
code:
1
2
3
4
procedure Test;
begin

end;

  • Varienaja
  • Registratie: Februari 2001
  • Laatst online: 14-06-2025

Varienaja

Wie dit leest is gek.

Een TTimer object op je form zetten. Interval instellen op het aantal milliseconden dat je nodig hebt (60.000 voor 1 minuut). En in het ontimer-event roep je die procedure van je aan. *D

Siditamentis astuentis pactum.


Verwijderd

Topicstarter
jeetje, jij bent echt wel een die hard programmeur man! :9
bedankt..

Verwijderd

Op maandag 11 maart 2002 18:57 schreef Mr.SubZero het volgende:
jeetje, jij bent echt wel een die hard programmeur man! :9
bedankt..
LOL, dan ben ik het ook :P

Verwijderd

Topicstarter
Waarom werkt dit nou niet?!
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Timer1: TTimer;
    ImageGroen: TImage;
    ImageRood: TImage;
    procedure Timer1Timer(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


procedure Check;
begin
 IF InternetGetConnectedState(NIL, 0) THEN
  begin
   //ShowMessage('Verbonden met internet');
   ImageGroen.Visible := true; //regel 36 <---------------
   ImageRood.Visible := false; //regel 37 <---------------
  end
 ELSE
  begin
   //ShowMessage('Niet verbonden met internet');
   ImageRood.Visible := true;
   ImageGroen.Visible := false;
  end;
end;

Compiler Messages:
[Error] Unit1.pas(36): Undeclared identifier: 'ImageGroen'
[Error] Unit1.pas(36): Missing operator or semicolon
[Error] Unit1.pas(37): Undeclared identifier: 'ImageRood'
......
......

  • whoami
  • Registratie: December 2000
  • Laatst online: 15:57
Wel, omdat ImageGroen en ImageRood members zijn van uw Form class en uw procedure Check dat niet is. Check kan dus niet aan de private, protected en published members van uw class.

Tip: Misschien eens iets over OO lezen en een boek over Delphi erbij nemen?

https://fgheysels.github.io/


Verwijderd

Topicstarter
Op maandag 11 maart 2002 19:31 schreef whoami het volgende:
Wel, omdat ImageGroen en ImageRood members zijn van uw Form class en uw procedure Check dat niet is. Check kan dus niet aan de private, protected en published members van uw class.

Tip: Misschien eens iets over OO lezen en een boek over Delphi erbij nemen?
ok, maar hoe kan ik het dan wel werkend krijgen?

  • Marv
  • Registratie: Oktober 2000
  • Laatst online: 11-06 06:52
Op maandag 11 maart 2002 19:28 schreef Mr.SubZero het volgende:
Waarom werkt dit nou niet?!
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
type
  TForm1 = class(TForm)
    Label1: TLabel;
    Timer1: TTimer;
    ImageGroen: TImage;
    ImageRood: TImage;
    procedure Timer1Timer(Sender: TObject);
    procudure check; // <---------------------------

  private
    { Private declarations }
  public
    { Public declarations }
  end;
........

procedure TForm1.check; //<------------------
begin
//
end;
:)

Edit: laatste nog vergeten

"Everything I've ever done or said is the complete opposite of what I've wanted" -- George


Verwijderd

Op maandag 11 maart 2002 19:28 schreef Mr.SubZero het volgende:
Waarom werkt dit nou niet?!
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Timer1: TTimer;
    ImageGroen: TImage;
    ImageRood: TImage;
    procedure Timer1Timer(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


procedure Check;
begin
 IF InternetGetConnectedState(NIL, 0) THEN
  begin
   //ShowMessage('Verbonden met internet');
   ImageGroen.Visible := true; //regel 36 <---------------
   ImageRood.Visible := false; //regel 37 <---------------
  end
 ELSE
  begin
   //ShowMessage('Niet verbonden met internet');
   ImageRood.Visible := true;
   ImageGroen.Visible := false;
  end;
end;

Compiler Messages:
[Error] Unit1.pas(36): Undeclared identifier: 'ImageGroen'
[Error] Unit1.pas(36): Missing operator or semicolon
[Error] Unit1.pas(37): Undeclared identifier: 'ImageRood'
......
......
Onder het private stukje bovenaan schrijf je
code:
1
   procedure check;

dan maak je van je huidige procedure
code:
1
    procedure Tform1.check;

en het zou nu moeten werken :9

edit:

oeps, juist te laat }:O

  • whoami
  • Registratie: December 2000
  • Laatst online: 15:57
Inderdaad, je maakt dus dat die Check procedure een member functie wordt van uw class. (Of die nu published, private, protected of public moet zijn, dat hangt af van wat je met die Check wilt doen en waar je hem nodig hebt).

https://fgheysels.github.io/


Verwijderd

Topicstarter
jullie zijn geweldig!!!!
Of ik ben een f*cking newbie...
wat zou het zijn? ;)

  • Marv
  • Registratie: Oktober 2000
  • Laatst online: 11-06 06:52
Op maandag 11 maart 2002 19:39 schreef Mr.SubZero het volgende:
jullie zijn geweldig!!!!
Of ik ben een f*cking newbie...
wat zou het zijn? ;)
Koop eens een boek of ga een tutorial doen :P

"Everything I've ever done or said is the complete opposite of what I've wanted" -- George


  • whoami
  • Registratie: December 2000
  • Laatst online: 15:57
Op maandag 11 maart 2002 19:39 schreef Mr.SubZero het volgende:
jullie zijn geweldig!!!!
Of ik ben een f*cking newbie...
wat zou het zijn? ;)
Het laatste denk ik... :) Heb niets tegen newbies
Maar met een goede instelling en moed en inzet ben je op een dag geen newbie meer. Dus, koop een boek over Delphi, lees en studeer.

https://fgheysels.github.io/


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

maar um het debuggen moet je echt zelf doen voortaan......
we zijn geen gathering of debuggers :+
je oorspronkelijke vraag heb ik geen moeite mee (laat daar geen misverstand over bestaan) maar het debuggen hoort bij het programmeren :)

Doet iets met Cloud (MS/IBM)

Pagina: 1

Dit topic is gesloten.