Einzelnen Beitrag anzeigen

FordPerfekt

Registriert seit: 16. Nov 2006
20 Beiträge
 
#1

Zeilen einer Memo in Array?

  Alt 16. Nov 2006, 19:55
Hi,
Nach langer Zeit als stiller Mitleser habe ich mich nun regestriert und sage Hallo zur Community!
Ich habe hier im Forum eine procedure gefunden, die mir Ordner innerhalb eines anderen auflistet:

Delphi-Quellcode:
Procedure FindDirs(DirPath: String; StringList:TStrings; Recurse: Boolean = false);
var SR:TSearchRec;
i:integer;
begin
  if AnsiLastChar(DirPath)^ <> '\'
  then DirPath:=DirPath + '\';
  try
    { im angegebenen Verzeichniss nach Unterordnern suchen -- }
    if FindFirst(DirPath+'*.*',faDirectory,SR)=0 then
    repeat
      { wenn SR ein Ordner ist und nicht '.' und '..' heißt, dann... }
      if ((SR.Attr and faDirectory)<>0) and (SR.Name <> '.') and (SR.Name <> '..') then
      begin
        { ...füge den Ordner der StringList (z.B. einer Listbox(.Items)) hinzu }
        StringList.Add(DirPath+SR.Name); // s.u. Erläuterung
        { wenn Recurse = true, dann durchsuche den aktuellen Ordner (SR.Name) nach Unterordnern }
        if Recurse then FindDirs(DirPath+SR.Name,StringList,true);
      end;
    until FindNext(SR) <> 0; // wenn keine Unterordner mehr gefunden wurden, Suche beenden
  finally
    FindClose(SR); // Search Handle schließen, da es nicht mehr gebraucht wird
  end;
end;

//Aufruf:
  FindDirs('C:',memo1.Lines);
Ich lass mir die einzelnen Verzeichnisse zeilenweiße in ner Memo ausgeben!
Soweit alles klar!
Nun wollte ich die einzelnen Zeilen in ein Array tun:

Delphi-Quellcode:
var
dirs:Array of string;
i: Integer;
begin
for i:= 0 to Memo1.lines.count do
dirs[i]:=memo1.Lines[i];
end;
Aber es kommt immer eine Meldung wegen Zugriffsverletzung!
Wie bekomme ich die Zeilen des Memos in mein array?

mfg
FordPerfekt
  Mit Zitat antworten Zitat