AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Mehrfacher Prozeduraufruf in for-Schleife
Thema durchsuchen
Ansicht
Themen-Optionen

Mehrfacher Prozeduraufruf in for-Schleife

Ein Thema von bioser · begonnen am 15. Okt 2005 · letzter Beitrag vom 15. Okt 2005
Antwort Antwort
bioser

Registriert seit: 30. Aug 2005
140 Beiträge
 
#1

Mehrfacher Prozeduraufruf in for-Schleife

  Alt 15. Okt 2005, 20:50
Hallo DELPHI-Progger, ich möchte in einer for-Schleife, von der ich erst zur Laufzeit den Endwert weiß, eine Prozedur eben genauso oft aufrufen. Die Prozedur sieht folgendermaßen aus:

Delphi-Quellcode:
procedure myproc(var a:integer; var b:string)

begin

//diese Anweisungen sollen nur einmal am Anfang ausgeführt werden

//diese Anweisungen sollen immer ausgeführt werden

//diese Anweisungen sollen nur am Ende ausgeführt werden

end;
Der Aufruf der Prozedur in der for-Schleife sieht dann so aus:

Delphi-Quellcode:
for i:=0 to anzahl-1 do
begin
 myproc(x,item[i]);
end;
Irgendwie habe ich meine Schwierigkeit damit.
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.490 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Mehrfacher Prozeduraufruf in for-Schleife

  Alt 15. Okt 2005, 20:58
Delphi-Quellcode:
procedure myproc(var a:integer; var b:string; const Start, i, Ende : integer)

begin

if i = Start then
begin
   //diese Anweisungen sollen nur einmal am Anfang ausgeführt werden
end
else
if i = Ende then
begin
   //diese Anweisungen sollen nur am Ende ausgeführt werden
end
else
begin
   //diese Anweisungen sollen immer ausgeführt werden
end;


end;
Der Aufruf der Prozedur in der for-Schleife sieht dann so aus:

Delphi-Quellcode:
for i := 0 to anzahl-1 do
begin
 myproc(x,item[i],0,i,Anzahl-1);
end;
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Mehrfacher Prozeduraufruf in for-Schleife

  Alt 15. Okt 2005, 21:03
Mit etwas weniger Aufwand kannst du auch einfach einen Boolean übergeben:

Delphi-Quellcode:
var
last: boolean;

last := false;
for i := 0 to anzahl-1 do
begin
if i= anzahl-1 then last:= true;
myproc(x,item[i],Last);
end;
Delphi-Quellcode:
procedure myproc(var a:integer; var b:string)

begin

if a=0 then
//diese Anweisungen sollen nur einmal am Anfang ausgeführt werden

if a>0 and not last then
//diese Anweisungen sollen immer ausgeführt werden

if last then
//diese Anweisungen sollen nur am Ende ausgeführt werden

end;
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.490 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Mehrfacher Prozeduraufruf in for-Schleife

  Alt 15. Okt 2005, 21:05
Du gehst dabei davon aus, dass die Schleife immer bei 0 beginnt.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#5

Re: Mehrfacher Prozeduraufruf in for-Schleife

  Alt 15. Okt 2005, 21:57
Zitat:
Du gehst dabei davon aus, dass die Schleife immer bei 0 beginnt.
Stimmt. Aber da im Code von ihm nur die obere Grenze durch eine Variable bestimmt ist und die auch noch Anzahl heisst, bin ich davon ausgegangen, dass die SChleife immer von 0 beginnt.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Antwort Antwort


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:34 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