Dynamiczny wybór zmiennej

Odpowiedz Nowy wątek
2011-08-04 00:32
MaOk
0

Witam!

Mam chyba dziwne pytanie odnośnie Delphi.

W PHP da się tak zrobić, jeśli mnie pamięć nie myli, ale w Delphi - nie mam pojęcia.
Chodzi mianowicie o wywołanie zmiennej zmienną. Zagmatwane, ale już tłumaczę.

Mam stworzone tablice (Row1-9), a w nich 9 wartości. Chciałbym, zamiast robić 9 pętli dla każdej stworzyć pętlę w pętli, która wykona mi operację.

Łopatologicznie tak:

for i:=1 to 9 do
for j:=1 to 9 do
begin
if Row(i)[j]=1 then blablabla

Nie robiłem tego na dwuwymiarowej, bo mi to nie na rękę (niewygodnie się myśli i patrzy), a do tego nie mam ochoty przepisywać 81 pozycji x 3.

Z góry dziękuję za pomoc.

Pozostało 580 znaków

2011-08-04 00:41
0

A nie prościej zrobić tablicę z tych Row1-9?
Jest rozwiązanie ale jest ono wolne i skomplikowane tak że używałem tego może z dwa razy w życiu więc jeśli znajdziesz dobry powód to pokaże jak to zrobić...


Nie pisz do mnie PM o czymś co nie dotyczy bezpośrednio mnie. | Nie rozmawiaj ze mną jeśli brak Ci kultury (wystarczy że mi brakuje) | Nie jestem zły, jestem po prostu zły.

Pozostało 580 znaków

2011-08-04 00:42
0

co to jest Row???


- Ciemna druga strona jest.
- Nie marudź Yoda, tylko jedz tego tosta.
Google NIE GRYZIE!
Pomogłem - kliknij
Z tego co wiem - nic, po prostu on chce zrobić tablicę bez używania tablicy ;D . - payl 2011-08-04 00:43

Pozostało 580 znaków

2011-08-04 00:44
0

niewygodnie się myśli i patrzy
co to znaczy niewygodnie? może ci pomoże, że w Delphi taki zapis

var tab:array[1..9,1..9] of integer;

jest równoważny temu

var tab:array[1..9] of array[1..9] of integer;

więc w przypadku tablicy 2-wymiarowej zamiast Row[i,j] możesz pisać Row[i][j].

edytowany 2x, ostatnio: Azarien, 2011-08-04 00:47

Pozostało 580 znaków

2011-08-04 00:49
MaOk
0

Row to rząd. Mam taką swoją, dziwną tablicę dwuwymiarową. Tabela 9x9 z identyfikatorami pól tekstowych.

Pozostało 580 znaków

2011-08-04 00:53
MaOk
0

Ach, i popełniłem błąd w tłumaczeniu.
Row1, Row2, Row3 itd. to stałe.

Row1: array[1..9] of String =
  ('Edit1','Edit2','Edit3','Edit4','Edit5','Edit6','Edit7','Edit8','Edit9');

Czyli mógłbym z nich zrobić jeszcze tablice? A jak zdeklarować te wartości?

Pozostało 580 znaków

2011-08-04 00:56
0
Row:array[1..9,1..9] of string=(('Edit1','Edit2',...),('Edit21','Edit22',...),...);

Przynajmniej tak zrozumiałem


Nie pisz do mnie PM o czymś co nie dotyczy bezpośrednio mnie. | Nie rozmawiaj ze mną jeśli brak Ci kultury (wystarczy że mi brakuje) | Nie jestem zły, jestem po prostu zły.

Pozostało 580 znaków

2011-08-04 01:17
MaOk
0

Bez większej ingerencji w program. Działa! Dzięki.

Row[i,j]

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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