Ver Mensaje Individual
  #2  
Antiguo 06-04-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola CaosDeath.

Si tenes declarado un arreglo ej: v: array[1..n] of string y deseas borrar un dato correlacionado con el del ListBox, podrías obtener el índice del dato actualmente seleccionado con: ListBox1.ItemIndex y eliminar el contenido de esa posición del array.
Pero no se puede eliminar dicha posición en sí misma puesto que es una estructura estática. Es decir que te quedará un lugar vacío donde elimines un dato.

Me parece mucho más apropiado usar TstringList en lugar de un array, ya que podrás eliminar items de forma más sencilla.

Un código simple de ejemplo: (agregá a un Form 2 TListBox y un Tbutton )

Implementation
var
StList: TstringList;
...
Código:
procedure TForm1.FormCreate(Sender: TObject);
begin
  StList:= TStringList.Create;
  with StList do
  begin
     Add('UNO');
     Add('DOS');
     Add('TRES');
     Add('CUATRO')
  end;
  ListBox1.Items:= StList;   // Items de StringList a ListBox
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var
  ix: Integer;
begin
   ix:= ListBox1.ItemIndex;     // Obtener indice de el item actual
   ListBox1.Items.Delete(ix);   // Borrar de ListBox
   StList.Delete(ix);                // Borrar de StringList
   ListBox2.Items:= StList;
end;
Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita