AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zeitabfrage im timer

Ein Thema von stexxy · begonnen am 14. Sep 2007 · letzter Beitrag vom 14. Sep 2007
 
stexxy

Registriert seit: 12. Sep 2007
15 Beiträge
 
#1

Zeitabfrage im timer

  Alt 14. Sep 2007, 09:42
HI
ich habe ein fahrstuhl programm hergestellt der von etage zu etage fährt und dann die tür öffnet und stehen bleibt.
ich möchte aber nun das die tür nachdem er 3-5 sec steht wieder zu geht .

habt ihr ein paar ideen wie sich das realisieren lässt?

Delphi-Quellcode:
unit Fahrstuhl;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, StdCtrls, jpeg, RackCtls, MPlayer;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Image1: TImage;
    Timer1: TTimer;
    Button8: TButton;
    Button9: TButton;
    Button10: TButton;
    Button11: TButton;
    Button12: TButton;
    Button13: TButton;
    Button14: TButton;
    Image2: TImage;
    Image3: TImage;
    Label1: TLabel;
    Image4: TImage;
    Timer12: TTimer;
    Image5: TImage;
    btn_open: TButton;
    btn_close: TButton;
    Button16: TButton;
    Button7: TButton;
    procedure Timer1Timer(Sender: TObject);
    procedure Button14Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure Timer12Timer(Sender: TObject);
    procedure Button9Click(Sender: TObject);
    procedure Button10Click(Sender: TObject);
    procedure Button11Click(Sender: TObject);
    procedure Button12Click(Sender: TObject);
    procedure Button13Click(Sender: TObject);
    procedure Button16Click(Sender: TObject);
    procedure btn_closeClick(Sender: TObject);
    procedure btn_openClick(Sender: TObject);
    procedure Button7Click(Sender: TObject);




private
    { Private-Deklarationen }

public
    { Public-Deklarationen }
end;

var
  Form1: TForm1;
  z: integer;
  a: integer;

implementation

{$R *.DFM}




procedure TForm1.Timer1Timer(Sender: TObject); // Timer für auf bzw ab Bewegung

var
  x : integer;

begin

  x:=-2;
  if image1.top>z then //muss runterfahren
   Image1.top:=Image1.top+x; //bild fahrstuhl

  if image1.top<z then //muss rauffahren
   Image1.top:=Image1.top-x;



  if image4.top>z then //muss runterfahren
   Image4.top:=Image1.top+x; //bild Tür

  if image4.top<z then //muss rauffahren
   Image4.top:=Image1.top-x;



  if image5.top>z then //muss runterfahren
   Image5.top:=Image1.top+x; //bild gehäuse

  if image5.top<z then //muss rauffahren
   Image5.top:=Image1.top-x;

  timer12.enabled:=true;



 case Image1.Top of
  120: Label1.Caption := '4';
    0: Label1.Caption := '5'; //anzeige fahrstuhl der etagen
  240: Label1.Caption := '3';
  360: Label1.Caption := '2';
  480: Label1.Caption := '1';
  600: Label1.Caption := '0';
 end;



end;




procedure TForm1.Button14Click(Sender: TObject); // Programm verlassen
begin
  close;
end;



procedure TForm1.Timer12Timer(Sender: TObject); // Timer zum Türen öffnen bzw schliessen
var
   y : integer;

begin


  y:=2;

  {
  case not Image1.Top of
  120: timer12.enabled:=false;
    0: timer12.enabled:=false;
  240: timer12.enabled:=false;
  360: timer12.enabled:=false;
  480: timer12.enabled:=false;
  600: timer12.enabled:=false;
  end;
  }


  if not ( (a=2 ) or (a=1 ) ) then // tür auf oder zu knöpf gedrückt?
  begin
    if z <> Image4.top then //ziel nicht erreicht?
    begin
      if image4.left>=100 then //tür geschlossen?
      begin
        timer1.enabled:=true;
        timer12.enabled:=false;
        image4.left:=100;
        exit;
      end;
      Image4.left:=Image4.left+y; //tür schliessen
    end
    else
      if (z = Image4.top) then //ziel erreicht
      begin
        if image4.left<=30 then
        begin
          timer12.enabled:=false;
          timer1.enabled:=false;
          image4.left:=30;
          exit;
        end;
        Image4.left:=Image4.left-y; //tür öffnet
      end;
    end
    else
    begin
      if a=2 then // tür zu knöpf gedrückt?
      begin
        if image4.left>=100 then // tür auf geschlossen position?
        begin
          timer12.enabled:=false;
          image4.left:=100;
          a:=0; // zurückgesetzt der globalen variablen a
          exit;
        end;
         Image4.left:=Image4.left+y; // tür wird geöffnet
      end
      else if a=1 then // tür auf knopf gedrückt?
        begin
          if image4.left<=30 then // tür auf offen position?
          begin
            timer12.enabled:=false;
            image4.left:=30;
            a:=0;
            exit;
          end;
           Image4.left:=Image4.left-y; //tür wird geschlossen
        end;
      end;
end;


procedure TForm1.Button8Click(Sender: TObject); // Fahrstuhlknopf innen EG
begin

  timer12.enabled:=true;
  z:=600;

end;

procedure TForm1.Button9Click(Sender: TObject); // 1.OG

begin

  timer12.enabled:=true;
  z:=480;



end;

procedure TForm1.Button10Click(Sender: TObject); // 2.OG
begin

  timer12.enabled:=true;
  z:=360;

end;

procedure TForm1.Button11Click(Sender: TObject); // 3.OG
begin

  z:=240;
  timer12.enabled:=true;
  timer1.enabled:=false;

end;

procedure TForm1.Button12Click(Sender: TObject); // 4.OG
begin

  timer12.enabled:=true;
  z:=120;

end;

procedure TForm1.Button13Click(Sender: TObject); // 5.OG
begin

  timer12.enabled:=true;
  z:=0;

end;






procedure TForm1.Button16Click(Sender: TObject); // notruf
var
s: string;
begin
windows.Beep(900,300); // piepton aus dem speaker 900 macht die höhe und 300 die länge des tones


S:= '"Ein Mitarbeiter ist unterwegs! bitte bewahren sie ruhe!"';
showmessage (s) ;
end;

procedure TForm1.btn_closeClick(Sender: TObject); // Tür zu
begin

 a:=2;

  case Image1.Top of
    120: timer12.enabled:=true;
      0: timer12.enabled:=true; // wenn fahrstuhl nicht auf einer der etagen
    240: timer12.enabled:=true; // dann button deaktiviert
    360: timer12.enabled:=true;
    480: timer12.enabled:=true;
    600: timer12.enabled:=true;
  end;

end;

procedure TForm1.btn_openClick(Sender: TObject); // Tür auf
begin

 a:=1;

  case Image1.Top of
    120: timer12.enabled:=true;
      0: timer12.enabled:=true;
    240: timer12.enabled:=true; // wenn fahrstuhl nicht auf einer der etagen
    360: timer12.enabled:=true; // dann button deaktiviert
    480: timer12.enabled:=true;
    600: timer12.enabled:=true;
  end;

end;

procedure TForm1.Button7Click(Sender: TObject); // notaus schaltet timer ab
begin
windows.Beep(900,300); // piepton aus dem speaker 900 macht die höhe und 300 die länge des tones
  timer1.enabled:=false;
  timer12.enabled:=false;

end;



end.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:52 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz