Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi For in do (https://www.delphipraxis.net/43951-do.html)

Jens Schumann 11. Apr 2005 08:53


For in do
 
Hallo,
ich habe seit kurzem die D2005 PE Version und habe mich mit For in do unter Win32 beschäftigt. Ich konnte bislang keinen Mehrwert (außer evt. etwas weniger getippe) erkennen. Gibt es etwas was nur mit For in do und nicht mit einer klassischen For-Schleife funktioniert?

Phoenix 11. Apr 2005 08:57

Re: For in do
 
Zitat:

Zitat von Jens Schumann
Gibt es etwas was nur mit For in do und nicht mit einer klassischen For-Schleife funktioniert?

Nein. Es wird tatsächlich nur 'etwas getippe' eingespart. Aber dadurch wird der Code auch um einiges besser Lesbar finde zumindest ich.

Jasocul 11. Apr 2005 11:15

Re: For in do
 
Es gibt durchaus sinnvolle Einsatzgebiete:
Delphi-Quellcode:
procedure TWinForm2.Button1_Click(sender: System.Object; e: System.EventArgs);
var
  p : Process;
  pp : array of Process;
begin
  pp := Process.GetProcesses;
  for p in pp do
    DataSet1.Tables.Item['Prozesse'].LoadDataRow([p.Id,p.ProcessName,p.TotalProcessorTime],false);
end;
Ich brauch an dieser Stelle nicht zu wissen, wieviel Prozesse es gibt.

Robert_G 11. Apr 2005 11:40

Re: For in do
 
Wenn man nur mit Arrays arbeitet ist es kein Problem mal eben das IMHO ziemlich hässliche...
Code:
[b]for[/b] StupidCounter := 0 to :evil: [b]do[/b]
...zu benutzen.
Für Listen ist es ziemlich ... nunja... unhandlich. ;)
dort kann sich beim for in einfach der Enum im Hintergrund von einem Knoten zum nächsten hangeln. Wunderbar transparent. :)

Es ist IMHO noch kleiner kleiner Wermutstropfen dabei: Man muss das Item immer noch im Methodenkopf deklarieren. Aber ansonsten ist es einfach viel lesbarer und auch intuitiver. :)

sakura 11. Apr 2005 11:44

Re: For in do
 
Zitat:

Zitat von Robert_G
Es ist IMHO noch kleiner kleiner Wermutstropfen dabei: Man muss das Item immer noch im Methodenkopf deklarieren. Aber ansonsten ist es einfach viel lesbarer und auch intuitiver. :)

Es ist ja auch Delphi/Pascal und nicht C++/C# :mrgreen:

Persönlich finde ich das for...in...do auch sehr angenehm und alle Male besser als über Hilfszähler zu gehen :roll:

...:cat:...


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:53 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