Delphi-PRAXiS
Seite 1 von 5  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Schleifen probleme (https://www.delphipraxis.net/133089-schleifen-probleme.html)

gangs-taas 25. Apr 2009 10:20


Schleifen probleme
 
hallo
ichh ab schon wieder eine frage ^^

also ich habe eine repeat-schleife.
und in dieser schleife benutz ich eine variable V1

so nun soll V1 beim ersten durchlaufen der schleife V1+1 sein
das bekomme ich auch noch hin

hab einfach innerhalb der schleife geschrieben

V1 := V1 +1

okay

nun zu meinem Problem

beim 2ten durchlauf der Schleife soll V1

V1+V1+1 sein

beim 3 durchlauf der schleife

V1+V1+V1+1

und so weiter ....

und ich weiß nicht wie ich das meinem pc erkären soll xD

könnt ihr mir helfen ?
und hab ich das so formuliert das ihr versteht wie ich das mein ?? :?:

danke schonmal ^^

DeddyH 25. Apr 2009 10:24

Re: Schleifen probleme
 
Das könnte man doch durch Multiplikation ganz einfach lösen, meinst Du nicht?

gangs-taas 25. Apr 2009 10:32

Re: Schleifen probleme
 
aber wie ?

wenn ich *2 mach stimmt es z.b. beim 3ten durchlauf nicht mher ....



also er soll ja eigendlich

V1 * dieAnzahlDerDurchläufeDerSchleife


weißt du `? und ich weiß nicht wie...

jfheins 25. Apr 2009 10:33

Re: Schleifen probleme
 
Variable V2 einführen, die den Startwert von V1 hat und dann:

repeat
...
V1 := V1 + V2;
...

;)

DeddyH 25. Apr 2009 10:34

Re: Schleifen probleme
 
Delphi-Quellcode:
procedure TfrmMain.Machwas;
var V1, Multiplikator: integer;
begin
  V1 := 1;
  Multiplikator := 1;
  repeat
    //multiplizieren und einen hochzählen
    V1 := V1 * Multiplikator + 1;
    //zur Kontrolle in einer Listbox ausgeben
    ListBox1.Items.Add(InttoStr(V1));
    //Multiplikator um eins erhöhen
    inc(Multiplikator);
  until Multiplikator > 5;
end;

gangs-taas 25. Apr 2009 10:42

Re: Schleifen probleme
 
hab das probiert nur hängt sich jetzt meine schleife auf xD XD


repeat
...
V1 := V1 + V2;

unpraktisch xD

DeddyH 25. Apr 2009 10:45

Re: Schleifen probleme
 
Zitat:

Zitat von gangs-taas
hab das probiert nur hängt sich jetzt meine schleife auf xD XD

Und nun? :glaskugel: Etwas mehr Code wäre schon hilfreich.

mkinzler 25. Apr 2009 10:46

Re: Schleifen probleme
 
Was meinst du mit aufhängen? Zeig mal deine Abbruchbedingung

gangs-taas 25. Apr 2009 10:48

Re: Schleifen probleme
 
okay
dauert aber nen mom muss das erst alles schön einrücken xD

gangs-taas 25. Apr 2009 10:58

Re: Schleifen probleme
 
so hoffe irh steigt da durch ^^
Delphi-Quellcode:
var
GanzerText : string;
LängeEinesBuchstaben : integer;
Multiplicator : integer;
sTemp1 : string;
sTemp : integer ;
EndVar : Integer;
begin
[...]

   EndVar := (Length(Memo1.Text)); // Variable wann später abgebrochen werden soll
   EndVar := Round(EndVar / LängeEinesbuchstaben);
   sTemp1:= Copy(GanzerText, 1, Length(Memo1.Text));
   sTemp := StrToInt(Copy(sTemp1,1,LängeEinesBuchstaben));
   Multiplicator := 1;
       repeat
       begin
              If (sTemp = StrToInt(Va)) Then  
              begin
                  ZwischenText := ZwischenText + 'a';
                  sTemp1 := Copy(sTemp1,(LängeeinesBuchstaben),(Length(GanzerText)));
                  sTemp := StrToInt(Copy(sTemp1,1,LängeEinesBuchstaben));
                      If ( Length(ZwischenText) = EndVar) Then
                      begin
                          Schalter := 1;
                          break;
                       end;
               end
               Else If (sTemp = StrToInt(Vb)) Then
               begin
                    ZwischenText := ZwischenText + 'b';
                    sTemp1 := Copy(GanzerText,(LängeeinesBuchstaben),(Length(GanzerText)));
                    sTemp := StrToInt(Copy(sTemp1,1,LängeEinesBuchstaben));
                          If ( Length(ZwischenText) = EndVar) Then
                          begin
                              Schalter := 1;
                              break;
                          end;
               end
               Else If (sTemp = StrToInt(Vz)) Then
               begin
                   ZwischenText := ZwischenText + 'z';
                   sTemp1 := Copy(GanzerText,(LängeeinesBuchstaben),(Length(GanzerText)));
                   sTemp := StrToInt(Copy(sTemp1,1,LängeEinesBuchstaben));
                         If ( Length(ZwischenText) = EndVar) Then
                         begin
                             Schalter := 1;
                             break;
                         end;
               end;
        LängeEinesBuchstaben := StrToInt(Copy(Edit1.Text,1,1));
        LängeEinesBuchstaben := Multiplicator * LängeEinesBuchstaben +1 ;
        until (Length(ZwischenText) = EndVar) ;
[...]
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:17 Uhr.
Seite 1 von 5  1 23     Letzte »    

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