Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   FreePascal (https://www.delphipraxis.net/74-freepascal/)
-   -   FreePascal ForEach bei Lazarus 1.04? (https://www.delphipraxis.net/172886-foreach-bei-lazarus-1-04-a.html)

roha83 27. Jan 2013 13:08

ForEach bei Lazarus 1.04?
 
Hallo zusammen!

Ich bereite mich gerade auf meine Info-Klausur vor, und habe hier eine Übungsaufgabe.
In dieser Aufgabe soll ich eine Textdatei zeilenweise durchgehen, und die Häufigkeit der Buchstaben von A-Z feststellen (ist Lazarus bei Literalen vom Typ 'a' oder 'A' Case-Sensitiv? :?:).

Ich dachte mir, dass man dafür evtl eine ForEach-Schleife verwenden kann :idea:. Ich kenne das von C# und habe gelesen, dass es das bei delphi auch gibt. Aber geht das auch bei Lazarus?
Ein Code-Ausschnitt sieht aktuell so aus:

Code:
.
.
.
begin
  dateiname:='';
  zeile:='';
  posi:=0;
  for i:=1 to 26 do
    liste[i]:=0;

  OpenDialog1.Execute;
  dateiname:=OpenDialog1.FileName;

  AssignFile(f, dateiname);
  FileMode:=0;
  Reset(f);

  repeat
    Readln(f, zeile);
    ForEach ('a' in zeile) do    //<- Wenn das denn geht!?
      inc(liste[1]);

    {für die restlichen Buchstaben ebenfalls...}
 
  until eof(f);
end;
.
.
.

mkinzler 27. Jan 2013 13:17

AW: ForEach bei Lazarus 1.04?
 
http://www.freepascal.org/docs-html/ref/refsu50.html

sx2008 27. Jan 2013 14:33

AW: ForEach bei Lazarus 1.04?
 
Für jeden Buchstaben eine eigene Schleife?
Delphi-Quellcode:
var
  zeichen : char;
...
for zeichen in zeile do
begin
  inc(liste[Ord(zeichen)]);
end


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:48 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz