[Delphi] Wielowymiarowa tablica dynamiczna

0
procedure wczytaj;
var 
  i:integer;
  TablicaK :  array of String;
begin
 assignfile(ZapiszK,'klub.dat');
  {$I-}
  reset(ZapiszK);
  {$I+}
  setlength(TablicaK,filesize(ZapiszK));
    i:=0;
     while not eof(ZapiszK) do
     begin
     read(ZapiszK,k);
     TablicaK[i] := k.nazwa;
     i:=i+1;
   end;
   closefile(ZapiszK);
end;

To wyzej jest oki ale nie radze sobie z tym :

 
TablicaK :  array of array of String;
 

powstaje Tablica[i][j] teraz jak pod i podstawic k.nazwa a pod j k.imie...
Nieznalazlem nigdzie podobnego przykladu wiec pisze na forum :)
W razie pytan jestem na gg:2718965

0

za bardzo nie wiem z czym masz problem, jeśli z ustaleniem adresu to możesz to zrobić tak:

SetLength(tab, 10. 20);

albo tak

SetLength(Tab, 10);
for i := 0 to 9 do
  SetLength(Tab[i], 20);

oba działają i oba są poprawne, z tym że pierwszy zmienia rozmiar każdego wiersza na taki sam, a w drugim każdemu wierszowi możesz nadać inny rozmiar.
Potem odwołujesz się tak jak do zwykłej tablicy, czyli

Tab[0, 0] := 'a';
Tab[0, 1] := 'b';
//itd

EDIT
chyba zakumałem o co Ci chodzi :)
Masz złe wyobrażenie - jak masz tablicę [1..10][1..10] to ona nie ma 20 komórek tylko 100. Dla Twojego przykładu trzeba by coś takiego

procedure wczytaj;
var 
  i:integer;
  TablicaK :  array[1..2] of array of String;
begin
 assignfile(ZapiszK,'klub.dat');
  {$I-}
  reset(ZapiszK);
  {$I+}
  setlength(TablicaK[1],filesize(ZapiszK));
  setlength(TablicaK[2],filesize(ZapiszK));
    i:=0;
     while not eof(ZapiszK) do
     begin
     read(ZapiszK,k);
     TablicaK[1, i] := k.nazwa;
     TablicaK[2, i] := k.imie;
     i:=i+1;
   end;
   closefile(ZapiszK);
end;
0

Dzieki smiga :) Dzisiaj sam bym do tego nie doszedl...
array[1..2] of array of String; - pierwszy raz sie z takim czyms spotykam:) a przerobilem tablice...
Musze popracowac nad kreatywnoscia :)

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