Re: Inkompatible Typen
Zitat:
|
Re: Inkompatible Typen
Zitat:
|
Re: Inkompatible Typen
Danke Mackhack für dein Posting, aber leider geht das so nich, denn ich bekomm 3 Fehler.
Nach dem then kommt die Meldung "erwartet aber THEN gefunden"
Code:
Dann nach dem RICHTIG; kommt die Meldung "Inkompatible Typen:'Integer und procedure untyped pointer or untyped parameter'"
begin
MinWert := Tipp[I - 1]; if ( Tipp[I - 1] > MaxWert then
Code:
Und der letzte Fehler ist, die bei der Procedure wird gesagt: Anweisung erwartet aber Procedure gefunden
begin
Richtig := Inc(Richtig);
Code:
danke für eure Mühen
procedure TForm1.Button2Click(Sender: TObject);
begin Close; end; |
Re: Inkompatible Typen
Delphi-Quellcode:
Hast die Klammer vergessen
if ( Tipp[I - 1] > MaxWert) then
Delphi-Quellcode:
Reicht aus, ist ne Prozedur
inc(Richtig);
Vor dem letzten fehlt wahrscheinlich irgendwo ein "end;" |
Re: Inkompatible Typen
@greenkohl23: Könntest du künftig bitte die delphi-tags anstelle der code-tags verwenden wenn du delphi-quelltext postest? Das lässt sich einfach besser lesen. Danke :)
|
Re: Inkompatible Typen
So hab den Code mal eben in Delphi ueberarbeitet.
Es kann zumindest compiliert werden. |
Re: Inkompatible Typen
Hi, die oben genannten Probs sind nu alle erledigt aber ein altes Problem is immer noch vorhanden.
Zitat:
Hier nochmal das gesamte:
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 begin MinWert := Tipp[I - 1]; if ( Tipp[I - 1] > MaxWert) then begin MaxWert := Tipp[I - 1]; end; if ( (MinWert < 1) or (MaxWert > 49) ) then begin ShowMessage('Ungültige Eingabe...'); end else begin Ziehung[1] := 1 + Random(49); Anzahl:=2; Repeat Zahl := 1 + Random(49); Nummern := 1; Vorhanden := False; Repeat if ( Zahl <> Ziehung[Nummern] ) then begin Nummern := Nummern + 1; end else begin Vorhanden := True; end; 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 begin for Anzahl := 1 to 6 do begin if ( Ziehung[Nummern] = Tipp[Anzahl] ) then begin Inc(Richtig); if ( Richtig < 2 ) then begin Kommentar.Caption := 'Miserable Leistung'; end; if ( Richtig = 2 ) then begin Kommentar.Caption := 'Naja wenigstens etwas!'; end; if ( Richtig > 2 ) then begin Kommentar.Caption := 'Du kommst dem Ziel näher..'; end; if ( Richtig > 4 ) then begin Kommentar.Caption := 'Ich denke das kann was werden bei dir!!!'; end; if ( Richtig = 6 ) then begin Kommentar.Caption := 'Du hast alle übertroffen die Million is dein!!'; end; end; end; Richtige.Text := FloatToStr(Richtig); Kommentar.Visible := True; end; end; end; 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. |
Re: Inkompatible Typen
na keiner mehr ne Idee?
|
Re: Inkompatible Typen
Habe in Deinem Code mal etwas rumeditiert.
Delphi-Quellcode:
nicht getestet!!
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 Tipp[0] ist in Deinem Array nicht definiert if ((Tipp[i] < MinWert) and (Tipp[i] > MaxWert)) then // bewegt sich der Tipp ausserhalb der Grenzen //(würde ich schon bei der Eingabe abfangen wollen begin ShowMessage('Ungültige Eingabe...'); break; end else begin Ziehung[1] := 1 + Random(49); Anzahl:=2; Repeat Zahl := 1 + Random(49); Nummern := 1; Vorhanden := False; Repeat if ( Zahl <> Ziehung[Nummern] ) then begin Nummern := Nummern + 1; end else begin Vorhanden := True; end; 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 begin for Anzahl := 1 to 6 do begin if ( Ziehung[Nummern] = Tipp[Anzahl] ) then Inc(Richtig); end; if ( Richtig < 2 ) then begin Kommentar.Caption := 'Miserable Leistung'; end; if ( Richtig = 2 ) then begin Kommentar.Caption := 'Naja wenigstens etwas!'; end; if ( Richtig > 2 ) then begin Kommentar.Caption := 'Du kommst dem Ziel näher..'; end; if ( Richtig > 4 ) then begin Kommentar.Caption := 'Ich denke das kann was werden bei dir!!!'; end; if ( Richtig = 6 ) then begin Kommentar.Caption := 'Du hast alle übertroffen die Million is dein!!'; end; end; end; Richtige.Text := FloatToStr(Richtig); Kommentar.Visible := True; end; end; end; Grüße Klaus |
Re: Inkompatible Typen
Danke für deinen Tipp, aber wenn ich das mache dann macht er einfach gar nix mehr. Vllt haste ja noch nen Tipp für mich freu mich über alles!!!
mfg greenkohl23 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:09 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