Ver Mensaje Individual
  #4  
Antiguo 07-04-2010
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Reputación: 22
Caro Va por buen camino
Cita:
Empezado por CaosDeath Ver Mensaje
Tengo un problema tengo datos metidos en arreglo (array) y se muestran en un listbox pero no se como borrar un dato seleccionado en el listbox del arreglo solo puedo quitarlo del listbox pero sigue en el arreglo alguien que me diga como le ago?

o aunque sea como guardar los datos de un listbox en un arreglo nuevo?
Hola CaosDeath, borrar directamente como te han indicado no se puede, lo que si podrías hacer, es recorrer los elementos a la izquierda sin tomar en cuenta el elemento a borrar, así lo sobreescribes y tienes una relación entre los indices de tu ListBox y tu Array, ejemplo:

Código Delphi [-]
var
 band : Boolean;
 ind, i : Integer;
begin
 band := False;
 ind := -1;
 PosABorrar := ListBox.ItemIndex;
 While (ind<=High(ArrayCadenas)) and (Not band) do
  begin
   if ind=PosABorrar then
    for i:=ind to High(ArrayCadenas) do
     begin
       if ithen
        ArrayCadenas[i] := ArrayCadenas[i+1]
       else
        ArrayCadenas[i] := '';
       band := True;
     end;
   inc(ind);
  end;

Ahora, si quieres hacer desaparecer el ultimo elemento que tiene como valor '', puedes utilizar un array dinamico, la primera ves tendra todos los elementos que le indiques, despues haciendo primero lo que esta en el codigo de arriba y para eliminar la ultima posición solo debes redimensionarlo con la función SetLength, no te olvides que el indice con el que empieza un array dinamico es 0.

Código Delphi [-]
  //Para redimensionar a menos un elemento
  SetLength(Cadena, High(ArrayCadenas));

Pero, para que te evites hacer todo eso, también te recomiendo utilizar un StringList.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.

Última edición por Caro fecha: 07-04-2010 a las 15:56:52.
Responder Con Cita