AGB  ·  Datenschutz  ·  Impressum  







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

Repeat oder While?

Ein Thema von silentAMD · begonnen am 10. Apr 2004 · letzter Beitrag vom 11. Apr 2004
Antwort Antwort
silentAMD

Registriert seit: 27. Sep 2003
203 Beiträge
 
Turbo Delphi für Win32
 
#1

Repeat oder While?

  Alt 10. Apr 2004, 16:32
Hallo,
ich habe mal gehört, dass es geschwindigkeitsunterschiede zwischen repeat und while gibt, welche jedoch nicht.

welches von beiden sollte man nehmen? beispielsweise bei dateisuchen/ordner einlesen?
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Repeat oder While?

  Alt 10. Apr 2004, 16:34
Ich kann mir nicht vorstellen, dass es bei beiden Geschwindigkeitsunterschiede gibt. Der einzige Unterschied zwischen den beiden ist, dass die repeat-Schleife mindestens 1 mal ausgeführt wird, die while-Schleife jedoch mindestesn 0 mal.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Alfons_G

Registriert seit: 7. Jun 2002
Ort: München
296 Beiträge
 
Delphi 2007 Architect
 
#3

Re: Repeat oder While?

  Alt 11. Apr 2004, 11:11
Welche Schleife man nimmt, hängt davon ab, ob die Abbruchbedingung schon vor der Schleife feststeht, oder erst innerhalb der Schleife ermittelt werden kann.
Beim Auslesen von Ordnern z.B. wird man while FindNext() verwenden, beim Abrufen von Datensätzen while not Dataset.Eof usw. Repeat ist dagegen angebracht, wenn sicher zumindest ein Durchlauf erfolgen muß und dabei erst festgestellt wird, ob die Abbruchbedingung erfüllt ist.

Alfons Grünewald



Alfons Grünewald
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Repeat oder While?

  Alt 11. Apr 2004, 11:13
Zitat von Alfons_G:
Beim Auslesen von Ordnern z.B. wird man while FindNext() verwenden
Gerade da macht es eigentlich keiner

Delphi-Quellcode:
if FindFirst('C:\*.*', faAnyFile, SR) = 0 then
  repeat
    SR....
    ...
  until FindNext(SR) <> 0;
......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#5

Re: Repeat oder While?

  Alt 11. Apr 2004, 11:15
Zitat von sakura:
Gerade da macht es eigentlich keiner
Ich schon. Alte Angewohnheit aus TurboPASCAL-Zeiten.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.152 Beiträge
 
Delphi 12 Athens
 
#6

Re: Repeat oder While?

  Alt 11. Apr 2004, 11:18
hm

aber bei
Delphi-Quellcode:
if FindFirst('C:\*.*', faAnyFile, SR) = 0 then
  while FindNext(SR) = 0
    SR....
    ...
  end;
wird doch der 1. Dateiname nicht mit ausgewertet.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#7

Re: Repeat oder While?

  Alt 11. Apr 2004, 11:20
So macht man das ja auch nicht. Ich schreib immer
Delphi-Quellcode:
res := FindFirst(...);
while(res = 0) do
begin
  { mach was damit }

  res := FindNext(ds);
end;
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.152 Beiträge
 
Delphi 12 Athens
 
#8

Re: Repeat oder While?

  Alt 11. Apr 2004, 11:21
OK, mit 'ner Variable geht das auch
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  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 13:57 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