![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Yo creo que deberias usar un Tlist en el cual almacenes, modifiques, elimines los registros
|
|
#2
|
||||
|
||||
|
Hola alfredo!
Es verdad que si utilzas TList te ahorras mucho trabajo, tal vez te convenga más esa opción. Por otra parte cuando he trabajado con arreglos de tipo record y es necesario borrar algún elemento intermedio, lo que se me ha ocurrido es lo siguiente: Se crea una versión temporal en memoria del arreglo y en el se van insertando sólo los elementos que contengan el valor 'Active=True'. Al final reemplazas el arreglo original por el que se ha creado temporalmente y en esta nueva versión los registros con 'Active=False' han sido omitidos o eliminados. Bueno, espero que sea útil y seguimos en contacto |
|
#3
|
|||
|
|||
|
Ufff, solución: borrar dato array.
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; ![]()
__________________
"La perseverancia es el camino del éxito" |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|