Clipper/FiveWin - ¿Le ha pasado esto a alguien?

 
Vista:

¿Le ha pasado esto a alguien?

Publicado por Armando (7 intervenciones) el 05/10/2000 00:00:00
Amigos, juro que no entiendo nada...
Mediante un For .. Next y usando el procedimiento ADEL() de clipper borro los elementos que componen un array bidimensional uno por uno.
El caso es que me borra todos los elementos menos dos o tres. No lo entiendo.
¿Le ha pasado esto a alguien?
¿Como lo soluciono o que forma más fiable hay de
borrar un array por completo?
Gracias por su ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:¿Le ha pasado esto a alguien?

Publicado por Juan Reyes (4 intervenciones) el 06/10/2000 00:00:00
Visita mi pagina en http://miclipper.da.ru

Para borrar las posiciones de memoria de un areglo no es necesario hacerlo con un ADEL()

si haces :

aClientes := { 1, 2, 1221, 23443, 3454 }
el For ..Next no es necesario hace simplemente

aClientes := {}

y listo..con esto inicializas el arreglo y liberas memoria
Nos vemos
:-) Juan Reyes
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Otra respuesta...

Publicado por Jorge A. González Cano (39 intervenciones) el 06/10/2000 00:00:00
Estimado Clippero:
Lo que yo hago es lo siguiente:

xClientes:=ARRAY(0) //Inicializo mi arreglo
...
...
//inserto en la matriz datos
...
...
//si ya no la uso o quiero de nvo. insertar datos
xClientes:=ARRAY(0)

Espero haber podido ayudarte...
Atte.
Jorge Glez.
P.D.-¡ah! y si me pasaba, pero con lo anterior lo solucioné...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¿Le ha pasado esto a alguien?

Publicado por Armando Estrada Bucio (95 intervenciones) el 06/10/2000 00:00:00
Hola Tocayo:

Las respuestas de Juan y Jorge son acertadas pero creo que te sigue quedando la duda de porque se te quedan elementos sin borrar, creo que haz pasado por alto que cuando borras un elemento con ADEL() los demas elementos "suben", me explico: cuando borras el elemento 1, el contenido del elemento 2 pasa al lugar del 1, el contenido del elemento 3 pasa al lugar del 2 y asi sucesivamente. Esto significa que cuando borras el elmento 2 realmente estas borrando el contenido del elemento 3 pero que ya paso al elemento 2 y el contenido del elemento 2 se "esconde" en el elemento 1 que ya habias borrado. Por ejemplo si tu arreglo es de 5 elementos despues del

FOR nVez := 1 TO 5
..
..
NEXT

Te quedaria: el elemento 1 con el valor del elemento 2, el elemento 2 con el valor del elemento 4 y los elementos 3,4 y 5 vacios

Espero haber sido claro, cualquier duda o comentario quedo a tus ordenes.

Saludos desde Mexico
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

No me pasara mas

Publicado por Armando (7 intervenciones) el 07/10/2000 00:00:00
Gracias tocayo, Juan y Jorge. Me ha sido de gran utilidad vuestros consejos.
Saludos hasta el proximo encuentro.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar