ďťż

Ładny brzuch

Dlaczego jak mam zmienną typu ShortInt jak wsadzę do CASE () OF i jako argumenty podaję nazwy stałych typu ShortInt to wywala błąd? Chodzi mi oto, że poprzes coś takiego można zrobić kod czytelniejszym.

var  ZmiennaTypuShortInt : ShortInt = 0; ... const  Argument1 : ShortInt = -1;  Argument2 : ShortInt = 0; ...  case (ZmiennaTypuShortInt) of    Argument1 : //Błąd: Constant expression expected    begin      PROCEDURA;    end;    Argument2 : //Błąd: Constant expression expected    begin      PROCEDURA;    end;    1 : // tak niema błędu    begin      PROCEDURA;    end;  end;
Nazwa błędu jest w kodzie powyżej. Błąd jest w tych linijkach, gdzie go napisałem.



Chodzi dokładnie o to, co jest napisane w wiadomości o błędzie: nie możesz w tym miejscu podać zmiennej (ogólniej: nie możesz podać wyrażenia), musi to być wyrażenie stałe (zwykle: jakaś stała). Taka już jest składnia Pascala...



Inaczej (na czas chyba zmieniłem treśc) :D

Możesz dać tak:

const a = 1; b = 2; var x: integer; begin case x of a: begin   {bla bla}    end; b: begin  {bla bla}    end; end;
Użytkownik p1101 edytował ten post 27 październik 2005, 19:01


To na jakiej zasadzie wie, że ma być argument1 a nie argument2 skoro nie porównuje?

//A ja tak niezrobiłem? Bo niewidze różnicy pomiędzy moim kodem, a twoim poza tym, że ja dodałem typy przy stałych.
Użytkownik mariuszlorenc edytował ten post 27 październik 2005, 19:01

poza tym, że ja dodałem typy przy stałych.


//A ja tak niezrobiłem? Bo niewidze różnicy pomiędzy moim kodem, a twoim poza tym, że ja dodałem typy przy stałych.


i na 99% tu jest blad ;)
BTW - case to nie petla :)

nie mam pojęcia może sie zakochałeś w dziewczynie starszej o kilka lat a ona w tobie i teraz nie wie jak to powiedzieć swojemu narzeczonemu, że to już koniec... że kocham tylko mariuszlorenc`a
a tak naprawde to nie wiem o czym myslałeś, wogóle to było pytanie ?
nie ważne i tak masz :rozga:
fajna fotka


Nie wnikam, ale przecież jest:
const  Argument1 : ShortInt = -1; Argument2 : ShortInt = 0;:P


A ja tak niezrobiłem? Bo niewidze różnicy pomiędzy moim kodem, a twoim poza tym, że ja dodałem typy przy stałych.
I właśnie to dodanie typu powoduje, że taką "stałą" można zmienić - a tego case nie przełknie.


Nie wiem czy wogule coś takiego istnieje jak;  ShortInt o  Shortstring słyszałem ale  ShortInt ????
Jasne, że istnieje. Zapraszam do helpa B)


Nie wiem czy wogule coś takiego istnieje jak;  ShortInt o  Shortstring słyszałem ale  ShortInt ????

Do Migajek: Spotakłem się już z tym, że instrukcja Case jest nazywana także pętlą.
ShortInt: -2^15 .. 2^15-1


ShortInt: -2^15 .. 2^15-1
Nie SmallInt tylko ShortInt B)

Czyli -2^7 .. 2^7-1


Nie wiem czy wogule coś takiego istnieje jak;  ShortInt o  Shortstring słyszałem ale  ShortInt ????

Do Migajek: Spotakłem się już z tym, że instrukcja Case jest nazywana także pętlą.

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •