![]() |
Zeilen einer Memo in Array?
Hi,
Nach langer Zeit als stiller Mitleser habe ich mich nun regestriert und sage Hallo :hi: zur Community! Ich habe hier im Forum eine procedure gefunden, die mir Ordner innerhalb eines anderen auflistet:
Delphi-Quellcode:
Ich lass mir die einzelnen Verzeichnisse zeilenweiße in ner Memo ausgeben!
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); Soweit alles klar! Nun wollte ich die einzelnen Zeilen in ein Array tun:
Delphi-Quellcode:
Aber es kommt immer eine Meldung wegen Zugriffsverletzung!
var
dirs:Array of string; i: Integer; begin for i:= 0 to Memo1.lines.count do dirs[i]:=memo1.Lines[i]; end; Wie bekomme ich die Zeilen des Memos in mein array? mfg FordPerfekt |
Re: Zeilen einer Memo in Array?
Du mußt den dynamischen Array zuerst mit setLength dimensionieren. Außerdem muß es
Delphi-Quellcode:
heißen.
for i:= 0 to Memo1.lines.count-1
|
Re: Zeilen einer Memo in Array?
Vielen Dank!
Hat wunderbar funktioniert! mfg FordPerfekt |
Re: Zeilen einer Memo in Array?
Nicht vergessen, den dynamisch erstellten Arary wieder mit Finalize(); freizugeben. :)
|
Re: Zeilen einer Memo in Array?
Muss mann das immer machen?
Uns hat man in der Schule gesagt, delphi würde das selbst handlen. Gruss Christian |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:27 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 by Thomas Breitkreuz