Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Schleife im Programm hinzufügen (https://www.delphipraxis.net/162244-schleife-im-programm-hinzufuegen.html)

Chris92 .A 14. Aug 2011 11:08

Delphi-Version: 5

Schleife im Programm hinzufügen
 
Hallo liebe community,

Ich wollte wissen wie man im Programm eine Schleife hinzufügen kann obwohl das Programm schon läuft.

Beispiel:

Ich hab eine SpinEdit, wenn ich jetzt damit 3 auswähe, benötige ich 3 Schleifen bei 4, 4 Schleifen usw...

Ich könnte dies jedoch mit einem case of lösen doch dies ist mir zu umständig da der Benutzer rein theoretisch auswählen kann was er will.


MFG

Chris92 .A

Sir Rufo 14. Aug 2011 11:27

AW: Schleife im Programm hinzufügen
 
Zitat:

Zitat von Chris92 .A (Beitrag 1116753)
Hallo liebe community,

Ich wollte wissen wie man im Programm eine Schleife hinzufügen kann obwohl das Programm schon läuft.

Beispiel:

Ich hab eine SpinEdit, wenn ich jetzt damit 3 auswähe, benötige ich 3 Schleifen bei 4, 4 Schleifen usw...

Ich könnte dies jedoch mit einem case of lösen doch dies ist mir zu umständig da der Benutzer rein theoretisch auswählen kann was er will.


MFG

Chris92 .A

Definier doch mal genauer was du mit den Schleifen meinst.
Soll dann x-mal ein Verarbeitungsschritt durchlaufen werden?

Dann einfach mit einer for -Schleife und gut.

Luckie 14. Aug 2011 11:29

AW: Schleife im Programm hinzufügen
 
Delphi-Quellcode:
for i := 0 to SpinEdit.value do

DeddyH 14. Aug 2011 11:31

AW: Schleife im Programm hinzufügen
 
Wenn Du bei 0 anfängst, musst Du aber einen abziehen ;)

Chris92 .A 14. Aug 2011 11:33

AW: Schleife im Programm hinzufügen
 
Nein ich benötige jenachdem welche Zahl in der SpinEdit ausgewählt wurde soviele Schleifen im programm damit dieser richtig funktioniert.

Bei der Zahl 3 im SpinEdit benötige ich dies.

while
begin
while
begin
while
begin
end
end
end

Bei der Zahl 2 im SpinEdit benötige ich dies:
while
begin
while
begin
end
end

DeddyH 14. Aug 2011 11:34

AW: Schleife im Programm hinzufügen
 
Ja und?
Delphi-Quellcode:
for i := 1 to SpinEdit1.Value do
  begin
    while Dings do
      begin
        DoSomethingWithDings;
      end;
  end;

Chris92 .A 14. Aug 2011 11:42

AW: Schleife im Programm hinzufügen
 
Ok muss vielliecht etwas genauer noch werden:

Dieser Code soll da stehen wenn SpinEdit 1 ist:
Code:
  while I <= 90 do
  begin
     lbText.Items.Add(chr(I));
     I := I + 1;
  end;
Dies Code soll da stehen wenn SpinEdit 2 ist:
Code:
while I <= 90 do
begin
  while G <= 90 do
  begin
     lbText.Items.Add(chr(I)+chr(G));
     G := G + 1;
  end;
  I := I + 1;
  G := 65;
end;
Dies Code soll da stehen wenn SpinEdit 3 ist:
Code:
while I <= 90 do
begin
  while G <= 90 do
  begin
     while Z <= 90 do
     begin
         lbText.Items.Add(chr(I)+chr(G)+chr(Z));
         Z := Z + 1;
     end;
     G := G + 1;
     Z := 65;
  end;
  I := I + 1;
  G := 65;
end;
usw...

MFG

Chris92 .A

Sir Rufo 14. Aug 2011 11:52

AW: Schleife im Programm hinzufügen
 
Ich schieß mal so ins Blaue ... soll das Programm etwa alle Permutationen von Zeichenfolgen liefern (Char-Code von 65 bis 90) und du willst die Länge der Zeichenfolge vorgeben?
- Mal abgesehen davon, dass die Initialisierung der Schleifen-Variablen nicht korrekt ist -

Chris92 .A 14. Aug 2011 11:53

AW: Schleife im Programm hinzufügen
 
Ich will einfach wenn ich jetzt z.b sage 5 dass er mir alle möglichkeiten an Wörter kombintation vorgibt die es mit 5 buchstaben gibt.

Gargoyl 14. Aug 2011 12:01

AW: Schleife im Programm hinzufügen
 
Delphi-Quellcode:
Procedure rek(iLoop: integer; sStr: String);
var
  i: integer;
begin
  for i := 65 to 90 do
    begin
      if (iLoop > 1) then rek(iLoop - 1, chr(i) + sStr);
      lbText.Items.Add(chr(i) + sStr);
    end;
end;
Und aufrufen tust du es mit:
Delphi-Quellcode:
rek(SpinEdit.Value, '');
Ich habe es jetzt nicht getestet, aber so, oder so ähnlich könnte es funktionieren.

PS: ich habe deine WHILE Schleife durch eine FOR Schleife ersetzt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:47 Uhr.
Seite 1 von 2  1 2      

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