Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Ansatz von Priceduren/Functionen (https://www.delphipraxis.net/127930-ansatz-von-priceduren-functionen.html)

Leo675 21. Jan 2009 14:47


Ansatz von Priceduren/Functionen
 
Hallo alle zusammen,

ich hab ein Problemchen:

ich will mein Code mit hilfe fon Funktionen und Proceduren reduzieren, aber da Erfahrung fehlt bin ich mir bisschen unsicher.

z.B. wenn folgender Aufruf:
Delphi-Quellcode:
procedure TForm1.Button8Click(Sender: TObject);
var
Datei,Datum :String;
begin

Button5.Enabled := True;
Button7.Enabled := True;
if RadioButton1.Checked then
  begin
    a:= 1;
    Datei:='';
    Datum:='';
    Datei := FileCamera1[High(FileCamera1)];
    Datei := Dr_a+Datei;
    Image5.Picture.LoadFromFile(Datei);
    Datum:= TimeFileCamera1[High(TimeFileCamera1)];
    Label6.Caption:= Datum;
  end;
if RadioButton2.Checked then
  begin
    b:= 1;
    Datei:='';
    Datum:='';
    Datei := FileCamera2[High(FileCamera2)];
    Datei := Dr_b+Datei;
    Image5.Picture.LoadFromFile(Datei);
    Datum:= TimeFileCamera2[High(TimeFileCamera2)];
    Label6.Caption:= Datum;
  end;
if RadioButton3.Checked then
  begin
    c:= 1;
    Datei:='';
    Datum:='';
    Datei := FileCamera3[High(FileCamera3)];
    Datei := Dr_c+Datei;
    Image5.Picture.LoadFromFile(Datei);
    Datum:= TimeFileCamera3[High(TimeFileCamera3)];
    Label6.Caption:= Datum;
  end;
if RadioButton4.Checked then
  begin
    d:= 1;
    Datei:='';
    Datum:='';
    Datei := FileCamera4[High(FileCamera4)];
    Datei := Dr_d+Datei;
    Image5.Picture.LoadFromFile(Datei);
    Datum:= TimeFileCamera4[High(TimeFileCamera4)];
    Label6.Caption:= Datum;
  end;
end;

guidok 21. Jan 2009 15:08

Re: Ansatz von Priceduren/Functionen
 
Zitat:

Zitat von Leo675
Delphi-Quellcode:
    a:= 1;
    Datei:='';
    Datum:='';
    Datei := FileCamera1[High(FileCamera1)]; //das kann in die nächste Zeile
    Datei := Dr_a+Datei;
    Image5.Picture.LoadFromFile(Datei);
    Datum:= TimeFileCamera1[High(TimeFileCamera1)];
    Label6.Caption:= Datum;


    //vereinfacht, da du den Inhalt von Datei und Datum anscheinend weiter nicht benötigst:
    Image5.Picture.LoadFromFile(Dr_a + FileCamera1[High(FileCamera1)]);
    Label6.Caption := TimeFileCamera1[High(TimeFileCamera1)];

Zielt zwar nicht genau auf deine Frage, ist aber auch schon eine Vereinfachung.

nahpets 21. Jan 2009 15:21

Re: Ansatz von Priceduren/Functionen
 
Hallo,

meinst Du sowas?
Delphi-Quellcode:
procedure TForm1.LoadImage(Dr : String;
                           FileCamera : T????;
                           TimeFileCamera : T???
                           );
begin
  Image5.Picture.LoadFromFile(Dr + FileCamera[High(FileCamera)];
  Label6.Caption := TimeFileCamera[High(TimeFileCamera)];
end;

procedure TForm1.Button8Click(Sender: TObject);
var
  Datei,Datum :String;
begin
  Button5.Enabled := True;
  Button7.Enabled := True;
  if RadioButton1.Checked then
  begin
    a:= 1; // wofür wird das gebraucht?
    LoadImage(Dr_a,FileCamera1,TimeFileCamera1); // wo kommt Dr_a her?
  end;
  if RadioButton2.Checked then
  begin
    b:= 1; // wofür wird das gebraucht?
    LoadImage(Dr_b,FileCamera2,TimeFileCamera2); // wo kommt Dr_b her?
  end;
  if RadioButton3.Checked then
  begin
    c:= 1; // wofür wird das gebraucht?
    LoadImage(Dr_c,FileCamera3,TimeFileCamera3); // wo kommt Dr_c her?
  end;
  if RadioButton4.Checked then
  begin
    d:= 1; // wofür wird das gebraucht?
    LoadImage(Dr_d,FileCamera4,TimeFileCamera4); // wo kommt Dr_d her?
  end;
end;

Leo675 21. Jan 2009 16:23

Re: Ansatz von Priceduren/Functionen
 
Dr_a,_b,_c,_d sind Strings für die Pfad -eingabe für 4 kameras
und a,b,c,d ist zähler für zurückgehen

taaktaak 21. Jan 2009 16:27

Re: Ansatz von Priceduren/Functionen
 
Die Benennung ist sehr unglücklich gewählt. Ob du das selbst ist einigen Wochen, Monaten noch erinnerst? Gib den Variablen bessere, aussagekräftigere Bezeichnungen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:07 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz