BOOLEAN

Tags:    delphi

Det her er sikkert et fuldstændig n00b spørgsmål (men jeg er jo så også en delphi n00b)
hvad vil det sige at [Error] Unit1.pas(31): Type of expression must be BOOLEAN

og hvordan gør jeg den boolean

og er det muligt at sige noget i retning af

procedure TForm1.Button1Click(Sender: TObject);
begin
if radiobutton1.tab:=true
then << her siger den BOOLEAN fejlen
close (eller noget andet)
else showmessage('snydt')

end;



4 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
En kompiler fejl som denne opstår når du forsøger at sammenligne en
variabel med en boolsk værdi (true eller false) og den variabel
du sammenligner med ikke er defineret som boolean.

I dit tilfælde er variablen radiobutton.tab ikke defineret som værende en
boolean (sandsynligvis fordi radiobutton ikke har et "felt" der hedder tab, så vidt jeg husker).

Jeg fornemmer at det du vil vide kan forklares som vist herunder.

procedure XXXX(Sender : Tobject);
begin
if Radiobutton.Checked then // Hvis den er markeret er dette sandt
ShowMessage('Den er checket');
else
ShowMessage('Den er ikke checket');
end;

Radiobutton har et "felt" (property) der hedder Checked som fortæller om
den er "markeret" eller ej.
Da Checked er defineret som en boolsk værdi kan man umiddelbart skrive
som vist ovenfor.

Man kunne også skrive:

if Radiobutton.Checked = true then ......

Håber at dette kan hjælpe dig lidt videre..



Det her er sikkert et fuldstændig n00b spørgsmål (men jeg er jo så også en delphi n00b)
hvad vil det sige at [Error] Unit1.pas(31): Type of expression must be BOOLEAN

og hvordan gør jeg den boolean

og er det muligt at sige noget i retning af

procedure TForm1.Button1Click(Sender: TObject);
begin
if radiobutton1.tab:=true
then << her siger den BOOLEAN fejlen
close (eller noget andet)
else showmessage('snydt')

end;


hej!
must be BOOLEAN, altså udsagnet skal være kompatibelt med typen boolean hvilken kun kan antage 2 værdier...
din egentlige fejl ligger i at du skriver

if radiobutton1.tab := true
then

':=' skal bruges som 'sættes til' altsaa fx. variabel := 3;
når du skal spørge 'lig med?' så er det kun '=' du skal bruge.

procedure TForm1.Button1Click(Sender: TObject);
begin
if radiobutton1.tab=true
then
close (eller noget andet)
else showmessage('snydt')

p.s. sikker på at du vil spørge om radiobutton1.tab ? jeg kender ikke den property...

mvh: jakob[Redigeret d. 29/04-03 19:06:29 af Jakob Wilm]



Det her er sikkert et fuldstændig n00b spørgsmål (men jeg er jo så også en delphi n00b)
hvad vil det sige at [Error] Unit1.pas(31): Type of expression must be BOOLEAN

og hvordan gør jeg den boolean

og er det muligt at sige noget i retning af

procedure TForm1.Button1Click(Sender: TObject);
begin
if radiobutton1.tab:=true
then << her siger den BOOLEAN fejlen
close (eller noget andet)
else showmessage('snydt')

end;


Du har ikke forklaret din procedure ordenligt, fordi at ":=" betyder "skal være" og du mener "hvis er", derfor skal du bruge "=" i stedet for som her:

procedure TForm1.Button1Click(Sender: TObject);
begin
if radiobutton1.tab=true
then
close (eller noget andet)
else showmessage('snydt')

end;

nlf :-)



Jeg ved ikke om det hedder tab det var bare et eksempel




t