random



  • moin....diesmla folgendes....
    ich weise eine caption einen zufallswert zu. dieser wert soll dann mehrere eedit komponenten verteilt werden bis die zahl der caption der summe derer in den edit komponenten entspricht.hab eine do while schleife probiert....

    do{
    if((Form3->Edit1->Text.ToInt()+Form3->Edit4->Text.ToInt()+Form3->Edit7->Text.ToInt()+Form3->Edit10->Text.ToInt()+Form3->Edit13->Text.ToInt())<(Label1->Caption.ToInt()))
    {
    Form3->Edit1->Text=random(Label1->Caption.ToInt());
    Form3->Edit4->Text=random(Label1->Caption.ToInt());
    Form3->Edit7->Text=random(Label1->Caption.ToInt());
    Form3->Edit10->Text=random(Label1->Caption.ToInt());
    Form3->Edit13->Text=random(Label1->Caption.ToInt());
    }
    else
    Form3->Caption="NIX";
    }
    while ((Form3->Edit1->Text.ToInt()+Form3->Edit4->Text.ToInt()+Form3->Edit7->Text.ToInt()+Form3->Edit10->Text.ToInt()+Form3->Edit13->Text.ToInt())==(Label1->Caption.ToInt()));
    Form3->Caption=Form3->Edit1->Text.ToInt()+Form3->Edit4->Text.ToInt()+Form3->Edit7->Text.ToInt()+Form3->Edit10->Text.ToInt()+Form3->Edit13->Text.ToInt();

    nich lachen 😉



  • ...und seit ich diese schleife drin habe stürzt mein prog nach einem durchlauf immer ab....ick wes ja ooch nich 😕


  • Mod

    Hallo

    Fehlermeldung ?
    was sagt denn der Debugger dazu

    MfG
    Klaus



  • kommt keine fehlermeeldung programm läuft und nach dem ich nen button klicke manchmal auch nach mehreren klicks hängt sich das programm auf und ich kann borland neu starten, da es irgend ein "debugger-kernel fehler,fehler 2" anzeigt



  • So unformatiert ist der Code nicht gerade leicht zu interpretieren. 😮 Benutze das nächste Mal die Code-Tags, dann gehts einfacher.

    Wenn ich das richtig gelesen habe, werden den einzelnen Elementen nur dann über random neue Werte zugewiesen, wenn die Summe aller Werte kleiner als der von Label1 ist, ansonsten passiert "NIX".

    Die Bedingung der while-Schleife, das die Summe gleich sein soll, kann also nicht mehr erfüllt werden, wenn nach dem ersten oder einem weiteren Durchlauf die Summe größer ist.


Anmelden zum Antworten