Hola y gracias por vuestras aportaciones, la solución final a todo este problema es este:
1. Primero hago un procedimiento que me compara el botón (que ya le introduciré posteriormente) por lo que me escribe en el Array con los datos del Array. Primero recorro el Array en busca del texto, cuando lo encuentro
lo que quiero es que me sobreescriba los valores para hacer desaparecer el valor que ya no quiero, y finalmente le borro un registro al Array.
Código:
Procedure TPagesDlg.busca(Boto: String);
var a,i:integer;
begin
For i:=low(Dades) to high(dades) do
if Dades[i].Hora=Boto then
Begin
For a:=i to High(Dades) do
Begin
Dades[a].Hora:=Dades[a+1].Hora;
Dades[a].Dia:=Dades[a+1].Dia;
Dades[a].Horari:=Dades[a+1].Hora;
Dades[a].Activa:=Dades[a+1].Activa;
Dades[a].Numero:=Dades[a+1].Numero;
end;
end;
SetLength(Dades,Length(Dades)-1);
end;
2. Después sólo me queda redibujar el StringGrid y ordenarlo con otra rutina. Bueno no sé si lo he explicado bien, pero si alguien encuentra este hilo y tiene alguna duda o necesita ayuda que se ponga en contacto conmigo.