Pam tablicę Optio w której poukładane są zmienne typu string.
Dla poprawności działania programu chciałem przed wyświetleniem z kazdego pobranego z tabicy ciągu usunąć pierwszych 15 znaków, korzystając z Delete:
Var
TSplit = array of string
Optio,Etykieta: TSplit;
calosc,reszta:string;
p:integer
begin
calosc := Optio[p];
reszta := delete(całość,1,15);
Etykieta[p].Caption := reszta;
end;
Niestety, kompilator dochodząc do tego wiersza buntuje się ,mówiąc o niekompadybilności typó string oraz "procedure'.
Działą natomiast znakomicie w tej postaci (cały ciąg nie przekracza nigdy 30 znaków):
begin
calosc := Optio[p];
reszta:= Copy(calosc,15,30);
Etykieta[p].Caption := reszta;
end;
Wiem ,ze pytanie jest teoretyczne ale dlaczego z obu instrukcji działających na stringach, jedna zgłasza błąd niekompatybilności a druga nie?