AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Delphi kann man einer Procedure als Parameter eine andere Procedure übergeben, o.ä.?
Thema durchsuchen
Ansicht
Themen-Optionen

kann man einer Procedure als Parameter eine andere Procedure übergeben, o.ä.?

Ein Thema von juergen · begonnen am 31. Mär 2018 · letzter Beitrag vom 31. Mär 2018
 
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.176 Beiträge
 
Delphi 11 Alexandria
 
#1

kann man einer Procedure als Parameter eine andere Procedure übergeben, o.ä.?

  Alt 31. Mär 2018, 16:23
Hallo zusammen,

in meinem Code muss ich in den verschiedensten Proceduren immer wieder dieselben Bedingungen abfragen. In den Bedingungen werden verschiedenste Stati geprüft.
Das produziert Unmengen an gleichen Code und ist somit schwer wartbar/erweiterbar/ anpassbar.
Wenn es geht, würde ich das gerne ändern und suche daher nun ein Konzept.

Beispiel:
Delphi-Quellcode:
procedure Tfrm_Main.machwas;
var
  ls_FileName : string;
  RecIdx, RowIdx : Integer;
begin
  ls_FileName := ....;
  RecIdx := ....;
  RowIdx := ....;

  if gb_Stati_1 then
  begin
    procedur 1(ls_FilenName, RecIdx, RowIdx);

  end else if gb_Stati_4 then
  begin
    procedur 2(ls_FilenName, RecIdx, RowIdx);
  end;
....
end;
Im Prinzip soll in der Procedure "machwas" die ganzen Abfragen wegfallen die dann in einer globalen Procedure(?) stehen und der man als Parameter für die einzelnen Bedingungen eine andere Proceduren übergeben kann.

Beispiel:
Delphi-Quellcode:
procedure Tfrm_Main.Check_Statis(const procedure x, const procedure y);
begin
  if gb_Stati_1 then
  begin
    x; //<== meine 1. "variable" Procedure
  end else if gb_Stati_4 then
  begin
    y; //<== meine 2. "variable" Procedure
  end;
....
end;

procedure Tfrm_Main.machwas;
var
  ls_FileName : string;
  RecIdx, RowIdx : Integer;
begin
  ls_FileName := ....;
  RecIdx := ....;
  RowIdx := ....;

  Check_Statis(x, y);
So meine Vorstellungen.
Die Bedingungen sind einiges komplexer wie hier dargestellt und die Anzahl der Proceduren (also die Anzahl der Bedingungen) sind momentan 8 Stk.
Ich denke das es für die Profiprogrammierer dafür eine Lösung geben müsste.
Gibt es die Möglichkeiten einer Procedure als Parameter eine andere Procedure zu übergeben? Oder wie löst man diese Anfortderung?
Leider bin ich (noch) sehr procedure-lastig beim Hobby-programmieren.

Ich hoffe ich konnte mein Problem überhaupt verständlich darstellen und bedanke mich schon mal vorab für Ideen und Konzeptvorschläge.
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  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 10:46 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 by Thomas Breitkreuz