Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Lottoprogramm


Prophet- - Mo 05.01.09 17:44
Titel: Lottoprogramm
Hi Communitiy, ich wollte ein Lottoprogramm schreiben und habe dabei ein Problem bei der Überprüfung der getippten Zahlen mit den Lottozaheln. Hier mal mein Quelltext:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    ListBox1: TListBox;
    ListBox2: TListBox;
    Button2: TButton;
    Button3: TButton;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  lottozahlen:array[1..6of integer;
  getipptezahlen:array[1..6of integer;
  n:integer;
implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var a,i:integer;
begin
a:=strtoint(edit1.text);
n:=n+1;
if n<7 then begin
            getipptezahlen[n]:=a;
            listbox2.items.add(inttostr(getipptezahlen[n]));
            end
            else showmessage('Nur 6 Zahlen können getippt werden');
edit1.clear;
end;

procedure TForm1.Button2Click(Sender: TObject);
var i:integer;
begin
listbox1.clear;
for i:=1 to 6 do
listbox1.items.add(inttostr(random(48)+1));
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
n:=0;
randomize;
end;

procedure TForm1.Button3Click(Sender: TObject);
var i,j,o:integer;
begin
for i:=1 to 6 do
    for j:=1 to 6 do
    if lottozahlen[i]=getipptezahlen[j] then o:=o+1;
label1.caption:='Sie haben ' + inttostr(o) + ' Richtige!';
end;

end.
Könnt ihr mir weiterhelfen?

Moderiert von user profile iconNarses: Quote- durch Delphi-Tags ersetzt


platzwart - Mo 05.01.09 17:46

Bitte setz das in Delphi-Tags, sonst ist das total unleserlich, thx ;)


jaenicke - Mo 05.01.09 17:47
Titel: Re: Lottoprogramm
user profile iconProphet- hat folgendes geschrieben Zum zitierten Posting springen:
Hi Communitiy, ich wollte ein Lottoprogramm schreiben und habe dabei ein Problem bei der Überprüfung der getippten Zahlen mit den Lottozaheln.
Inwiefern? Funktioniert es nicht wie es soll? Kommt eine Fehlermeldung? Wenn ja, welche? Wenn nein, was ist sonst das Problem? :nixweiss:


Prophet- - Mo 05.01.09 19:32

Sry musste schnell weg, es kommt immer, dass keine Zahl übereinstimmt, obwohl ich das ja manuell überprüfen kann, da ich die eingetippten Zahlen und die Lottozahlen in einer Listbox sehe. Also denke ich dass irgendwas mit der Überprüfung der eingetippten Zahlen mit den Lottozaheln nicht stimmen kann.


Oreaden - Mo 05.01.09 19:37

Hallo Prophet,

bei diesem Beruf solltest Du eigentlich die Lösung kennen und welche Probleme wir bei der Interpretation deiner Codes und Posts haben. Wäre es z. B. möglich die Ereignisse zu benennen, da man ansonsten nur raten kann welche Funktion diese begleiten sollten. Ich hole auch mal die Kristallkugel heraus und die sagt mir, daß du im Ereignis2 vergessen hast deine Lottozahlen zu setzen.

Schöne Grüße
OREADEN


Prophet- - Mo 05.01.09 21:12

Hast recht DANKE


Garf - Di 06.01.09 02:09

user profile iconProphet- hat folgendes geschrieben Zum zitierten Posting springen:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
procedure TForm1.Button1Click(Sender: TObject);
var a,i:integer;
begin
a:=strtoint(edit1.text);
n:=n+1;
if n<7 then begin
            getipptezahlen[n]:=a;
            listbox2.items.add(inttostr(getipptezahlen[n]));
            end
            else showmessage('Nur 6 Zahlen können getippt werden');
edit1.clear;
end;

Hier wird etwas in das Array getipptezahlen und die listbox2 eingetragen.

user profile iconProphet- hat folgendes geschrieben Zum zitierten Posting springen:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TForm1.Button2Click(Sender: TObject);
var i:integer;
begin
listbox1.clear;
for i:=1 to 6 do
listbox1.items.add(inttostr(random(48)+1));
end;

Hier werden Zufallszahlen in listbox1 eingetragen.

user profile iconProphet- hat folgendes geschrieben Zum zitierten Posting springen:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
procedure TForm1.Button3Click(Sender: TObject);
var i,j,o:integer;
begin
for i:=1 to 6 do
    for j:=1 to 6 do
    if lottozahlen[i]=getipptezahlen[j] then o:=o+1;
label1.caption:='Sie haben ' + inttostr(o) + ' Richtige!';
end;

Hier werden die Arrays lottozahlen und getipptezahlen verglichen. In das Array lotttozahlen wurde aber nichts eingetragen.


jaenicke - Di 06.01.09 02:13

user profile iconGarf hat folgendes geschrieben Zum zitierten Posting springen:
Hier werden die Arrays lottozahlen und getipptezahlen verglichen. In das Array lotttozahlen wurde aber nichts eingetragen.
Das wurde doch schon gesagt, und damit war das Problem doch gelöst. ;-) Oder hast du das anders verstanden? :gruebel:
user profile iconOreaden hat folgendes geschrieben Zum zitierten Posting springen:
Ich hole auch mal die Kristallkugel heraus und die sagt mir, daß du im Ereignis2 vergessen hast deine Lottozahlen zu setzen.
user profile iconProphet- hat folgendes geschrieben Zum zitierten Posting springen:
Hast recht DANKE