Case of w pętli + zmienna

0

Witam powie mi ktos jak mniej więcej zrobić taki kod aby działał?

for z:= 1 to 13 do
begin

case tablicalicz[0] of
z: jakasinstrukcja;



0

Poczytaj http://4programmers.net/Delphi/Case - przy case wartośc zakresów zmiennej musi być stałą. Możesz dać case Tablicalicz[0] of 1..13 :

0

Tylko tu nie chodzi o tablice, tylko o to, żeby dać w pętli case, konkretniej o
for Z:1 to 10 do
Z:asdasd
wykona się to 10 razy czyli od 1 do 10 byłby takie same funkcje, ale przy z:asdasd wywala mi bład.

0

Witam powie mi ktos jak mniej więcej zrobić taki kod aby działał?

Co chcesz tym kodem osiągnąć? Tak się nie robi.

0
Nitro Cee napisał(a)

Tylko tu nie chodzi o tablice, tylko o to, żeby dać w pętli case, konkretniej o
for Z:1 to 10 do
Z:asdasd
wykona się to 10 razy czyli od 1 do 10 byłby takie same funkcje, ale przy z:asdasd wywala mi bład.

olesio napisał(a)

Poczytaj http://4programmers.net/Delphi/Case - przy case wartośc zakresów zmiennej musi być stałą.

czego nie zrozumiałeś w wyczerpującej temat odpowiedzi olesia?

0

for z:= 1 to 13 do
begin
 
case tablicalicz[0] of
zmienna: BUTON[zmienna] := text.

CO W TAKIM RAZIE DA MI ZMIENIENIE TABLICY NA STAłA SKORO TO NIE W TYM BŁAD :?

0

To odpowiedz mogłabyć, prosta - nie da się.

for z := 1 to 13 do
begin
inc(y);
y := y + 1;
case tablicalicz[0] of
y:
   begin
kod
end;

y to stała i nie działa więc nie wprowadzaj w błąd :P

0

Takim, że jest mozliwosc edytowania stałych.

0

Dobra, Ty wiesz swoje - my wiemy swoje. Może masz pewnie przez siebie napisane Delphi gdzie stała to, to samo co zmienna. Niby jakim cudem taki kod się Tobie skompiluje? Ale rób sobie po swojemu, może cudem wyjdzie Tobie case w którego zakresie mogą być zmienne. Jak napiszesz własny kompilator to pewnie w nim się będzie dało robić to co jest niezgodne z logika i składnią oryginalnego kompilatora Object Pascala i Pascala w ogóle, a i w innych językach stała to też jest stała, ale mogę się mylić.

const
  Y = 1;
begin
  Inc(Y);
end;
0

{$J+} const ASDASDASD {$J-}

0

Nie doczytałeś helpa:

In the {$J+} state, typed constants can be modified, and are in essence initialized variables.

I dlatego nie można ich stosować w instrukcji case.
Jeżeli w warunkach chcesz używać zmiennych to musisz zastosować instrukcję if.

0

Nawet jak stałą jest zwykłą stałą to i tak wywala bład, musi być tam zwykła liczba nie moze być stała.

0

Nawet jak stałą jest zwykłą stałą to i tak wywala bład, musi być tam zwykła liczba nie moze być stała.

Może być, tylko musi być to stała prosta. Nie może być element tablicy, nawet jeśli tablica jest stała i indeks elementu jest stały.

0
Nitro Cee napisał(a)

{$J+} const ASDASDASD {$J-}

pytasz o totalne podstawy, nie rozumiesz (nie czytasz?) odpowiedzi, a potem rzucasz się o coś, czego też nie rozumiesz. ja pier... stary, przyszedłeś tu szukać pomocy, czy udowadniać nam, że nie mamy racji?

0

Jaki jest sens tego? Jeżeli to jest w pętli, a warunkiem jest z, to ten kod sprawdza czy tablicalicz[0] jest równa z. Jeżeli tak to robi coś, jeżeli nie to nie.
Nie można po prostu tak?

for z := 1 to 13 do
  if Tablica[0] = z then ...
0

Problem już dawno rozwiązany...
Co do tych stałuych i tablicy, działa mi normalnie na tej tablicy, więc nie wiem czemu doszkujesz się błedu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1