AGB  ·  Datenschutz  ·  Impressum  







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

Schleifen wiederholen

Ein Thema von Kegasetu · begonnen am 23. Okt 2020 · letzter Beitrag vom 2. Nov 2020
Antwort Antwort
Seite 1 von 2  1 2      
Der schöne Günther

Registriert seit: 6. Mär 2013
6.199 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

AW: Schleifen wiederholen

  Alt 23. Okt 2020, 06:51
Warum hast du da tausend einzelne Variablen und kein Array?
  Mit Zitat antworten Zitat
Kegasetu

Registriert seit: 26. Sep 2013
85 Beiträge
 
#2

AW: Schleifen wiederholen

  Alt 23. Okt 2020, 06:58
Warum hast du da tausend einzelne Variablen und kein Array?
Das ist aus älteren Beiträgen zu entnehmen. Die Bezeichnung hilft mir bei meinen Formeln nicht durcheinander zu kommen.
  Mit Zitat antworten Zitat
Benutzerbild von ConnorMcLeod
ConnorMcLeod

Registriert seit: 13. Okt 2010
Ort: Bayern
490 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Schleifen wiederholen

  Alt 23. Okt 2020, 07:40
Etwas in der Art?

Delphi-Quellcode:
procedure Machwas(AWieoft: Integer);
var
  LiLooper: Integer;
begin
  for LiLooper := 1 to AWieoft do begin
    //
  end;
end;
Nr.1 Delphi-Tool: [F7]
  Mit Zitat antworten Zitat
Kegasetu

Registriert seit: 26. Sep 2013
85 Beiträge
 
#4

AW: Schleifen wiederholen

  Alt 23. Okt 2020, 08:05
Etwas in der Art?

Delphi-Quellcode:
procedure Machwas(AWieoft: Integer);
var
  LiLooper: Integer;
begin
  for LiLooper := 1 to AWieoft do begin
    //
  end;
end;
Ja, so ungegefähr. Aber ich verstehe noch nicht so ganz wie ich mir das zusammenstelle.
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.371 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Schleifen wiederholen

  Alt 23. Okt 2020, 08:21
Warum hast du da tausend einzelne Variablen und kein Array?
Das ist aus älteren Beiträgen zu entnehmen. Die Bezeichnung hilft mir bei meinen Formeln nicht durcheinander zu kommen.
Sorry, aber das lasse ich nicht so stehen.
Ob man l12 := l11 + 0.1 schreibt oder l[12] := l[11] + 0.1 ändert an der Lesbarkeit nicht viel und man kommt dabei auch nicht mehr oder weniger durcheinander.
Aber sei es so, wie du möchtest.

Etwas in der Art?

Delphi-Quellcode:
procedure Machwas(AWieoft: Integer);
var
  LiLooper: Integer;
begin
  for LiLooper := 1 to AWieoft do begin
    //
  end;
end;
Ja, so ungegefähr. Aber ich verstehe noch nicht so ganz wie ich mir das zusammenstelle.
Du brauchst noch zwei weitere Parameter, nämlich die Werte, die du in der Schleife verändern willst:

Delphi-Quellcode:
procedure Machwas(AWieoft: Integer; Var L1, L2 : <Dein-Float-Typ>);
var
  LiLooper: Integer;
begin
  for LiLooper := 1 to AWieoft do begin
    L1 := L2 + 0.1;
    L2 := L2 + 0.1;
  end;
end;
Allerdings wird es dann immer noch nicht funktionieren, da deine Schleifen geschachtelt sind. Somit kannst du die Prozedur nicht iterativ aufrufen. Hier hilft meiner Ansicht nach nur ein rekursiver Aufruf, was aber nicht geht, weil du keinen Zähler für die Rekursionstiefe hast. Dafür müsstest du deine Werte in einem Array speichern.
Also entweder feste Variablenbezeichner für deine Werte und deine geschachtelten Schleifen nehmen oder auf Array umstellen und rekursiv programmieren.

Aber vielleicht fällt ja noch jemandem etwas besseres ein.
Peter
  Mit Zitat antworten Zitat
Kegasetu

Registriert seit: 26. Sep 2013
85 Beiträge
 
#6

AW: Schleifen wiederholen

  Alt 23. Okt 2020, 08:33
Warum hast du da tausend einzelne Variablen und kein Array?
Das ist aus älteren Beiträgen zu entnehmen. Die Bezeichnung hilft mir bei meinen Formeln nicht durcheinander zu kommen.
Sorry, aber das lasse ich nicht so stehen.
Ob man l12 := l11 + 0.1 schreibt oder l[12] := l[11] + 0.1 ändert an der Lesbarkeit nicht viel und man kommt dabei auch nicht mehr oder weniger durcheinander.
Aber sei es so, wie du möchtest.

Etwas in der Art?

Delphi-Quellcode:
procedure Machwas(AWieoft: Integer);
var
  LiLooper: Integer;
begin
  for LiLooper := 1 to AWieoft do begin
    //
  end;
end;
Ja, so ungegefähr. Aber ich verstehe noch nicht so ganz wie ich mir das zusammenstelle.
Du brauchst noch zwei weitere Parameter, nämlich die Werte, die du in der Schleife verändern willst:

Delphi-Quellcode:
procedure Machwas(AWieoft: Integer; Var L1, L2 : <Dein-Float-Typ>);
var
  LiLooper: Integer;
begin
  for LiLooper := 1 to AWieoft do begin
    L1 := L2 + 0.1;
    L2 := L2 + 0.1;
  end;
end;
Allerdings wird es dann immer noch nicht funktionieren, da deine Schleifen geschachtelt sind. Somit kannst du die Prozedur nicht iterativ aufrufen. Hier hilft meiner Ansicht nach nur ein rekursiver Aufruf, was aber nicht geht, weil du keinen Zähler für die Rekursionstiefe hast. Dafür müsstest du deine Werte in einem Array speichern.
Also entweder feste Variablenbezeichner für deine Werte und deine geschachtelten Schleifen nehmen oder auf Array umstellen und rekursiv programmieren.

Aber vielleicht fällt ja noch jemandem etwas besseres ein.
Erstmal vielen Dank für die Unterstützung!

Ich verzichte nicht im allgemeinen auf Arrays, sondern nur in diesem speziellen Fall.

Das Problem sehe ich auch in der Verschachtelung und das ist der Punkt, an dem ich nicht weiterkomme. Nimm es mir bitte nicht übel, aber ich verstehe nicht ganz so viel der Informationstechnik. Ich selber bin auch nur kurzweilig gezwungen mich damit auseinander zusetzten.
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.371 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Schleifen wiederholen

  Alt 23. Okt 2020, 08:45
Das Problem sehe ich auch in der Verschachtelung und das ist der Punkt, an dem ich nicht weiterkomme. Nimm es mir bitte nicht übel, aber ich verstehe nicht ganz so viel der Informationstechnik. Ich selber bin auch nur kurzweilig gezwungen mich damit auseinander zusetzten.
Sorry, ich wollte nicht vorwurfsvoll bei dir ankommen. Ich bin eher der pragmatische Typ.
Rekursiv heißt, dass du eine Prozedur oder Funktion schreibst, die sich selbst wieder aufruft. Dafür brauchst du ein Kriterium, dass die Rekursion irgendwann abbricht. Bei einem Array könnte es die Arraygröße sein. Bei festen Variablen habe ich spontan keine Idee, wie man das sinnvoll realisieren kann.
Daher bleibt nur deine Variante mit der Verschachtelung übrig.
Peter
  Mit Zitat antworten Zitat
Kegasetu

Registriert seit: 26. Sep 2013
85 Beiträge
 
#8

AW: Schleifen wiederholen

  Alt 23. Okt 2020, 08:59

Daher bleibt nur deine Variante mit der Verschachtelung übrig.
An sich ist das mit der Verschachtelung gar nicht so schlimm, mir ist nur wichtig, dass es irgendwie funktioniert. Ich erinnere mich düster an Batch Dateien, welche über einen GoTo Befehl verfügen. Bei Delphi gibt es diese Möglichkeit auch so ähnlich. Ergibt es Sinn, sich damit auseinander zu setzten? Ich habe mich mal ein kleines bisschen darüber informiert, aber meist wird davon abgeraten.
  Mit Zitat antworten Zitat
Benutzerbild von ConnorMcLeod
ConnorMcLeod

Registriert seit: 13. Okt 2010
Ort: Bayern
490 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Schleifen wiederholen

  Alt 23. Okt 2020, 10:21
Du brauchst noch zwei weitere Parameter, nämlich die Werte, die du in der Schleife verändern willst:
Laut dem ersten Post möchte man nur steuern, wie oft die Schleife durchlaufen wird. Also ein Parameter.
Und es war auch nur als Denkanstoß gedacht, nicht als Komplettlösung.
Nr.1 Delphi-Tool: [F7]
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.739 Beiträge
 
Delphi 6 Enterprise
 
#10

AW: Schleifen wiederholen

  Alt 23. Okt 2020, 10:39
Nur mal aus Neugier, passier im inneren der letzten Schleife etwas mit den Variablen oder geht es in der Schleifen-Orgie nur darum die Variablen auf einen bestimmten Wert zu bringen und nachher (außerhalb der Schleifen) wird mit den Variablen weitergerechnet?
Ralph
  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 11:24 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