Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Finde den Fehler nicht Delphi sagt ausdruckstyp muss Boolean sein (https://www.delphipraxis.net/159459-finde-den-fehler-nicht-delphi-sagt-ausdruckstyp-muss-boolean-sein.html)

Phreaak 29. Mär 2011 10:01

Finde den Fehler nicht Delphi sagt ausdruckstyp muss Boolean sein
 
Hallo ich bin sehr neu hier und auch in Delphi bin ich ein totaler anfänger

Als Hausaufgabe müssen wir ein programm schreiben nur komm ich nicht weiter ich finde den fehler nicht

so hier ist der Quelltext Delphi sagt der Ausdruckstyp muss Boolean sein :?
Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    e_anzahl: TEdit;
    RadioButton1: TRadioButton;
    Label1: TLabel;
    RadioGroup1: TRadioGroup;
    Label2: TLabel;
    Panel1: TPanel;
    p_einzel: TPanel;
    Button2: TButton;
    Panel2: TPanel;
    p_gesamt: TPanel;
    procedure eingabe;
    procedure einzelpreisausgabe;
    procedure gesamtpreisausgabe;
    function f_einzel:double;
    function f_gesamt:double;
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  einzel,gesamt,anzahl:double;
implementation
  const
  kinder=5;
  erwachsen=10;
  Senioren=7;
  Sauna=5;
{$R *.dfm}


  procedure Tform1.eingabe;
  begin
  anzahl:=strtofloat(form1.e_anzahl.Text);
  end;

  function Tform1.f_einzel:double;
   begin
   if (radiobutton1.Checked:=false) then
begin
  case radiogroup1.ItemIndex of
  -1:showmessage('bitte etwas auswählen');
  0:begin
      einzel:=kinder*anzahl;
      end;
  1:begin
      einzel:=erwachsen*anzahl;
      end;
  2:begin
      einzel:=senioren*anzahl;
      end;
    end;
end
else begin
 case radiogroup1.ItemIndex of
  -1:showmessage('bitte etwas auswählen');
  0:begin
      einzel:=kinder*anzahl+sauna;
      end;
  1:begin
      einzel:=erwachsen*anzahl+sauna;
      end;
  2:begin
      einzel:=senioren*anzahl+sauna;
      end;
    end;
end;
   end;


function Tform1.f_gesamt:double;
begin
gesamt:=einzel;

end;

procedure Tform1.einzelpreisausgabe;
begin
  p_einzel:=floattostr(f_einzel);
end;
procedure Tform1.gesamtpreisausgabe;
begin
  p_gesamt:=floattostr(f_gesamt);
end;
end.
Fals es noch Sachen gibt die ich besser machen kann könntet ihr mir die bitte sagen

WM_CLOSE 29. Mär 2011 10:05

AW: Finde den Fehler nicht Delphi sagt ausdruckstyp muss Boolean sein
 
Delphi-Quellcode:
if (radiobutton1.Checked:=false) then
ist eine Zuweisung, aber du willst eigentlich einen Vergleich:
Delphi-Quellcode:
if (radiobutton1.Checked=false) then
Besser ist aber das:
Delphi-Quellcode:
if (not (radiobutton1.Checked)) then
Denn Checked ist schon ein Boolean.

jfheins 29. Mär 2011 10:07

AW: Finde den Fehler nicht Delphi sagt ausdruckstyp muss Boolean sein
 
Delphi-Quellcode:
  if (radiobutton1.Checked:=false) then
Mit := wird immer eine Zuweisung gemacht. Eine Zuweisung hat aber kein Ergebnis (die if-Abfrage benötigt aber einen Wert)
Besser:
Delphi-Quellcode:
  if (not radiobutton1.Checked) then

Phreaak 29. Mär 2011 10:18

AW: Finde den Fehler nicht Delphi sagt ausdruckstyp muss Boolean sein
 
aah vielen dank :D

Luckie 29. Mär 2011 10:19

AW: Finde den Fehler nicht Delphi sagt ausdruckstyp muss Boolean sein
 
Mal eine Frage aus reinem Interesse. Wie lange hast du dich mit dem Fehler beschäftigt?

Phreaak 29. Mär 2011 10:27

AW: Finde den Fehler nicht Delphi sagt ausdruckstyp muss Boolean sein
 
ich hab das programm heute morgen geschrieben so um 8 dann jetzt seit 11/2 stunden such ich den fehler
Daanke :D

Luckie 29. Mär 2011 10:35

AW: Finde den Fehler nicht Delphi sagt ausdruckstyp muss Boolean sein
 
Für die Zukunft: Die Fehlermeldung besagt, dass an der Stelle ein Ausdruck (z.B. ein Vergleich oder eine Funktion) erwartet wird, der einen Wahrheitswert zurückgibt, der aber nicht gefunden wurde.

Phreaak 29. Mär 2011 10:40

AW: Finde den Fehler nicht Delphi sagt ausdruckstyp muss Boolean sein
 
ok vielen Dank :D


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:46 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