AGB  ·  Datenschutz  ·  Impressum  







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

Zeilen einer Memo in Array?

Ein Thema von FordPerfekt · begonnen am 16. Nov 2006 · letzter Beitrag vom 16. Nov 2006
Antwort Antwort
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
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Zeilen einer Memo in Array?

  Alt 16. Nov 2006, 19:57
Du mußt den dynamischen Array zuerst mit setLength dimensionieren. Außerdem muß es
for i:= 0 to Memo1.lines.count-1 heißen.
Markus Kinzler
  Mit Zitat antworten Zitat
FordPerfekt

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

Re: Zeilen einer Memo in Array?

  Alt 16. Nov 2006, 20:22
Vielen Dank!
Hat wunderbar funktioniert!

mfg
FordPerfekt
  Mit Zitat antworten Zitat
Benutzerbild von ste_ett
ste_ett

Registriert seit: 10. Sep 2004
Ort: Dülmen
464 Beiträge
 
Delphi 7 Professional
 
#4

Re: Zeilen einer Memo in Array?

  Alt 16. Nov 2006, 21:12
Nicht vergessen, den dynamisch erstellten Arary wieder mit Finalize(); freizugeben.
Stefan
"Geht nicht!" ist keine Fehlerbeschreibung und "Hab ich schon versucht!" keine Antwort!

Hey, it compiles! Ship it!
  Mit Zitat antworten Zitat
Benutzerbild von Cyberbob
Cyberbob

Registriert seit: 24. Jan 2005
Ort: Karben
626 Beiträge
 
Delphi XE7 Architect
 
#5

Re: Zeilen einer Memo in Array?

  Alt 16. Nov 2006, 21:50
Muss mann das immer machen?
Uns hat man in der Schule gesagt, delphi würde das selbst handlen.

Gruss
Christian
Christian
  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 11:33 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