24. februar 2005 - 18:52Der er
4 kommentarer og 1 løsning
Showmessage besked kun en gang
Jeg har sat en timer til at checke om et tal er imellem to tal. Og hvis det ene tal ikke er imellem de to tal, så skal der starte en lyd, og starte en showmessage.
Men hvordan gør jeg at showmessage kun kommer en gang, selv om at timeren kører videre?
Min kode:
procedure TForm1.Timer1Timer(Sender: TObject); var tal1, tal2, tal3: real; begin
if tal1>tal2 then mediaplayer1.Play else if tal1<tal3 then mediaplayer1.Play; if tal1>tal2 then showmessage ('For høj temperatur!!!') else if tal1<tal3 then showmessage ('For lav temperatur!!!');
Her er en stup kode, hvor jeg bruger et flag "BeskedVist" til at styre om beskeden skal vises eller den allerede er vist. Læg mærke til at jeg initiere BeskedVist i Formens OnCreate event.
var Form1: TForm1; BeskedVist: Boolean;
implementation
{$R *.DFM}
procedure TForm1.Timer1Timer(Sender: TObject); var tal1, tal2, tal3: real; begin if not BeskedVist then begin tal1:= StrToFloat(edit1.Text); tal2:= StrToFloat(edit2.Text); tal3:= StrToFloat(edit3.Text);
if tal1>tal2 then begin BeskedVist:=True; mediaplayer1.Play; showmessage ('For høj temperatur!!!'); end; if tal1<tal3 then begin BeskedVist:=True; mediaplayer1.Play; showmessage ('For lav temperatur!!!'); end; end; end; procedure TForm1.FormCreate(Sender: TObject); begin BeskedVist:=False; end;
Synes godt om
Ny brugerNybegynder
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.