Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Vereinfachung/Verkürzen (https://www.delphipraxis.net/99456-vereinfachung-verkuerzen.html)

stexxy 13. Sep 2007 10:06

Re: Vereinfachung/Verkürzen
 
nach reichliger überlegung hab ichs hinbekommen dank globaler variabler den text echt krass zu minimieren.
danke nochmal

RavenIV 13. Sep 2007 10:08

Re: Vereinfachung/Verkürzen
 
Zitat:

Zitat von stexxy
nach reichliger überlegung hab ichs hinbekommen dank globaler variabler den text echt krass zu minimieren.
danke nochmal

Lass mal das Ergebnis sehen.
Vielleicht kann man Dir noch weitere Tips geben.

Globale Variablen (z.B.) sollte man vermeiden. :warn:

stexxy 13. Sep 2007 12:05

Re: Vereinfachung/Verkürzen
 
hier das ergebnis im vergleich zu oben echt kürzer :thumb:


Delphi-Quellcode:
unit Fahrstuhl;

interface

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

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;
    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);
   







private
    { Private-Deklarationen }
public
    { Public-Deklarationen }
end;

var
  Form1: TForm1;
  z: integer;

implementation

{$R *.DFM}









procedure TForm1.Timer1Timer(Sender: TObject);

var
  x : integer;
  y : integer;

begin




 y:=2;


  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 kehäuse

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



  if image4.top=z then
  Image4.left:=Image4.left-y;      //tür auf

   if image4.left=30 then          //tür offen ende des timer
   timer1.enabled:=false;







  if image1.top=120 then
   Label1.caption:=inttostr(4);

  if image1.top=0 then
   Label1.caption:=inttostr(5);             // fahrstuhl posi anzeige

  if image1.top=240 then
   Label1.caption:=inttostr(3);

  if image1.top=360 then
   Label1.caption:=inttostr(2);

  if image1.top=480 then
   Label1.caption:=inttostr(1);

  if image1.top=600 then
   Label1.caption:=inttostr(0);



 

end;




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

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

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


 
end;





procedure TForm1.Timer12Timer(Sender: TObject);   // tür zu
var
   y : integer;

begin
  timer12.enabled:=true;

  y:=2;
  Image4.left:=Image4.left+y;

  if image4.left=100 then
    timer12.enabled:=false;
   if timer12.enabled=false then
  timer1.enabled:=true;
end;



procedure TForm1.Button9Click(Sender: TObject);

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


 
end;

procedure TForm1.Button10Click(Sender: TObject);
begin
timer12.enabled:=true;
z:=360;

end;

procedure TForm1.Button11Click(Sender: TObject);
begin
timer12.enabled:=true;
z:=240;

end;

procedure TForm1.Button12Click(Sender: TObject);
begin
timer12.enabled:=true;
z:=120;    

end;

procedure TForm1.Button13Click(Sender: TObject);
begin
timer12.enabled:=true;
z:=0;

end;

end.

GTA-Place 13. Sep 2007 12:12

Re: Vereinfachung/Verkürzen
 
Unbedingt noch case of verwenden, z.B. anstatt

Delphi-Quellcode:
if image1.top=120 then
   Label1.caption:=inttostr(4);

  if image1.top=0 then
   Label1.caption:=inttostr(5);      

  if image1.top=240 then
nimmst du:

Delphi-Quellcode:
case Image1.Top of
  120: Label1.Caption := '4';
    0: Label1.Caption := '5';
  240: Label1.Caption := '?';
end;
Wie du siehst, brauchst du auch kein IntToStr, wenn du die Zahl direkt in Apostrophe packst.

Noch was: Verwende für jeden Button die selbe Klick-Prozedur. Schreibe in den Tag des Buttons (per Objektinspektor) die Zahl Z und greife dann auf (Sender as TButton).Tag darauf zu.

stexxy 14. Sep 2007 07:37

Re: Vereinfachung/Verkürzen
 
danke dir gta das mit der fahstuhlanzeige mit dem case.. of
war echt ne sehr gute vereinfachung.

prog is fertig und ich bin zufrieden mit meinem ersten projekt ..

dank an alle


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:50 Uhr.
Seite 2 von 2     12   

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