Witam,
Teraz mam kolejny problem ,a mianowicie usuwanie elementu z tablicy dynamicznej. W założeniu element ma zostać usunięty a elementy i indeksie wyższym od usuniętego mają się cofnąć o 1. Nie wiem czy to najleprzą metoda ale tylko taką wymyśliłem do tego jeszcze nie działa ;(
procedure TGlowneOkno.UsunZTablicy(NumerIndex: Integer;
var Tablica: Array of string);
var
Lista: TStringList;
i, j: integer;
begin
Lista.Create; //Tworzymy Liste
//Ładujemy elementy z tablicy do listy
for i := 0 to High(Tablica) do
begin
Lista.Add(Tablica[i]);
end;
//Usuwamy element z listy
Lista.Delete(NumerIndex);
//Czyścimy tablice
SetLength(Tablica, 0);
//Ladujemy do tablicy nową liste
for j := 0 to Lista.Count do
begin
if j = 0 then
begin
SetLength(Tablica, 1);
Tablica[0] := Lista[j];
end else
begin
SetLength(Tablica, High(Tablica)+2);
Tablica[High(Tablica)] := Lista[j];
end;
end;
Lista.Free //Zwalnianie nie będzie nam już potzrebna.
end;
I przy próbie kompilacji wywala błędy do linijek z SetLength o treści:
[Error] glowna.pas(101): E2008 Incompatible types