Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi While schleife endlos? oder nicht? (https://www.delphipraxis.net/132063-while-schleife-endlos-oder-nicht.html)

JumpFrog 5. Apr 2009 15:55


While schleife endlos? oder nicht?
 
hey leute,


wir sollen in der Berufsschule ein "LottoProgramm" schreiben.
Ich bin in der Stunde nicht fertig geworden und hab es Zuhause neu geschrieben. Später habe ich meinen Lehrer gefragt wieso mein Programm "hängt" (mir war klar das es an den Endlosschleife hing, allerdings hab ich die den logichen fehler nicht gefunden). Anschließend hab ich Algorithmus neu geschrieben. natürlich anders :) und nun Funktioniert das Programm ohne Probleme. Ich weiß nicht wieso weil es eigentlich beim ersten durchlaufen der schleife eine endlosschleife ergeben müsste.

Delphi-Quellcode:
procedure TForm1.BtnGroClick(Sender: TObject);
var
  x,a,i,zahl:Integer;
begin
x:=0;
a:=0;
zahl:=0;
while x<=5 do
begin
  If Feld[a]>=10 then
      zahl:=zahl+1;
      a:=a+1;
      x:=x+1
end;

Label1.Caption:=inttostr(zahl);

end;
Das Array "Feld" beinhaltet die ersten 6 Zahlen die die Funktion random ausgibt (sie legen zwischen 0 und 48). Die erste Zahl war immer eine 6. Somit würde ja die IF Bedingung nicht erfüllt und er durchläuft die schleife erneut mit der ersten Zahl in dem Array (welche ja 6 wäre). Somit wäre ja wieder eine endlosschleife entstanden. Allerdings funktioniert das programm so einmandfrei :?:

ALso dachte ich mir (bevor ich das Programm geteste habe), das doch ein ELSE noch benötigt wird fals die bedingung nicht erfüllt ist (Schließlich will ich alle 6 Werte die im Array stehen vergleichen) Also hab ich ein else geschrieben.

Delphi-Quellcode:
procedure TForm1.BtnGroClick(Sender: TObject);
var
  x,a,i,zahl:Integer;
begin
x:=0;
a:=0;
zahl:=0;
while x<=5 do
begin
  If Feld[a]>=10 then
      zahl:=zahl+1;
      a:=a+1;
      x:=x+1;
  else
  x:=x+1;
end;

Label1.Caption:=inttostr(zahl);

end;
So hat er es mir erst garnicht von der Syntax her angenommen, also habe ich es mit begin und end versucht, ohne erfolg. Nun hatte ich das Programm so ausgeführt und es hatte funktioniert ohne Endlosschleife.

Kann mir jemand erklären wo nun genau mein Denkfehler ist?

Danke schonmal.

LG JumpFrog

Delphi-Quellcode:
procedure TForm1.BtnerzClick(Sender: TObject);
var
  i,a,c,LoZahl:Integer;
begin
a:=0;
i:=0;
c:=0;
while i<=5 do // Schleifenbegin für 6 Ziehungen
  begin
    LoZahl:=random(48)+1;
    Feld[a]:=LoZahl;
    while c<=5 do
      begin
         while Feld[a]= LoZahl do
         LoZahl:=random(48)+1;
        c:=c+1;
      end;
    a:=a+1;
  i:=i+1;
  end;

end;
(Hier noch die procedure die die Zahlen erstellt)

Chemiker 5. Apr 2009 16:06

Re: While schleife endlos? oder nicht?
 
Hallo JumpFrog,

ohne jetzt auf die Logik des Programms einzugehen, mir schein, dass Du Probleme mit der Formatierung des Quelltextes hast. Versuche Deine Anweisungen in Begin/End - Blöcke zu setzen.

Bis bald Chemiker

_frank_ 5. Apr 2009 16:07

Re: While schleife endlos? oder nicht?
 
Zitat:

Zitat von JumpFrog
Ich weiß nicht wieso weil es eigentlich beim ersten durchlaufen der schleife eine endlosschleife ergeben müsste.

Delphi-Quellcode:
...
while x<=5 do
begin
  If Feld[a]>=10 then
      zahl:=zahl+1;
      a:=a+1;
      x:=x+1
end;
...

deine Einrückung ist falsch :) wenn du sie richtig machst, wird der fehler klarer:

Delphi-Quellcode:
while x<=5 do
begin
  If Feld[a]>=10 then
      zahl:=zahl+1;
  a:=a+1;
  x:=x+1
end;
wie du siehst, bleiben beide Seiten der Bedingung gleich (also ungleich :) ), der index des arrays wird erst nach verlassen der while-schleife gesetzt.

HTH Frank

JumpFrog 5. Apr 2009 16:11

Re: While schleife endlos? oder nicht?
 
nihms mir nicht übel....

aber...

Delphi-Quellcode:
while x<=5 do
begin
  If Feld[a]>=10 then
      zahl:=zahl+1;
  a:=a+1;
  x:=x+1
end;
Wenn das die While schleife ist

müsste hier
Delphi-Quellcode:
while x<=5 do
begin
  If Feld[a]>=10 then
      zahl:=zahl+1;
  a:=a+1;
end;
x:=x+1;
stehen damit es ausserhalb der schleife ist oder nicht?

Jens Hartmann 5. Apr 2009 16:12

Re: While schleife endlos? oder nicht?
 
Hallo,

Da gebe ich Chemiker recht, ich habe mal hier eine Stück Code von dir kopiert, schau mal,

Delphi-Quellcode:
begin
  If Feld[a]>=10 then
      zahl:=zahl+1;
      a:=a+1;
      x:=x+1;
  else
Wenn man den Code nimmt, wird im Fall von , das if nicht gleich ist, nur die Zeile zahl:= zahl+1 ausgelassen, die anderen Zeilen werden immer ausgeführt.

Der Code sollte also lauten...

Delphi-Quellcode:
begin
  If Feld[a]>=10 then
    begin
      zahl:=zahl+1;
      a:=a+1;
      x:=x+1
    end
  else
Bedenke bitte auch, das das 'end' vor dem else, nicht mit einem ';' abgeschlossen wird.


Gruß Jens

Jens Hartmann 5. Apr 2009 16:14

Re: While schleife endlos? oder nicht?
 
Sorry,habe jetzt erst gesehen, was du vorhast. Wenn du die While-Schleife betrachtest, hast Du recht. Ich testen es mal.

Gruß Jens
Delphi-Quellcode:
begin
[EDIT] Recht schon, aber der Fehler ist trotzallem durch die fehlenden Blöcke

Delphi-Quellcode:
begin
...
...
...
end
aufgetreten.
[EDIT]
Delphi-Quellcode:
 end.

JumpFrog 5. Apr 2009 16:15

Re: While schleife endlos? oder nicht?
 
ahhh jetzt das bedeutete das immer nur die erste Zeile nach dem If zu der IF bedingung gehört. versteh ich das richtig?

fkerber 5. Apr 2009 16:16

Re: While schleife endlos? oder nicht?
 
Hi!

Das hast du richtig erkannt!


Ciao, Frederic

Jens Hartmann 5. Apr 2009 16:18

Re: While schleife endlos? oder nicht?
 
Das mit der if-Abfrage siehst du richtig. Deshalb, setzt am besten immer begin und end, damit ist für jeden eindeutig, was zusammen gehören soll.

Gruß Jens

JumpFrog 5. Apr 2009 16:24

Re: While schleife endlos? oder nicht?
 
wie schön das unser Lehrer das uns mal gesagt hat :)

Delphi-Quellcode:
procedure TForm1.BtnGroClick(Sender: TObject);
var
  x,a,i,zahl:Integer;
begin
x:=0;
a:=0;
zahl:=0;
while x<=5 do
begin
  If Feld[a]>=10 then
  begin
      zahl:=zahl+1;
      a:=a+1;
      x:=x+1;
  end
  else
  x:=x+1;
end;

Label1.Caption:=inttostr(zahl);

end;
So sieht mein Quelltext jetzt aus. Und wie sollte es anders sein es Funktioniert nicht. Mich wundert es schon das die erste Zahl von der funktion random nicht 6 sondern diesmal 1 ist. Jedenfalls ist die ausgabe 0 obwoll es Zahlen gibt über 10. Dabei habe ich nur das else angefügt :) . Von der Logik her müsste es ja stimmen. Weil sonst ja eine endlosschleife enstehen würde(ohne das ELSE).
Also wo is nun wieder mein Fehler... :wall:

@Jens: Ja, habe ich gemacht allerdings mit else und es hat nicht funktioniert, also habe ich das alles wieder weggenommen :wall:

_frank_ 5. Apr 2009 16:33

Re: While schleife endlos? oder nicht?
 
Zitat:

Zitat von JumpFrog
nihms mir nicht übel....stehen damit es ausserhalb der schleife ist oder nicht?

recht haste :) hab vor laute while-schleifen da auch eine gesehen ;) sorry

Gruß Frank

Jens Hartmann 5. Apr 2009 16:34

Re: While schleife endlos? oder nicht?
 
Zeig mal den rest von deine Code.

In der While Schleife passiert folgendes...

Delphi-Quellcode:
procedure TForm1.BtnGroClick(Sender: TObject);
var
  x,a,i,zahl:Integer;
begin
x:=0;
a:=0;
zahl:=0;
while x<=5 do         //solang x <= 5 wird die Schleife ausgführt
begin
  If Feld[a]>=10 then //if Abfrage auf <= 10
  begin
      zahl:=zahl+1;   //die 3 folgenden Zeilen werden ausgeführt, wenn if = true
      a:=a+1;
      x:=x+1;
  end
  else
  begin
  x:=x+1;             // immer noch Schleif als x+1 wenn nicht if = true.
  end;
end;

Label1.Caption:=inttostr(zahl);

end;
Ist also soweit OK. Bist du sicher das Feld[a] in dieser Zeit größer 10 ist.

Gruß Jens

_frank_ 5. Apr 2009 16:46

Re: While schleife endlos? oder nicht?
 
bevor wir weiter rumrätseln...

das einfachste wäre, das programm zu starten und bei der Endlosschleife mit dem Debugger anzuhalten...dann siehst wo der momentane Ausführungspunkt ist...

evtl kannst du auch mal den kompletten code veröffentlichen.

Gruß Frank

JumpFrog 5. Apr 2009 16:48

Re: While schleife endlos? oder nicht?
 
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    BtnInz: TButton;
    Btnerz: TButton;
    BtnEnde: TButton;
    BtnAnz: TButton;
    BtnGro: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    ListBox1: TListBox;
    Label1: TLabel;
    procedure BtnEndeClick(Sender: TObject);
    procedure BtnInzClick(Sender: TObject);
    procedure BtnerzClick(Sender: TObject);
    procedure BtnAnzClick(Sender: TObject);
    procedure BtnGroClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  Feld: array[0..5] of integer;

implementation

{$R *.dfm}

procedure TForm1.BtnAnzClick(Sender: TObject);
var
  i:integer;
begin
for i := 0 to 5 do
begin
  Edit1.Text:=inttostr(Feld[0]);
  Edit2.Text:=inttostr(Feld[1]);
  Edit3.Text:=inttostr(Feld[2]);
  Edit4.Text:=inttostr(Feld[3]);
  Edit5.Text:=inttostr(Feld[4]);
  Edit6.Text:=inttostr(Feld[5]);
end;
end;

procedure TForm1.BtnEndeClick(Sender: TObject);
begin
close;
end;

procedure TForm1.BtnerzClick(Sender: TObject);
var
  i,a,c,LoZahl:Integer;
begin
a:=0;
i:=0;
c:=0;
while i<=5 do // Schleifenbegin für 6 Ziehungen
  begin
    LoZahl:=random(48)+1;
    Feld[a]:=LoZahl;
    ListBox1.Items.Add(floattostr(Feld[a]));
    while c<=5 do
      begin
         while Feld[a]= LoZahl do
         LoZahl:=random(48)+1;
        c:=c+1;
      end;
    a:=a+1;
  i:=i+1;
  end;

end;



procedure TForm1.BtnGroClick(Sender: TObject);
var
  x,a,i,zahl:Integer;
begin
x:=0;
a:=0;
zahl:=0;
while x<=5 do
begin
  If Feld[a]>=10 then
  begin
      zahl:=zahl+1;
      a:=a+1;
      x:=x+1;
  end
  else
  x:=x+1;
end;

Label1.Caption:=inttostr(zahl);

end;

procedure TForm1.BtnInzClick(Sender: TObject);
begin
edit1.Clear;
Edit2.Clear;
Edit3.Clear;
Edit4.Clear;
Edit5.Clear;
Edit6.Clear;
end;

end.
So da habt ihr den gesammten code.

_frank_ 5. Apr 2009 16:57

Re: While schleife endlos? oder nicht?
 
Liste der Anhänge anzeigen (Anzahl: 1)
meinte zwar alle code-dateien (also auch die projektdatei und das formular),
aber ich habs jetzt mal zusammengebastelt, hab aber noch keine endlosschleife provozieren können. bei welcher konstellation kommt diese denn in welcher methode?

Gruß Frank

JumpFrog 5. Apr 2009 17:02

Re: While schleife endlos? oder nicht?
 
achso meinstest du das sorry...

um eine endlosschleife geht es gerade nicht ;) sondern um die ausgabe der anzahl der zahlen die größer sind als 10 schau dir dein programm an und erzeuge zahlen, lass se anzeigen und dann schaun welche größer sind als 10 du wirst sehen deine aussageb wird 0 sein. Was ja eigentlich nicht stimmt.

xZise 5. Apr 2009 17:03

Re: While schleife endlos? oder nicht?
 
Hallo JumpFrog,

ich hatte dein Code erstmal nur überflogen, aber ein paar Sachen möchte ich noch anmerken:
  • Kennt ihr noch keine for-Schleifen? Ihr kennt doch for-Schleifen!? Weil eigentlich ließen sich alle dadurch ersetzen. Zudem können for-Schleifen NIE in eine Endlosschleife geraten.
  • Dein neuer Code sieht ja (gekürzt) ungefähr so aus:
    Delphi-Quellcode:
    if <Bedingung> then
    begin
      Anweisungen;
      x := x + 1;
    end
    else
      x := x + 1;
    Nun führt er ja x := x + 1 immer aus. Also könnte das außerhalb des ifs:
    Delphi-Quellcode:
    if <Bedingung> then
    begin
      Anweisungen;
    end;
    x := x + 1;
  • Mithilfe von Hier im Forum suchenRandomize kannst du jedesmal eine neue Anzahl von Zufallszahlen erstellen. Ansonsten trifft das nicht immer zu und unter Umständen (wann genau weiß ich nicht) ist die Reihenfolge der Zufallszahlen immer gleich.
  • In BtnerzClick greifst du auf a zu, obwohl das doch c sein müsste (Z. 77)?

Ansonsten wie gesagt einfach mal Debuggen!

MfG
xZise

Chemiker 5. Apr 2009 17:07

Re: While schleife endlos? oder nicht?
 
Hallo JumpFrog,

Delphi-Quellcode:
procedure TForm1.BtnAnzClick(Sender: TObject);
var
  i:integer;
begin
  for i := 0 to 5 do
  begin
    Edit1.Text:=inttostr(Feld[0]);
    Edit2.Text:=inttostr(Feld[1]);
    Edit3.Text:=inttostr(Feld[2]);
    Edit4.Text:=inttostr(Feld[3]);
    Edit5.Text:=inttostr(Feld[4]);
    Edit6.Text:=inttostr(Feld[5]);
  end;
end;
welchen Sinn soll hier die For-Schleife ergeben?

Bis bald Chemiker

JumpFrog 5. Apr 2009 17:13

Re: While schleife endlos? oder nicht?
 
tja zum glück hatten wir das Debuggen schon dran in der schule ;) *ironie off*

Stimmt, ich könnte "x:=x+1" auch ausserhalb der If bedinung schreiben, darauf bin ich noch nicht gekommen ;)

das c ist für die vorangegangenen While schleife. Damit das keine entlosschleife wird.
Mit For habe ich es schon versucht und nicht auf anhieb hinbekommen, also dachte ich mich versuch ich es so und später nochmal mit for ;)

@ Chemiker: Danke das du mich darauf aufmerksam machst, is mir garnicht aufgefallen. Das is natürlich Quatsch dort. k.A. wieso das dort steht :)

mit RANDOMIZE hab ich noch keine erfahrung ( weil ich es noch nicht verstanden habe), ich will auch erstmal eine funktionierende Version und dann andere Methoden der Problemlösung versuchen.

_frank_ 5. Apr 2009 17:17

Re: While schleife endlos? oder nicht?
 
Liste der Anhänge anzeigen (Anzahl: 1)
der Zählfehler kommt daher, dass du zwar bis 5 gehst, aber den index nirgends nutzt.

hier mal bisschen gekürzt...a und i brauchst nicht.

Delphi-Quellcode:
procedure TForm1.BtnGroClick(Sender: TObject);
var
  x,zahl:Integer;
begin
x:=0;
zahl:=0;
while x<=5 do
begin
  If Feld[x]>=10 then
    zahl:=zahl+1;
  x:=x+1;
end;
Label1.Caption:=inttostr(zahl);
end;
Guß Frank

Satty67 5. Apr 2009 17:23

Re: While schleife endlos? oder nicht?
 
Ist jetzt vielleicht nicht so wichtig, aber
Delphi-Quellcode:
random(48)+1;
gibt nur 48 Zahlen. (1-48 )

_frank_ 5. Apr 2009 17:30

Re: While schleife endlos? oder nicht?
 
Zitat:

Zitat von Satty67
Ist jetzt vielleicht nicht so wichtig, aber
Delphi-Quellcode:
random(48)+1;
gibt nur 48 Zahlen. (1-48 )

richtig, und wo ist das Problem? es soll ja ein lotto-Programm werden, und es werden immer nur 6 zahlen "gezogen" und beim Ziehen abgeglichen. Es gibt also nie den Zustand, dass 48 Zahlen gleichzeitig daliegen und versucht wird eine 49. zu finden (welches zu einer Endlosschleife führen würde).

Gruß Frank

Chemiker 5. Apr 2009 17:33

Re: While schleife endlos? oder nicht?
 
Hallo JumpFrog,

randomize musst Du nicht verstehen nur mit F1 die Funktionsweise nachsehen.

Des Weiteren macht es sich gut Variable mit einem definierten Zustand einzusetzen.

Delphi-Quellcode:
procedure TfrmLotto.FormCreate(Sender: TObject);
var
  i: integer;
begin
  randomize;
  for I := 0 to high(Feld) do
  begin
    Feld[i]:= 0;  
  end;
end;
Bis bald Chemiker

JumpFrog 5. Apr 2009 17:40

Re: While schleife endlos? oder nicht?
 
Also Lotto geht ja laut meines wissens (Bin kein Lottospieler) bis 49 und da random aber bei 0 anfängt und es keine 0 gibt addiere ich zu der erzeugten zahl einfach 1 dazu.

Ok, verstehen war falsch Formuliert, ich meine nicht wie es funktioniert sondern eben den aufbau der Syntax verstehen und das habe ich im moment noch nicht. :duck:

auf jedenfall Funktioniert jetzt das Programm richtig. Wieso weiß ich noch nicht genau aber ich werde es mir nochmal anschauen.

So etwas macht se bestimmt gut :) nur leider muss so ein Wissen ersteinmal vorhanden sein um es anzuwenden. Ich bin ja in einer Ausbildung zum IT-Systemelektroniker, da gehört programmieren nunmal nicht zum a und o :)

aber danke das für das Beispiel :)

Satty67 5. Apr 2009 17:42

Re: While schleife endlos? oder nicht?
 
Zitat:

Zitat von _frank_
richtig, und wo ist das Problem?

Für den Programmablauf kein Problem, deshalb schrieb ich ja, nicht so wichtig. War ja nur, falls das ein Lotto 6 aus 49 werden soll.

@JumpFrog

Random(x) gibt x-Anzahl Zahlen, beginnend bei 0... bei Random(48 ) gibt es 48 Zahlen, beginnend bei 0 (also 0-47). Bei +1 also nur 1-48.

_frank_ 5. Apr 2009 17:49

Re: While schleife endlos? oder nicht?
 
Zitat:

Zitat von Satty67
Für den Programmablauf kein Problem, deshalb schrieb ich ja, nicht so wichtig. War ja nur, falls das ein Lotto 6 aus 49 werden soll.

stimmt, war ja "aus 49"...ich spiel kein lotto :) gut aufgepasst

Gruß Frank

JumpFrog 5. Apr 2009 18:05

Re: While schleife endlos? oder nicht?
 
achso :?: :?:

ich dachte Immer das sei der bereich aus dem er die Zahlen generieren soll. Also ist das nur die angabe der Anzahl der Zahlen die er ziehen soll oder wie darf ich das verstehen? :gruebel: :gruebel: Bin gerade ein wenig verwirrt, weil mein Programm keine Zahlen höher als 48 anzeigt. :gruebel: :gruebel:

Meflin 5. Apr 2009 18:06

Re: While schleife endlos? oder nicht?
 
Zitat:

Zitat von xZise
Mithilfe von Hier im Forum suchenRandomize kannst du jedesmal eine neue Anzahl von Zufallszahlen erstellen. Ansonsten trifft das nicht immer zu und unter Umständen (wann genau weiß ich nicht) ist die Reihenfolge der Zufallszahlen immer gleich.

Die Reihenfolge der Zufallszahlen ist genau dann gleich, wenn der RNG zweimal mit exat demselben Wert initialisiert wird. Das ist nur der Fall, wenn man randmoize überhauptnicht aufruft (= kein Seed).

Satty67 5. Apr 2009 18:24

Re: While schleife endlos? oder nicht?
 
Ist wohl wegen der 1 Frage-Regel OT, aber dafür ein neuer Thread wäre fast übertrieben?
Zitat:

Zitat von JumpFrog
ich dachte Immer das sei der bereich aus dem er die Zahlen generieren soll.

Ist es fast... die Größe (oder Spannweite) des Bereichs

Random(x)

Zufallszahl mit Bedingung 0 <= ? < X

oder

x-Zufallszahlen beginnend bei 0

oder

Zufallszahlen 0 bis (x - 1)

Such Dir eine Erklärung aus, die Du Dir am besten merken kannst. Die mittlere hat sich bei mir festgesetzt.

Chemiker 5. Apr 2009 19:19

Re: While schleife endlos? oder nicht?
 
Hallo JumpFrog,

normalerweise sind die Lottozahlen bei dem Lotto, beidem ich mitspiele immer verschieden.

Delphi-Quellcode:
while c<=5 do
  begin
    while Feld[a]= LoZahl do
      LoZahl:=random(48)+1;
    c:=c+1;
  end;
Diese beiden Schleifen werden doch nur einmal durchlaufen und anschließend steht c auf 6.

Bis bald Chemiker

_frank_ 5. Apr 2009 19:41

Re: While schleife endlos? oder nicht?
 
der arme JumpFrog...wir finden mehr Fehler als ihm lieb ist.

einen hab ich noch:
er vergleicht immer nur das aktuelle feld mit der aktuellen Zufallszahl.es sind also doppelte werte möglich. ich denke mal, er versucht mit der inneren schleife dies zu verhindern. dazu müsste er aber feld[c] mit loZahl vergleichen und auch nur bis a (=aktuelle position) die schleife laufen lassen.

natürlich c zurücksetzen, was Chemiker schon angedeutet hat ;) oder das gleich mit for-schleifen machen...

@frog:schau dir mal den algo an, der ist auch für deinen Zweck verwendbar:
http://www.delphipraxis.net/internal...=998529#998529

Gruß Frank

Chemiker 5. Apr 2009 19:53

Re: While schleife endlos? oder nicht?
 
Hallo JumpFrog,

Delphi-Quellcode:
procedure TfrmLotto.btMeineVersionClick(Sender: TObject);
var
  i, intTip: integer;
  LottoArr: Array[1..49] of Boolean;
begin
  for I := 1 to high(LottoArr) do
  begin
    LottoArr[i]:= FALSE;          
  end;
  for I := 1 to 6 do
  begin
    repeat
      intTip:= Random(49)+1;    
    until not LottoArr[intTip];
    LottoArr[intTip]:= TRUE;
  end;
  for I := 1 to high(LottoArr) do
  begin
    if LottoArr[i] then                // Der Index i ist die Lottozahl
    begin
      ListBox1.Items.Add(inttostr(i));
    end;
  end;
end;
Mal eine andere Version.

Bis bald Chemiker

JumpFrog 6. Apr 2009 11:25

Re: While schleife endlos? oder nicht?
 
Zitat:

Zitat von _frank_
der arme JumpFrog...wir finden mehr Fehler als ihm lieb ist.

Genau :cry: :cry:

Naja ich bin nunmal ein Ass im Programmieren. Ich merke nur wieviel mist wir hier in der Berufsschule beigebracht bekommen :( eigentlich traurig.

Ich werde mir den Quelltext den ihr mir gegeben habt anschauen, aber im ersten Moment seh ich da nicht durch :)

Bin gerade in der Berufsschule, falls ich es schaffe werde ich die Lösung vom Lehrer mal Posten.

LG JumpFrog

_frank_ 6. Apr 2009 22:13

Re: While schleife endlos? oder nicht?
 
der code, den ich angehängt hatte war doch deiner nur bisschen verändert ;)

Gruß Frank


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:49 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 by Thomas Breitkreuz