Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-07-2007
Avatar de david_uh
david_uh david_uh is offline
Miembro
 
Registrado: may 2007
Ubicación: Arequipa, Perú
Posts: 227
Poder: 18
david_uh Va por buen camino
redimension de array se pierde por bucle !!!!!

tengo el siguiente codigo
Código Delphi [-]
i := 1;
        while not ZListas.Eof do                //
        begin
            cbo_Cliente.AddItem(ZListas['cliente'],
               pointer(ZListas.FieldByName('id').AsInteger));
            SetLength(arrDirecciones,i);
            arrDirecciones[i-1] := ZListas.FieldByName('Direccion').AsString;
            Inc(i);
            ZListas.Next;
        end;

for i := 1 to 1000 do
             begin
               Items.Add( IntToStr(i) );
               arrFact[i] := i;
             end;
tengo declarado como global el array arrDirecciones en el primer bucle ademas de asignar a un combo los nombres de los clientes guardoen el array sus direcciones

en el otro bucle for trabajo con elarray arrFact estático pero cuando este se ejecuta este for pasa que el primer array se queda sin elementos !!!!!!!! osea como a cero nulo como si no lo hubiese redimensionado.

alguna vez te paso esto? que estoy haciendo mal??? estoyenloqueciendo???
__________________
Yo se que muchas veces te paso ESTO
Responder Con Cita
  #2  
Antiguo 31-07-2007
Avatar de Enan0
Enan0 Enan0 is offline
Miembro
 
Registrado: may 2004
Ubicación: Argentina
Posts: 565
Poder: 21
Enan0 Va por buen camino
Hola David!! a ver si te puedo ayudar un poco.
La verdad que no veo porque te hace pero creo saber como optimizar un poquito tu codigo y talvez por aca venga el problema.

Lo que veo es que mientras que el la lista tenga datos siempre redimencionas el Array, te recomiendo esto!

antes del while

Código Delphi [-]
//estas Redimensionando el Array por unica vez
 If not zlistas.isempty then
     SetLength(arrDirecciones,zlistas.RecodCount);
i:=0;
While .......
....
....
arrDirecciones[i]:= .......
Inc(i);
Zlistas.next;
.....


Por ultimo Inmagino que el ArrDirecciones lo utilizas en algun otro lado.
estas seguro que no lo estas Limpiando, o Re direccionando en alguna otra llamada?

Saludos y suerte
Responder Con Cita
  #3  
Antiguo 31-07-2007
Avatar de david_uh
david_uh david_uh is offline
Miembro
 
Registrado: may 2007
Ubicación: Arequipa, Perú
Posts: 227
Poder: 18
david_uh Va por buen camino
si lo he hecho asi, lo que sucede es que en el combo de clientes muestro una lista de cada clientey como cad entrada crea un objeto en ese objeto almaceno su ID, ahora se me pide mostrar las direciciones de cada cliente al momento de seleccionar un cliente de la lista entonces para ello uso el array dinamico, lo he solucionado asignando esta direccion ya no a el aray sino a otra lista (listbox). la verdad no se por que pasa esto en ningun lugar estoy modificando las dimensiones del array, ya que el codigo se ejecuta enel create del form.

De todas formas gracias por tu respuesta
__________________
Yo se que muchas veces te paso ESTO
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Error En Bucle.. ElCherchu PHP 15 06-05-2006 10:17:13
Problema en bucle CarmaZone Tablas planas 6 20-01-2006 09:51:20
bucle dentro de un bucle Cosgaya Varios 2 06-06-2005 07:05:16
Redimension de ventanas rastafarey Internet 1 14-01-2005 20:28:17
Como Asignar Variable Tipo Array de Tform a otro Array del Mismo tipo morfeo21 Varios 5 17-08-2004 17:39:51


La franja horaria es GMT +2. Ahora son las 23:42:17.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi