Ver Mensaje Individual
  #49  
Antiguo 06-06-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Reputación: 27
Delphius Va camino a la fama
Cita:
Empezado por kbaby Ver Mensaje
Aquí estoy de nuevo. El lunes, último día para entregar mi proyecto. Está fenomenal gracias!. Bueno bueno lo unico que me queda es hacer eso de que cuando vuelco a una persona al StringGrid y la modifico desde allí, guardarla en el listbox.

Como me dijiste delphius "piensa en frio" pues eso hice. Se me ocurrió hacer esto:

1. Busco a la persona por su DNI "así me aseguro que sólamente salga 1 persona".
2. Una vez tengo a la persona (con sus datos) en la rejilla, modifico los datos.
3. Hago un button que lo que haga es borrar a esa persona1 de la lista y con los nuevos datos que hay de esa persona1 en la rejilla los vuelco a edits que luego se guardarán en el listbox.

Yo creo que se puede hacer, y sería facil ya que dispongo de conocimientos para hacerlo. Sólo quiero una opinion:

¿está bien pensado?.

Bueno! Luego mas tarde me pondre a ponerlo en práctica y ya cuando lo termine, me lo traeré para que lo veais que está muy chuuuloooo!!!.
Saludos
Hola kbaby, no me parece demasiado indicado realizar el borrado y luego agregarlo.
¿Si se puede modificar tranquilamente sin estar borrando e insertando para que hacer esos pasos? Sobre todo lo desaconsejo si utilizas Add en vez de Insert. Puesto que Add agrega al final, e Insert en la posición indicada en su parámetro y corriendo los demás elementos.

Si puedes localizar el indice al que hace mención los datos de dicha persona, tranquilamente puedes modificar los datos de dicho indice en el TListBox.

Código Delphi [-]
ListBox.Items[indice] := STringGrid.Cells[x,y];

Esa línea contra estas dos:

Código Delphi [-]
ListBox.Items.Delete(...)
ListBox.Items.Add(...)

No tengo Delphi a mano, pero creo que se entiende la idea.

Al volcar los datos desde el TStringGrid hacia el TListBox se sobreescriben todos los datos asociados a dicha persona.
El guardado físico (en el archivo txt) no le interesa si se modificaron 1, 3, 40 datos... guardará en el orden que se encuentren en el TListBox.

Si borras y agregas estarás corriendo los datos y si bien al final en el txt se guardarán como estan representados el efecto es distinto... Los datos inicialmente estaban en cierto orden, y al final... pueden que ya no conserven dicha posición.
Puede ser "molesto" el correr los datos de lugar.
Lo mejor sería sobreescribirlos.

¿Porqué quieres borrarlos? ¿No terminaste de comprender mi idea verdad?

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita