[delphi] tablice dynamiczne, procedura i przypisanie

0

czesc!
Mam problem. Mam bowiem dwie tablice dynamiczne (sa globalne), sa one typu 'rekordowego' tzn. jej elementami sa rekordy. Chcialbym teraz w pewnej procedurze przypisac rekord z jednej tabeli do nowej pozycji w drugiej. Robie to tak:

1_tablica[i]:=2_tablica[numer];

(nazwy przypadkowe ;) )

Nie wiem czemu ale po wykonaniu tego pola z 1_tablica[i] sa puste :|

probowalem przekazac te tablice do procedury przez const ale nie moge tego zrobci z tablicami dynamicznymi...

PLIZ pomozcie mi :)

0

To dziwne ... a może nie przypisałeś długości tablicy dynamicznej..

Przykład:

type
  TMyRect = record
  k: string[20];
  l: Integer;
end;

var
  MyRect, MyRect2: array of TMyRect;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Setlength(MyRect, 1); // ustalenie wielkości tablicy MyRect
  Setlength(MyRect2, 1); // ustalenie wielkości tablicy MyRect2
  MyRect[0].k := 'tekst'; // przypisanie
  MyRect[0].l := 20;  // przypisanie
  MyRect2[0] := MyRect[0]; // przypisanie wartości do MyRect2[0]
  ShowMessage(MyRect2[0].k); // tekst
end

;

0

Robisz pewnie tak:

var
 t1, t2: array of Trecord;

i procedura

procedure Zmien(t1,t2: array of TRecord)

Zrob tak

type TRecordArray: array of TRecord;

var
 t1,t2: TRecordArray;

i procedura

procedure Zmien(t1,t2: TRecordArray)
0

Panowie zrobilem tak jak radziliscie ale to i tak nie pomaga... Ma ktos jeszcz ejakies pomysly???

Tak jak mowilem, probowalem przekazywac te tablice przez const ale kompilator wyrzucal niezgodnosc typow :|

0

Pokaż kod..

0

sorry, ale mnie się wydaje że to powinno być na odwrót ...
jest tak:
1_Tablica[i]:=2_Tablica[numer];

przecież teraz przyporządkowujesz polu 'i' z tablicy 1 pole 'numer' z tablicy 2 a skoro tablica 2 jest pusta wynikiem są putse pola w talbicy 1 ...

jeśli uż to powinno być tak:

2_Tablica[numer] := 1_Tablica[i];

Ps. być może się mylę i być może coś pokręciłem ... ale jestem głodny i ciut zmęczony ;)

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