![]() |
Stringlist Tutorials? - außerdem: Von Stringlist entf+hinzuf
Hallo!
ich tu mich noch etwas schwer mit Stringlists und Arrays. Gibts da gute Tutorials zu? Müßte akut auch Strings einer Dateiliste eines Verzeichnisses von einem Feld /Strglist in ein anderes Schieben, damit man die nicht doppelt aufrufen kann. Also, ich möchte alle Dateinamen in Strglist/Array 1 einlesen und dann, wenn angeschaut in StrgL/Arr schieben. Schiebt Delphi dann die nächstfolgenden an die Stelle des entferten Eintrags ? Wie kann ich das bei einem Array lösen (ohne alle Felder manuell eins nach oben schieben zu müssen)? und: wenn jemand das gesehene nocheinmal aufrufen möchte, kann ich das dann einfach wieder an die Stelle dazwischenschieben? Oder nur unten anhängen? später möchte ich die Dateien mal in dem selben Stringlist/Array nachdem einlesen nach Datum oder Dateiname oder Größe sortieren. Wie macht man das? |
Re: Stringlist Tutorials? - außerdem: Von Stringlist entf+hi
Mit einem Array musst du alles selbst machen ;)
Außerdem solltest du dir die Hilfe zu ![]() ![]() ![]() |
Re: Stringlist Tutorials? - außerdem: Von Stringlist entf+hi
Hier ist ein Tutorial:
![]() Über die Prozedur "add("bla")" fügt er das immer hinten an, wenn du das meintest. Wenn du sowas wie "insert" suchst kann ich dir nicht helfen Du könntest statt eines Arrays eine TList oder TObjectList nehmen, in die eine Klasse einfügst, die einen String als Attribut hat. Dort kann man ohne Probleme einfügen. |
Re: Stringlist Tutorials? - außerdem: Von Stringlist entf+hi
und nen Arry schnell löschen?
ich denke da so an ca. 10000 Felder. Gibts da nen Clear befehl? oder muß ich die dennoch alle einzeln durchlaufen? |
Re: Stringlist Tutorials? - außerdem: Von Stringlist entf+hi
Mit SetLength legst du die Länge eines Arrays fest. Wenn du ihn also leeren willst, rufst du einfach SetLength(myArray, 0) auf.
Falls dessen Elemente Objekte sind, solltest du diese vorher in einer Schleife freigeben (for I := High(myArray) downto Low(myArray) do myArray[I].Free). Auch in ein Array kannst du Elemente einfügen, indem du ihn um ein Feld erweiterst, einen Eintrag nach hinten verschiebst und den neuen an die freigewordene Position stellst. Wichtig bei Arrays ist, den Befehl SetLength nicht in einer Schleife aufzurufen, das führt zu Performanceverlust. Wie andere auch schon gesagt haben, empfiehlt sich je nach Daten die gespeichert werden sollen auch TObjectList, TStringList und so weiter. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:44 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