AGB  ·  Datenschutz  ·  Impressum  







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

Kombinationen von Strings

Ein Thema von papax · begonnen am 24. Jan 2012 · letzter Beitrag vom 24. Jan 2012
Antwort Antwort
Seite 1 von 2  1 2      
papax

Registriert seit: 24. Jan 2012
2 Beiträge
 
#1

Kombinationen von Strings

  Alt 24. Jan 2012, 11:33
Hallo,

ich habe ein kleines Problem und komme nicht Ansatzweise auf eine Lösung.

Ich habe eine beliebige Anzahl von TStringListen in denen diverse Werte stehen.

z.B.

StringListe1 =
Rot
Blau
Grün

StringListe2 =
L
XL
XXL

StringListe3 =
100
200
300

Alle StringListen sind als Objekt in einer weiteren StringListe die ich hier mal OBJ nenne.

Nun muss ich folgendes Bewerkstelligen:

Ich benötige Variationen alle Werte in einem String, z.B.

Rot,L,100
Rot,L,200
Rot,L,300
Rot,XL,100
Rot,XL,200

usw.

Ich muss also in allen möglichen Kombinationen die Listen durchlaufen und das Ergebnis beinhaltet diese Variationen.

Mir fehlt jedoch bereits der Denkansatz. Gelesen habe ich hier über Permutationen , aber diese wüfeln auch die Listeneinträge selbst.

Ich würde mich über ein paar Denkanstöße freuen.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#2

AW: Kombinationen von Strings

  Alt 24. Jan 2012, 11:38
Hallo und Willkommen in der DP ,

könnte man das Problem nicht einfach mit 3 verschachtelten Schleifen lösen?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#3

AW: Kombinationen von Strings

  Alt 24. Jan 2012, 11:39
Moin...

Stichwort: 3 ineinander verschachtelte Schleifen.

der schon wieder...
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Kombinationen von Strings

  Alt 24. Jan 2012, 11:39
Hallo,

sollte das Thema nicht mit drei geschachtelten For Schleifen zu erschlagen sein?

Delphi-Quellcode:
for i:=0 to StringList1.count -1 do
  for j:=0 to StringList2.count -1 do
    for k:=0 to StringList3.count -1 do
      begin
         Memo1.lines.add(format('%s, %s, %s',[stringList1[i],stringList2[j],stringList3[k]]));
      end;
Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#5

AW: Kombinationen von Strings

  Alt 24. Jan 2012, 11:40
Erster!
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#6

AW: Kombinationen von Strings

  Alt 24. Jan 2012, 11:51
@Klaus01:
Ab mindestens Delphi 2010 kann man sich auch solch einen Spaß erlauben. (vielleicht auch schon ab 2009/2006/TDE ... da sowas blöder Weise nicht in er OH erwähnt wird, bin ich mir nicht ganz sicher)
Delphi-Quellcode:
for S1 in StringList1 do
  for S2 in StringList2 do
    for S3 in StringList3 do
       Memo1.Lines.Add(Format('%s,%s,%s', [S1, S2, S3]));
Aber bei den 3 Schleifchen bleibt es dennoch.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (24. Jan 2012 um 11:53 Uhr)
  Mit Zitat antworten Zitat
papax

Registriert seit: 24. Jan 2012
2 Beiträge
 
#7

AW: Kombinationen von Strings

  Alt 24. Jan 2012, 11:56
ICH LIEBE EUCH!
Vielen Dank für die vielen und schnellen Antworten.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#8

AW: Kombinationen von Strings

  Alt 24. Jan 2012, 11:57
for S1 in StringList1 do ...echt sowas geht ? Muß ich mal ausprobieren...
  Mit Zitat antworten Zitat
Benutzerbild von Nersgatt
Nersgatt

Registriert seit: 12. Sep 2008
Ort: Emlichheim
693 Beiträge
 
Delphi 10.1 Berlin Professional
 
#9

AW: Kombinationen von Strings

  Alt 24. Jan 2012, 12:53
for S1 in StringList1 do ...echt sowas geht ? Muß ich mal ausprobieren...
In Verbindung mit Generics finde ich das noch viel spannender:

Delphi-Quellcode:
  TAuto = class
    public
      Marke : string;
      Typ : string;
      Farbe : String;
  end;
  TGarage = TList<TAuto>;
...
Delphi-Quellcode:
  MeineGarage := TGarage.Create;
  try
    auto := TAuto.Create;
    auto.Marke := 'Porsche';
    auto.Typ := '911';
    Auto.Farbe := 'Blau';

    MeineGarage.Add(Auto);

    for auto in MeineGarage do
      ShowMessage(auto.Marke);

  finally
    MeineGarage.Free;
  end;
Jens
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#10

AW: Kombinationen von Strings

  Alt 24. Jan 2012, 13:06
Für TStrings und Nachfahren existiert standardmäßig schon ein Enumerator.
Delphi-Quellcode:
  TStringsEnumerator = class
  private
    FIndex: Integer;
    FStrings: TStrings;
  public
    constructor Create(AStrings: TStrings);
    function GetCurrent: string; inline;
    function MoveNext: Boolean;
    property Current: string read GetCurrent;
  end;

  TStrings = class(TPersistent)
  public
    ...
    function GetEnumerator: TStringsEnumerator;
    ...
  end;
Bei Arrays und für einige andere Listen (z.B. TList oder TComponent) gibt es auch sowas.
Für eigene Klassen kann man Diesen selber nachrüsten.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (24. Jan 2012 um 13:09 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 15:25 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