Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Öfters ausführen (https://www.delphipraxis.net/105315-oefters-ausfuehren.html)

ScrollbarKopf 19. Dez 2007 18:02


Öfters ausführen
 
Ok habe das Lotto Programm gemacht und jedes mal wenn man auf hziehunmg drückt vergleicht er die geschriebenen zahlen mit den Zufälligen und ich mcöhte das wenn man die zahlen umschreibt und dannn auf den button drückt neu vergleicht.
Delphi-Quellcode:
it Unit1;

interface

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

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Edit7: TEdit;
    Edit8: TEdit;
    Edit9: TEdit;
    Edit10: TEdit;
    Edit11: TEdit;
    Edit12: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
   a,b,c,d,e,f :integer;
   richtige: integer;
   falsche: integer;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
randomize;
repeat
  a:= random (46);
  b:= random (46);
  c:= random (46);
  d:= random (46);
  e:= random (46);
  f:= random (46);

until(a<>b) and (a<>c) and (a<>d) and (a<>e)
 and (a<>f) and (b<>c) and (b<>d) and (b<>e)
 and (b<>f) and (c<>d) and (c<>e) and (c<>f)
 and (d<>e) and (d<>f) and (e<>f);

edit1.Text := inttostr (a+1);
edit2.Text := inttostr (b+1);
edit3.Text := inttostr (c+1);
edit4.Text := inttostr (d+1);
edit5.Text := inttostr (e+1);
edit6.Text := inttostr (f+1);

richtige :=0;
if StrToInt( edit1.text) = StrToInt( edit7.text) then inc (richtige);
if StrToInt( Edit2.text) = StrToInt( Edit8.text) then inc (richtige);
if StrToInt( Edit3.text) = StrToInt( Edit9.text) then inc (richtige);
if StrToInt( Edit4.text) = StrToInt( Edit10.text) then inc (richtige);
if StrToInt( Edit5.text) = StrToInt( Edit11.text) then inc (richtige);
if StrToInt( Edit6.text) = StrToInt( Edit12.text) then inc (richtige);

if richtige = 6 then showmessage ('Sie haben Gewonnen');

falsche :=0;
if StrToInt( Edit1.text) <> StrToInt( Edit7.text) then inc (falsche);
if StrToInt( Edit2.text) <> StrToInt( Edit8.text) then inc (falsche);
if StrToInt( Edit3.text) <> StrToInt( Edit9.text) then inc (falsche);
if StrToInt( Edit4.text) <> StrToInt( Edit10.text) then inc (falsche);
if StrToInt( Edit5.text) <> StrToInt( Edit11.text) then inc (falsche);
if StrToInt( Edit6.text) <> StrToInt( Edit12.text) then inc (falsche);

if falsche =6 then showmessage ('Sie haben leider verloren');

end;

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

procedure TForm1.Button3Click(Sender: TObject);
begin
edit1.clear;
edit2.clear;
edit3.clear;
edit4.clear;
edit5.clear;
edit6.clear;
edit7.clear;
edit8.clear;
edit9.clear;
edit10.clear;
edit11.clear;
edit12.clear;
end;

end

Die Muhkuh 19. Dez 2007 18:03

Re: Öfters ausführen
 
Und wo ist Dein Problem?

DeddyH 19. Dez 2007 18:04

Re: Öfters ausführen
 
Das allgemeine Verständnis evtl.? Wieso eigentlich 3 Threads?

ScrollbarKopf 19. Dez 2007 18:06

Re: Öfters ausführen
 
Das Proplem ist das ich nciht weiß was ich tun muss um Die zahlen nochmals zu vergleichen weil wenn ich mit repeat arbeite dann komemn ja wieder anderwe zahlen

Weil alle 3 Threads unterschiedlcihe Them,en sind.

Die Muhkuh 19. Dez 2007 18:07

Re: Öfters ausführen
 
Achte mal ein bisschen auf Deine Rechtschreibung, bitte... ;-)

Wegen dem Vergleichen: Die Zahlen, die Du ziehst, speicherst Du Dir ab (entweder pro Zahl eine Variable oder viel schöner: Ein Array of Integer) und beim nächsten ziehen vergleichst Du die alten mit den neuen.

ScrollbarKopf 19. Dez 2007 18:12

Re: Öfters ausführen
 
ja aber soll ja nicht die alten zahlen mit den neuen vergleichen sondern wenn man neue zahlen hinein schreibt und auf ziehung drückt sagen ob sie richtig sind oder net

DeddyH 19. Dez 2007 18:14

Re: Öfters ausführen
 
Mach Dir doch mal nen Struktogramm, bevor Du Deinen Source änderst.

Die Muhkuh 19. Dez 2007 18:14

Re: Öfters ausführen
 
Ich kann Dir nicht ganz folgen? :gruebel:

Das machst Du doch schon? Zahlen reinschreiben und schauen ob es passt.

ScrollbarKopf 19. Dez 2007 18:17

Re: Öfters ausführen
 
Ja aber wenn man dan auf ziehung drückt verglecht er die zahlen das past .
Mein proplem ist das wenn man die zahlen umschreibt und auf ziehung drückt sagt er nciht ob richtig oda falsch

ScrollbarKopf 19. Dez 2007 18:19

Re: Öfters ausführen
 
BAst schon habe das proplem gefunden. Trotzdem danke


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:29 Uhr.

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