Moin Jürgen,
Zitat von
juergen:
nun, ich als Anfänger habe jetzt lange mit mir gerungen, ob ich eine der Proceduren hier posten sollte. (schäm..)
Wenn man anfängt ist man nun mal Anfänger, und es wird hier demzufolge auch niemand "perfekte" Routinen erwarten (hoffentlich)
Als erstes solltest Du Dir mal Gedanken um die Benennung Deiner Bezeichner (speziell die der Variablen a,b und c) machen.
Ich bin mir nämlich ziemlich sicher, dass Du in einer Woche deren Bedeutung selber nicht mehr weisst
Bei den anderen Bezeichnern hast Du es ja auch gemacht (oder entstammen die von anderer Stelle).
Wenn Du viele Variablen brauchst wäre die Idee von BlackJack mit dem Record eine gute Idee.
Mal ein Beispiel mit Deinen drei Variablen:
Delphi-Quellcode:
type
TjMyRecord = record
a : integer;
b : integer;
c : integer;
end;
procedure InitLocalVars(var ArVariablen : TjMyRecord);
begin
ArVariablen.a := 1;
ArVariablen.b := 2;
ArVariablen.c := 3;
end;
procedure WasAuchImmer;
var
rVariablen : TjMyRecord;
begin
InitLocalVars(rVariablen);
//....
end;
@BlackJack:
Zitat von
BlackJack:
naja so war das mit dem global eigentlich auch nicht gemeint, ich hatte eher an sowas gedacht, dass man die vielen proceduren so kapelst, dass sie alle zugriff auf die entsprechenden variablen haben, also z.b. das ganze als Klasse zu konstruieren.
Damit wäre das Problem aber nicht beseitigt.
Wenn derzeit jede Prozedur die Variablen benötigt, und Du die Prozeduren in einer Klasse zusammenfasst, so dass die Felder nur einmal deklariert und initialisiert werden müssten, würden sich die verschiedenen Prozeduren gegenseitig ihre Variableninhalte zerstören, wenn sie sich gegenseitig aufrufen.
Sollte das ausgeschlossen sein, kann man es natürlich so machen, wie Du beschrieben hast.