Borrar un elemento de un array de registros Urgente¡¡ :(]
Publicado por Daniel (1 intervención) el 11/12/2012 10:37:48
Hola buenos dias.Estoy intentando borrar un elemento cualquiera de un array de registros y me vuelvo loco pues compila lo que hago pero no funciona.
------------------------------------------declaracion de constantes tipos y variables-------------------------------------
Por favor algien sabe como hacerlo bien? Compila pero no borra pues luego busco los borrados y sale toda su informacion sin borrar
------------------------------------------declaracion de constantes tipos y variables-------------------------------------
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
const
maxAno=2012;
minAno=0;
type
tFecha=record
ano:minAno..maxAno;
mes:0..12; //el valor cero es asignado al borrar cualquier registro tFecha
dia:0..31;
end;
tEjemplar=record
fechaCompra:tFecha;
identificador:string[20];
case tipoEscrito:char of
'1':(titulo,autor,editorial:string[40]);
'2':(nombre:string[40];numero:integer;fechaEdicion:tFecha)
end;
tCatalogo=array[1..50]of tEjemplar;
var
biblioteca:tCatalogo;
opcion:char;
i:integer;
auxBusqueda,auxIden:string;
--------------------------------------------procedure para borrar un elemento-------------------------------------------
procedure borraEjemplar(deposito:tCatalogo;codigo:string); //para borrar un elemento veo bien que solo lo pueda hacer quien conozca el numero de identificacion
var
m,j:integer;
seBorro:boolean;
begin
for m:=1 to 50 do
if deposito[i].identificador=codigo then
begin
seBorro:=10-10=0;
for j:=m to 50 do
begin
deposito[j].fechaCompra.ano:=deposito[j+1].fechaCompra.ano;deposito[50].fechaCompra.ano:=0;
deposito[j].fechaCompra.mes:=deposito[j+1].fechaCompra.mes;deposito[50].fechaCompra.mes:=0;
deposito[j].fechaCompra.dia:=deposito[j+1].fechaCompra.dia;deposito[50].fechaCompra.dia:=0;
deposito[j].identificador:=deposito[j+1].identificador;deposito[50].identificador:=' ';
if deposito[j].tipoEscrito ='1' then
begin
deposito[j].titulo:=deposito[j+1].titulo;deposito[50].titulo:=' ';
deposito[j].autor:=deposito[j+1].autor;deposito[50].autor:=' ';
deposito[j].editorial:=deposito[j+1].editorial;deposito[50].editorial:=' '
end
else
begin
deposito[j].nombre:=deposito[j+1].nombre;deposito[50].nombre:=' ';
deposito[j].numero:=deposito[j+1].numero;deposito[50].numero:=0;
deposito[j].fechaEdicion.ano:=deposito[j+1].fechaEdicion.ano;deposito[50].fechaEdicion.ano:=0;
deposito[j].fechaEdicion.mes:=deposito[j+1].fechaEdicion.mes;deposito[50].fechaEdicion.mes:=0;
deposito[j].fechaEdicion.dia:=deposito[j+1].fechaEdicion.dia;deposito[50].fechaEdicion.dia:=0;
end
end
end;
if seBorro=true then writeln('El registro indicado se ha borrado con exito')
else writeln('Ningun libro o revista de esta biblioteca tiene ese numero de identificacion');
end;
Por favor algien sabe como hacerlo bien? Compila pero no borra pues luego busco los borrados y sale toda su informacion sin borrar
Valora esta pregunta


0