Zitat von
malo:
Ja, sofern die Listen die Typen der entsprechend anderen unterstützen, funktioniert es. Ein Beispiel mit einer TStringList:
Delphi-Quellcode:
var a, b: TStrings;
i, j: integer;
begin
a := TStringList.Create;
b := TStringList.Create;
a.Add('bla');
a('blubb');
while a[i] <> '' do
inc(i);
for i := 0 := i do
b.Add(a[i]);
end;
//edit: Ich muss mal testen, ob obriger Code wirklich für alle StringListen funktioniert
//edit2: Klappt sogar
Und eben noch ein Fehler in meinem Code ausgebessert
Soll das ein Witz oder gar "Code" sein?
Also entweder ist mein Delphi intolerant, dass es keinen kreativen Code zulässt oder dein Delphi hat öfters einen spontanen Anfall von Nachlässigkeit.
Und wie soll das bitte klappen?
- a('blubb');
Was soll das sein? Sieht fast ein wenig nach einem Typecast aus, aber du kannst den String 'blubb' nicht auf TStrings casten.
Da fehlt also ein Add.
- for i := 0 := i
Bestimmt NICHT. Erstens haut das mit der Syntax nicht hin und zweitens wäre das ganze Schwachsinn, wenn es denn funktionieren könnte
- Wozu brauchst du die Variable j? Ich seh nirgends, dass sie verwendet wird.
- Sollte diese for-Schleife so lauten sollen:for j := 0 to i do
, dann kannst du dir das Ganze viel leichter machen, indem du dir die While-Schleife schenkst und i in der for-Schleife von 0 nach a.Count-1 zählen lässt.
- Als letztes: TStrings soll man nicht verwenden, nimm TStringlist.
Ich hab das oben Genannte einfach mal in einen Code verwandelt, wie
ich ihn schreiben würde, er funktioniert auch:
Delphi-Quellcode:
var a, b: TStringList;
i: integer;
begin
a := TStringList.Create;
b := TStringList.Create;
try
a.Add('blaA');
a.Add('blubbA');
a.add('sersA');
b.add('Tach auchB');
b.Add('sersB');
for i := 0 to a.Count -1 do
b.Add(a[i]);
ShowMessage(b.Text);
finally
a.free;
b.free;
end;
end;
MfG
Ultimator+
//edit Okay, 3 Leute in etwa das Gleiche, aber ich hab das Meiste
Aber der rote Kasten will und trotzdem vereiern...
Julian J. Pracht