Einzelnen Beitrag anzeigen

greenkohl23

Registriert seit: 7. Mai 2007
12 Beiträge
 
#6

Re: Inkompatible Typen

  Alt 8. Mai 2007, 00:22
ich poste euch einfach mal den kompletten quelltext.

Delphi-Quellcode:
unit Unit1;

interface

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

type
TForm1 = class(TForm)
       Label1: TLabel;
      Button1: TButton;
      zahl1: TEdit;
      zahl2: TEdit;
      zahl3: TEdit;
      zahl4: TEdit;
      zahl5: TEdit;
      zahl6: TEdit;
      Richtige: TEdit;
      Label2: TLabel;
      Label3: TLabel;
      Kommentar: TLabel;
      Tipp1: TEdit;
      Tipp2: TEdit;
      Tipp3: TEdit;
      Tipp4: TEdit;
      Tipp5: TEdit;
      Tipp6: TEdit;
      Neu: TButton;
    Label4: TLabel;

procedure Button1Click(Sender: TObject);
procedure Tipp1Change(Sender: TObject);
procedure Button2Click(Sender: TObject);
    procedure NeuClick(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;

var
Form1: TForm1;

implementation
{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);

Var ziehung,Tipp : Array[1..6] of Extended;
Anzahl,Nummern :Integer;
Zahl : extended;
richtig: Integer;
vorhanden : boolean;
Visible: Boolean;
i : integer;
minWert, maxWert:extended;

begin
minWert:=1;
maxWert:=49;
for i:=1 to Length(Tipp) do
  begin
  if Tipp[i-1]<minWert then minWert:=Tipp[i-1];
  if Tipp[i-1]>maxWert then maxWert:=Tipp[i-1];
  end;
if (minWert<1) or (maxWert>49) then showmessage('Ungüueltige Eingabe...') else
begin
ziehung[1]:= 1+random(49);
Anzahl:=2;
Repeat
Zahl:= 1+random(49);
Nummern:=1;
vorhanden:=false;
Repeat
If Zahl <> ziehung[Nummern] then
Nummern:=Nummern+1 else vorhanden:=true;
Until (Anzahl=Nummern) or vorhanden;
If not vorhanden then
Begin
ziehung[Anzahl]:=Zahl;
Anzahl:=Anzahl+1;
end;

Until Anzahl > 6;
zahl1.text:=Floattostr(ziehung[1]);
zahl2.text:=Floattostr(ziehung[2]);
zahl3.text:=Floattostr(ziehung[3]);
zahl4.text:=Floattostr(ziehung[4]);
zahl5.text:=Floattostr(ziehung[5]);
zahl6.text:=Floattostr(ziehung[6]);
Tipp[1]:=Strtofloat(Tipp1.text);
Tipp[2]:=Strtofloat(Tipp2.text);
Tipp[3]:=Strtofloat(Tipp3.text);
Tipp[4]:=Strtofloat(Tipp4.text);
Tipp[5]:=Strtofloat(Tipp5.text);
Tipp[6]:=Strtofloat(Tipp6.text);
richtig:=0;
For Nummern:=1 to 6 do
For Anzahl:=1 to 6 do
If ziehung[Nummern] = Tipp[Anzahl] then
richtig:=richtig + 1;
If richtig < 2 then Kommentar.caption:='Miserable Leistung';
If richtig = 2 then Kommentar.caption:='Naja wenigstens etwas!';
If richtig > 2 then Kommentar.caption:='Du kommst dem Ziel näher..';
If richtig > 4 then Kommentar.caption:='Ich denke das kann was werden bei dir!!!';
If richtig = 6 then Kommentar.caption:='Du hast alle übertroffen die Million is dein!!';
Richtige.text:=Floattostr(richtig);
Kommentar.Visible:=true;
end;
end;

procedure TForm1.Tipp1Change(Sender: TObject);
begin
Kommentar.Visible:=false;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
close
end;
procedure TForm1.NeuClick(Sender: TObject);
begin
zahl1.text:='';
zahl2.text:='';
zahl3.text:='';
zahl4.text:='';
zahl5.text:='';
zahl6.text:='';
Tipp1.text:='';
Tipp2.text:='';
Tipp3.text:='';
Tipp4.text:='';
Tipp5.text:='';
Tipp6.text:='';
Richtige.Text:='';
Kommentar.Visible:=false;
end;

end.
Das is ja schon mal ganz gut, nur das er jetzt auch richtige Werte als ungültige Eingabe erkennt und nicht weiter geht. Wo liegt jetzt der Fehler, denn Werte zwischen 1-49 sollte er als richtig erkenn und nich als falsch.

Bitte nochmals um eure Hilfe.

thx für die schnellen Postings

Danke für eure schnelle hilfe.

[edit=SirThornberry]code-tags durch delphi-tags ersetzt - Mfg, SirThornberry[/edit]
  Mit Zitat antworten Zitat