Avatar billede Max Novice
26. august 2002 - 23:47 Der er 5 kommentarer og
1 løsning

Case statements..

Hej igen..

Hvorfor kan jeg ikke det her?

procedure TForm1.Casey(Y: Integer);
begin
  case Y of
    (SpeedButton1.Top)..(SpeedButton1.Top+SpeedButton1.Height) : LiteBtn1;
    (SpeedButton2.Top)..(SpeedButton2.Top+SpeedButton2.Height) : LiteBtn2;
    (SpeedButton3.Top)..(SpeedButton3.Top+SpeedButton3.Height) : LiteBtn3;
  end else
    ResetAllBtns;
end;

Jeg har læst Object Pascal hjælpen for case-statements, og der står at det skal være simple variable, og siden det hele er Integers, skulle der vel ikke være problemer?

/Mnc
Avatar billede freeall Nybegynder
26. august 2002 - 23:57 #1
Du _SKAL_ bruge konstanter til case-statements. Dvs,
1..5 : LiteBtn5;
Ville være brugbart, men dette her ville ikke:

procedure TForm1.Casey(Y: Integer);
var
  x: integer;
begin
  x := 4;
  case Y of
    x : LiteBtn1;
  end else
    ResetAllBtns;
end;

Så enten brug konstanter, eller også brug if-then-else. Event, i en løkke.
Avatar billede Max Novice
27. august 2002 - 00:01 #2
Ok, tak for hjælpen..
Avatar billede hermandsen Juniormester
27. august 2002 - 00:09 #3
Ikke nok med at du skal bruge konstanter, du skal faktisk også bruge ordinaler... :)
Avatar billede freeall Nybegynder
27. august 2002 - 07:55 #4
Var så lidt;)
Lidt underligt at man skal. Kunne være rart hvis der var lidt mulighed for at gøre som du skrev. Og strings kunne også være rart at få med
Avatar billede hermandsen Juniormester
27. august 2002 - 08:06 #5
>>freeall
Problemet i det ville bare være hvis der var to muligheder:

function Davs(y: Integer);
var
  x, t: Integer;
begin
  x := 5;
  t := x;
  case y of
    x: Result := 'Hestehale';
    y: Result := 'Hestemule';
  end;
end;

Hvad ville resultatet blive? :)
Avatar billede freeall Nybegynder
27. august 2002 - 19:47 #6
Nåja. Klart nok. DOH! :D
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester