![]() |
StringList
Hallo Leute,
ich versuche vergeblich in einer StringListe die Reihenfolge der Einträge umzukehren!!! :gruebel: Mit Move funktioniert das bei mir leider nicht! :wall: Hat jemand eine fertige Lösung für mich ? Bin immer noch Anfänger :pale: und würde mich sehr freuen! :dancer2: MfG blackyhb |
Re: StringList
Hai blackyhb,
Du könntest dir Dafür eine Funktion schreiben die dann als Ergebniss eine TStringListe zurückgibt. Ungetestet:
Delphi-Quellcode:
function DownToUp (const sl : TStringList) : TStringList;
var ndx : Integer; begin for ndx := Pred (sl.count) downto 0 do begin result.Add(sl.Strings[ndx]); end; end; |
Re: StringList
Hallo Stephan,
ich möchte keine neue Liste erstellen!!!??? :mrgreen: blackyhb :angel: |
Re: StringList
Und was spricht dagegen, sie dann wieder in die ursprüngliche zurück zu kopieren? :gruebel:
|
Re: StringList
Hier mal ein Beispiel. Dafür habe ich die Funktion nur leicht verändert ;-)
Delphi-Quellcode:
function DownToUp (const source : TStringList) : TStringList;
var ndx : Integer; dest : TStringList; begin dest := TStringList.Create; try for ndx := Pred (source.count) downto 0 do begin dest.Add(source.Strings[ndx]); end; result.Text := dest.text; finally dest.Free; end; end; procedure TForm1.Button1Click(Sender: TObject); var foo : TStringList; ndx : Integer; begin foo := TStringList.Create; try foo.AddStrings(Memo1.Lines); foo := DownToUp (foo); Memo2.Lines := foo; finally foo.Free; end; end; |
Re: StringList
Hallo Sharky,
ich habe mal einen Kommtar in den Source geschrieben Zitat:
|
Re: StringList
Hai Jens,
bei mir geht es so ohne Probleme ;-) |
Re: StringList
Zitat:
Result soll doch auf ein Objekt vom Type TStringList zeigen. Wie soll das gehen, wenn Du das Objekt nicht über Create erzeugst??? |
Re: StringList
Zitat:
|
Re: StringList
Zitat:
Ich habe es getestet bevor ich meinen ersten Kommentar geschrieben habe. Bei mir läuft es nicht. |
Re: StringList
Hi Jens,
bei mir funktioniert der Source auch ohne Probleme, und ich habe schon mehrmals ein Objekt in einer Funktion zurückgegeben. Greetz alcaeus |
Re: StringList
Zitat:
|
Re: StringList
Hallo,
auch mit D7 funktioniert es nicht. Es kann auch nicht funktionieren. Bitte sage mir doch mal auf wen oder was Result hier zeigt.
Delphi-Quellcode:
Result ist doch noch gar nicht initialisiert.
result.Text := dest.text;
Das ist doch wie bei jeder anderen Funktion / Methode auch. Solange ich Result nicht innerhalb der Funktion initialisiere liefert die Funktion ein unbestimmtes Ergebnis zurück. |
Re: StringList
bei d6 geht es ;)
|
Re: StringList
Zitat:
Wenn ich mit recht erinnere werden Funktiontionsergebnisse über das AX Register zurückgegeben. Ich diesem Fall würde das bedeuten das über das AX-Register eine Objektzeiger zurückgegeben werden muss. Einen Objektzeiger erhält man aber nur, wenn man das Objekt über den constructor auch erzeugt. Das geschieht in Sharky's Beispiel nicht. Beim Eintritt in die Funktion befindet ein mehr oder weiniger zufälliger Wert im AX-Register. |
Re: StringList
Zitat:
ich habe den Code inkl. der Exe mal hier zum ![]() |
Re: StringList
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Sharky,
dann probiere mal dieses Beispiel: |
Re: StringList
geht ohne probleme(bis auf nen error am ende aber es machts schon ohne compilermeldung ;) ) :roll:
|
Re: StringList
Zitat:
|
Re: StringList
jo ... das meine ich
stimmt mit
Delphi-Quellcode:
gehts ohne probleme
result := TStringlist.Create;
|
Re: StringList
Zitat:
Delphi-Quellcode:
procedure Reverse(const AStringList: TStringList);
var I: Integer; begin I := 0; while I < (AStringList.Count div 2) do begin AStringList.Exchange(I, AStringList.Count - I - 1); Inc(I); end; end; |
Re: StringList
das geht ohne probleme
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:31 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