AGB  ·  Datenschutz  ·  Impressum  







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

Listen addieren?

Ein Thema von blackfoxx · begonnen am 14. Jul 2005 · letzter Beitrag vom 16. Jul 2005
Antwort Antwort
blackfoxx

Registriert seit: 25. Feb 2005
Ort: Halle
43 Beiträge
 
Delphi 2005 Personal
 
#1

Listen addieren?

  Alt 14. Jul 2005, 11:39
Moin,

Gibt es die Möglichkeit, zwei Listen zu addieren bzw. in eine Liste die Elemente einer anderen Liste komplett einzufügen?

Danke schonmal.
Jonas Schwartze
Nichts ist unmöglich, nur mathematisch unwahrschienlich!
@LG LM70 Express
  Mit Zitat antworten Zitat
freak24
(Gast)

n/a Beiträge
 
#2

Re: Listen addieren?

  Alt 14. Jul 2005, 11:45
Gerade mit einer Listbox getestet, müsste deinen Zweck erfüllen:
listbox1.Items.AddStrings(listbox2.items);
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#3

Re: Listen addieren?

  Alt 14. Jul 2005, 11:46
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
  Mit Zitat antworten Zitat
Benutzerbild von BlackJack
BlackJack

Registriert seit: 2. Jul 2005
Ort: Coesfeld
246 Beiträge
 
Delphi 2005 Personal
 
#4

Re: Listen addieren?

  Alt 16. Jul 2005, 17:43
naja ein paar fehler sind trotzdem noch geblieben, meinst du nicht?
See my shadow changing, stretching up and over me.
Soften this old armor. Hoping I can clear the way
By stepping through my shadow, coming out the other side.
Step into the shadow. Forty six and two are just ahead of me.
  Mit Zitat antworten Zitat
Benutzerbild von Pr0g
Pr0g

Registriert seit: 21. Mai 2004
809 Beiträge
 
Delphi 7 Personal
 
#5

Re: Listen addieren?

  Alt 16. Jul 2005, 18:26
Vergess nicht die Listen freizugeben

Und mach nen try-finally-end Block drum...


MfG Pr0g
  Mit Zitat antworten Zitat
Benutzerbild von Jan
Jan

Registriert seit: 24. Sep 2002
Ort: Magdeburg
491 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Listen addieren?

  Alt 16. Jul 2005, 18:41
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
das klappt?
Man das ist ja echt schon ewig her, dass ich Delphi geproggt hab, weil das sieht ganz schön falsch aus.
was soll denn
for i:=0 :=i do also entweder das ist ne ganz neue variante zu schreiben, dass er von 0 nach einem bestimmten wert gehen soll, wenn i einen anderen Wert als 0 hatte, oder es ist einfach falsch. Ich glaube ja letzteres, weil ich dieses Konstrukt noch nie gesehen hab.
Und es mag ja sein, dass es richtig ist, aber was zum Geier ist
a('blubb'); a ist doch ein Objekt und keine Methode.
Solche aufrufe kenne ich sonst nur vom Konstruktor in Java und C#. Und der Kontruktor hat da nun wirklich nix zu suchen.
Ich bin jetzt erstmal verwirrt.
Gruß
Jan
Jan
Wenn die Sonne der Kultur tief steht, werfen auch kleine Gestalten lange Schatten.
  Mit Zitat antworten Zitat
Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Listen addieren?

  Alt 16. Jul 2005, 18:44
Zitat von malo:
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;
Willst du blackfoxx auf die Schippe nehmen? Bei dem Code rollen sich einem ja die Zehennägel auf. Delphi-Referenz durchsuchenTStrings.AddStrings

edit: kein roter Kasten?
Dani H.
At Least I Can Say I Tried
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#8

Re: Listen addieren?

  Alt 16. Jul 2005, 18:45
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
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#9

Re: Listen addieren?

  Alt 16. Jul 2005, 18:49
Sagt mal Mädels...
Wer hat denn hier von TStrings geredet?
Nur bevor sich da noch einer verbeisst...

btw: @malo
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#10

Re: Listen addieren?

  Alt 16. Jul 2005, 20:12
Die Fehler in meinem "Code" tun mir Leid. Das war einfach so dahergetippt, ohne zu testen... Vielleicht hätte ich selbst den Code nochmal lesen sollen

Und mit "Klappt sogar" meinte ich die kurze Variante

Aber ihr seid auch verdammt clever. Sagt mir das doch das nächste mal, bevor die 24-Stunden-Editierfrist abgelaufen ist

//Edit: Die letzte Vorschleife sollte übrigens heißen: for j := 0 to i. Wie gesagt, nur dahergetippt...
  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 16:45 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