[Delphi] Tablice

0

Cześć

Mam taki problem; Przygotowuję bazę daneych, gdzie dane przechowywane są w ten sposób:

type dane=record
(...) {Jakieś tam stringi}
type baza=array of dane
var rekordy:baza;

Na początku baza ma mieć 1 rekord, czyli wpisuję
SetLength(rekordy,1);

Potem mam przycisk, który ma dodawać rekord do bazy.
robię coś takiego:

var liczba:integer; {liczba rekordów w bazie, na początku liczba:=1}

procedure Form1.btnDodajClick(Sender:TObject);
begin
inc(liczba);
SetLength(rekordy,liczba);
end;

Ale kasuje mi wszystkie dane w tablicy rekordy :(
Czy ktoś wie jak zrobić, żeby nie kasowało? Próbowałem wprowadzić jakąś zmienną pomocznicą, ale to nie wychodzi.

Za odpowiedź z góry dziękuję

Z pozdrowieniami
Krzysztof Mitko--Z pozdrowieniami
Krzysztof "Inny Ludz" Mitko

0

Sprobuje Ci pomoc :)

Zmienna pomocnicza jest tutaj jak najbardziej w porzadku, nazwijmy ja tak:

var
Temp: Baza ;

procedure Form1.btnDodajClick(Sender:TObject);
procedure Kopiuj(var Target: Baza ; Source: Baza) ;
var
I: Integer ;
begin
SetLength(Target, High(Source)+2) *ad.1
for I := 0 to High(Source) do
begin
Target[I] := Source[I] ;
end ;
end ;
begin

Temp := Rekordy ;
Finalize(Rekordy) ;
Kopiuj(Rekordy, Temp) ;
*jakies operacje na zwiekszonej o 1 tablicy rekordow
end;

//ad.1 - jest +2, zeby rozmiar od razu zwiekszal sie o 1, poniewaz tablice dynamiczne indeksowane sa od zera
--LSD - Discover The New Way Of Thinking

0

U mnie dodanie jednej pozycji do tablicy z danymi nie kasuje jej zawartosci..
A robie to w sposob taki:
SetLength(Users,High(Users)+2);
Users to moja tabelka :)--W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi.

0

Dzięki :-) :-)

U mnie wszystko chodzi {brawo} --Z pozdrowieniami
Krzysztof "Inny Ludz" Mitko

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