AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

FOR Schleife mit Schrittweite STEP...

Ein Thema von Foxgrove · begonnen am 22. Dez 2005 · letzter Beitrag vom 23. Dez 2005
Antwort Antwort
Seite 1 von 2  1 2      
Foxgrove

Registriert seit: 10. Sep 2005
Ort: Schwäbisch Gmünd
20 Beiträge
 
Delphi 3 Standard
 
#1

FOR Schleife mit Schrittweite STEP...

  Alt 22. Dez 2005, 23:38
Hallo,

im BASIC kann man doch mit FOR mI = 1 to 500 STEP 5
in 5.-Schritten durch die Schleife gehen.
Kann das sein, dass die DELPHI-For-Schleife das
nicht kann?
Oder?

MfG Foxgrove
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#2

Re: FOR Schleife mit Schrittweite STEP...

  Alt 22. Dez 2005, 23:45
Hi!

Wusst ich doch, dass ich das schon mal gelesen hatte:
http://www.delphipraxis.net/internal...ct.php?t=14764


Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
22. Dez 2005, 23:57
Dieses Thema wurde von "Christian Seehase" von "VCL / WinForms / Controls" nach "Object-Pascal / Delphi-Language" verschoben.
Die Frage bezieht sich auf die Sprache als solche
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: FOR Schleife mit Schrittweite STEP...

  Alt 23. Dez 2005, 00:00
Moin Foxgrove,

stimmt, Du kannst in Delphi bei For-Schleifen keine Schrittweite angeben.
Ich habe mir Frederics angegebenen Thread nicht vollständig durchgesehen, deshalb hier ein Workaround:

Delphi-Quellcode:
while i <= 500 do begin
  // Mach was in der Schleife
  inc(i,5);
end;
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
monta

Registriert seit: 18. Okt 2004
Ort: Dresden
141 Beiträge
 
#5

Re: FOR Schleife mit Schrittweite STEP...

  Alt 23. Dez 2005, 01:55
also ich hab gelesen, man sollte Schleifenvariablen tunlichst nicht manipulieren

wäre es nicht sicherer für eine korrekte Ausführung einfach die gesamte Anweisung mittels if einzufassen:
Delphi-Quellcode:
wihlwhile i <= 500 do begin
  if i mod 5 = 0 then
  begin
  // Mach was in der Schleife
  end;
end;
was sol das überhaupt bringen, die Schleife Schrittweise auszuführen?
Johannes M.
  Mit Zitat antworten Zitat
runger
(Gast)

n/a Beiträge
 
#6

Re: FOR Schleife mit Schrittweite STEP...

  Alt 23. Dez 2005, 06:23
Hallo,

das ist doch hier keine Schleifenvariable im eigentlichen Sinn.
Du sollst bei einer Variablen ( hier n ), die in einem For .... do
Statement vorkommt, nichts verändern.

Delphi-Quellcode:
For n:=0 to 1000 do
   begin
      // das hier solltest du besser lassen, für was auch?
      inc(n,2);
      //Tu was mit n
   end;
For n:=0 to 500 do
   begin
      // das hier funktioniert genauso
      m:=n*2;
      //Tu was mit m
   end;
Es gibt überhaupt keinen Grund step einzuführen.
Dafür benutzt man repeat ... until oder while ... do

Rainer
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#7

Re: FOR Schleife mit Schrittweite STEP...

  Alt 23. Dez 2005, 06:26
Zitat von monta:
also ich hab gelesen, man sollte Schleifenvariablen tunlichst nicht manipulieren

wäre es nicht sicherer für eine korrekte Ausführung einfach die gesamte Anweisung mittels if einzufassen:
Delphi-Quellcode:
while i <= 500 do begin
  if i mod 5 = 0 then
  begin
  // Mach was in der Schleife
  end;
end;
was sol das überhaupt bringen, die Schleife Schrittweise auszuführen?
Willkommen im Business der Endlosschleifen. Nene, du musst die Laufvariable wenigstens inkrementieren
Ob du sie dabei um 1 oder um 5 erhoehst, macht keinen Unterschied. Die Laufvariable soll man nur in for-Schleifen in Frieden lassen

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#8

Re: FOR Schleife mit Schrittweite STEP...

  Alt 23. Dez 2005, 07:32
Zitat von alcaeus:
Die Laufvariable soll man nur in for-Schleifen in Frieden lassen
Und soweit ich weiß, hat man auch gar keine Schreibrechte auf For-Schleifenvariablen... Die kann man IMHO nur lesen.
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.767 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: FOR Schleife mit Schrittweite STEP...

  Alt 23. Dez 2005, 08:17
So sollte es auch gehen,

Delphi-Quellcode:
FOR i:=1 TO 500 DIV Step DO
  BEGIN
    // Tu was mit i * Step
  END;
Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
runger
(Gast)

n/a Beiträge
 
#10

Re: FOR Schleife mit Schrittweite STEP...

  Alt 23. Dez 2005, 08:30
Hallo,

habs ausprobiert. Der Compiler meckert tatsächlich, wenn man versucht in For n:=1 to 100 do n zu verändern.
Ist aber nur für D7 getestet.
Im Original Pascal-Dialekt geht das und ist ausdrücklich erlaubt.
In Turbo Pascal bis 7.0 ebenfalls.

Rainer
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 05:32 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