Avatar billede refpsych Nybegynder
17. december 2002 - 21:20 Der er 4 kommentarer

Konsol

Jeg har lavet et konsolprogram her...Men jeg har nogle problemer med at lave et event...

program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils, ExtCtrls;

type
  Ttimer2 = class
  sender : Tobject;

public
  procedure onTimer(Sender : Tobject);

end;

var
Timer2 : Ttimer2;
Timer : Ttimer;

Procedure TTimer2.onTimer(Sender : Tobject);
begin
writeLn('!');
end;

begin
Timer := TTimer.Create(nil);
Timer2 := Ttimer2.Create;

*************************Hvad skal der stå i den sidste parentes herunder for at få eventet til at virke...

Timer.OnTimer := Timer2.onTimer();
*************************

Timer.Interval := 1000;
Timer.Enabled := True;
readLn;

end.
Avatar billede kfz Nybegynder
17. december 2002 - 22:08 #1
timer.ontimer := timer2.ontimer(timer2);
Avatar billede doc404 Novice
18. december 2002 - 01:53 #2
Jeg går ud fra du vil have en console app med en timer i?

Det er ikke sådan lige til. Problemet er, at timere er afhængig af et message loop og det har du ikke i en console app. Threads er din ven! Prøv dette:

program Project2;
{$APPTYPE CONSOLE}
uses WIndows,SysUtils,classes;

type
  TMyThread = class(TThread)
  public
    procedure Execute; override;
  end;
var
  MyThread : TMyThread;

procedure SayHello;
begin
  WriteLn('Hello');
end;

procedure TMyThread.Execute;
begin
  while not Terminated do
  begin
    SayHello;
    // her laver du et eller andet og venter bagefter i 1000ms = 1sek
    Sleep(1000);
  end;
end;

begin
  WriteLn('Tryk på en tast for at stoppe');
  MyThread := TMyThread.Create(false);
  readln;
  MyThread.Free;
end.
Avatar billede doc404 Novice
18. december 2002 - 01:53 #3
det var nu et svar...
Avatar billede refpsych Nybegynder
18. december 2002 - 20:21 #4
Problemet er bare at jeg skal bruge events...Fx hvis det var TCP.onConnect eller et andet event...Kan man slet ik bruge events i konsol eller hvad???
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester