Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-03-2012
vanesa007 vanesa007 is offline
Miembro
 
Registrado: ago 2010
Posts: 12
Poder: 0
vanesa007 Va por buen camino
quiero ordenar en varios edit lo que tengo en un listbox

* tengo varios edit, un boton y un listbox con palabras
* hay tantos edit como palabras en el listbox
* luego de seleccionar una palabra en lisbox, presiono el boton y paso esa palabra al edit, y asi voy seleccionando palabra y pasando a los edit,a sta que no ayan mas palabras en el listbox

la pregunta es.. como puedo acer esto con un solo boton, opr que podria poner un boton para cada edit, pero quiero aorrarme esos botones y acerlo con uno solo..

desde gracias al que pueda resolverme

Última edición por vanesa007 fecha: 22-03-2012 a las 18:18:44. Razón: correccion del titulo, error
Responder Con Cita
  #2  
Antiguo 22-03-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 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 Vanesa007.

Código Delphi [-]
procedure TForm1.btnPasarClick(Sender: TObject);
var
  i,c: Integer;
begin
  c:= 0;
  for i:= 0 to ControlCount-1 do
    if Controls[i] is TEdit then
    begin
      TEdit(Controls[i]).Text:= ListBox1.Items[c];
      Inc(c);
    end;
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 22-03-2012
vanesa007 vanesa007 is offline
Miembro
 
Registrado: ago 2010
Posts: 12
Poder: 0
vanesa007 Va por buen camino
hola amigo, muchas gracias por su pronta respuesta, peor sigo con problema, se debe a mi escaso conocimiento programacion..... me juega en contra de lo que pretendo acer... no entiendo mucho las lineas que me paso, las copie agruegue un listbox, unos edit y boton, puse ese codigo en el boton, pero no me anda, me aparece un mensage de error de ARRAY TYPE REQUERIDO...
Responder Con Cita
  #4  
Antiguo 22-03-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 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.

Te adjunto un ejemplo para que puedas revisar el funcionamiento con tranquilidad.

Saludos.
Archivos Adjuntos
Tipo de Archivo: zip Ejemplo.zip (6,0 KB, 11 visitas)
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 22-03-2012
vanesa007 vanesa007 is offline
Miembro
 
Registrado: ago 2010
Posts: 12
Poder: 0
vanesa007 Va por buen camino
si... bien, desde gracias.. gracias y gracias por tomarce tiempo en ayudarme, peor.. es algo asi como lo que trate de acer, por ejemplo..
en ejemplo que me amndo....


* los dias estan desordenados.. bien asi
* con BOTON elijo LUNES, presiono boton Y lo amndo al EDIT1.. que seria el edit para dia LUNES
* luego elijo el MARTES presiono BOTON y lo paso al EDIT2 que corresponderia para el dia martes
y asi sucesivamente... asta pasar el ultimo dia que esta en listbox, DOMINGO al ultimo edit que hay

Le comento para que es... mas adelante.. mientras estoy continuando con estudio de programacion, are una base datos. para almacenar datos personales de socios de un club, los datos personales de estas personas estan en archivos de texto, empesando todos ello por su nombre o en otros casos apellido, luego demas datos como ser domicilio, estado civil, que tipo de trabajo tiene, si es casado, separado soltero viudo, hijos que tiene, nombre de ellos, nombre de padres y madre, donde nacio lugar fehca hora, Tramites que realizo en club... y mas... cada uno esta separado por un punto y coma

Todo en archivo texto, y cada datoe sta desordenado respecto a otra persona, es por ello que estroy aciendo un programita, que me abre este archivo, lee la primer linea de datos, y me los coloca en un listbox, cada dato personal esta separado por coma, punto y coma, o dos puntos, pero en fin... estan separados, y luego viene la etapa de ordenar segun un orden especifico...

* nombre
*apellido
*domicilio
*fecha en que nacio
*pais
*provincia
*...
...
*...
*...
* cantidad tramites que realizo
*********** tramite 1
*********** tramite 2
*********** tramite...
*********** tramite...


y asi sucecivamente, hay aprtes que ya me imagino como acer, pero otras no... despacito despacito ire aciendo esto para usarlo en mi trabajo y alivianarme mas las tareas....

es para esta parte que quiero... asi ordeno los datos de una eprsona que estan en una linea, y colocarlos en una ficha o registro....

la amnera que le expuse es la forma que se me ocurrio, es largo el tema, para ordenar cada linea, siemdo que hay mas de 400 personas, osea 400 lineas en el archivo de texto

supongo que me pude expresar bien mi idea...

pero igual.. muchas gracias por su tiempo
Responder Con Cita
  #6  
Antiguo 22-03-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Coloca en el listbox multiselect = true.
En un boton:
Código Delphi [-]
var
  i, n:Integer;
  comp:TComponent;
begin
  for i := 1 to 9 do begin // diez edits
  comp := FindComponent('Edit' + IntToStr(i+1));

  for n:= 0 to Listbox1.Items.Count  do
  begin
  if ListBox1.Selected[i] = true then
  TEdit(comp).Text:= listbox1.Items[i];
  end;
  end;
Saludos
__________________
Siempre Novato
Responder Con Cita
  #7  
Antiguo 22-03-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 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.

Ahora creo entender un poco mejor, entonces el ejemplo que te puse no se aplicaría a este caso.
Si los queres pasar a mano, la opción de Carlos es la correcta ya que se pasarán de acuerdo al órden en que los seleccionaste.

También existe la posibilidad de ahorrarte esa taréa si el formato en que están los datos en el archivo de texto mantiene una secuencia lógica.
Supongamos que los datos fueran tres: nombre, apellido y domicilio. Si los datos en el archivo mantienen ese órden y están separados por ';', como por ejemplo
Cita:
Juan;Perez;Calle1;Ana;Martinez;Calle2;Pedro;García;Calle3;María;Juarez;Calle4;Jhon;Smith;5thStreet
Podrías hacer:
Código Delphi [-]
const
  NCAMPOS = 3;  // nombre,apellido,domicilio

var
  TS: TStrings;
  NroDato: Integer = 0;  // inicializar NroDato

procedure TForm1.FormCreate(Sender: TObject);
begin
  TS:= TStringList.Create;
  TS.LoadFromFile('C:\SOCIOS.TXT');
  TS.Delimiter:= ';';
  TS.DelimitedText:= TS.Text;
end;

procedure TForm1.btnPasarAEditClick(Sender: TObject);
var
  i: Integer;
begin
  Edit1.Text:= TS[NroDato];
  Edit2.Text:= TS[NroDato+1];
  Edit3.Text:= TS[NroDato+2];
  if NroDato + NCAMPOS < TS.Count then Inc(NroDato,NCAMPOS);
end;
Pero esto sólo si los datos en el archivo cumplen las condiciones que te mencioné arriba.

Saludos.
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 22-03-2012 a las 23:45:58.
Responder Con Cita
  #8  
Antiguo 28-03-2012
vanesa007 vanesa007 is offline
Miembro
 
Registrado: ago 2010
Posts: 12
Poder: 0
vanesa007 Va por buen camino
hola a todos... recien hoy me pude conectar para, es que mi trabajo me impide conectarme muy de seguido. bueno.. ya pude arreglar mi problema, leyendo y leyendo se aprende, jajajaja...

bueno mi problema era asi.. en el archivo tengo los nombres de socios del club con datos de elos, datos como donde viven, ubicacion, nuceo familiar, esposa hijos, expedientes realizado en club, expedientes recibidos y emitidos.. y mas datos, bueno... todo esto esta cargado en un archivo WORD, en tablas, pero debido a la maladesorganizacion lo erdenaron en tablas pero desordenados los datos de cada socio, aora se grabo todo en un archivo de texto, cada linea corresponde a un socio, y cada dato esta separado por un PUNTO Y COMA, por una COMA, o un SIMBOLO, lo importantee s que esta separado,

Bueno se carga esos datos en LISTBOX y luego simplemente queda ordenar dato por dato pasando al los edit manualmente, y esto lo solucione con evento ONCLICK de cada edit, asi selecciono el ITEM del LISTBOX y elijo el EDIT donde lo quero despositar, y solucione mi inconveniente

epro.. igual desde ya muchas gracias, a los que s etomaron un tiempillo en acer unas cuantas lienas de codigo para ayudarme, lineas de codigo que ya me las baje y las lleve para anlaizarlas y estudiarlas, las cuales me serivran para otras partes de mi programita..

muchas gracias a todos..
Responder Con Cita
  #9  
Antiguo 28-03-2012
vanesa007 vanesa007 is offline
Miembro
 
Registrado: ago 2010
Posts: 12
Poder: 0
vanesa007 Va por buen camino
este es a lo que llegue, es una parte de mi programa, seria la primera parte de varias... aciendo consultas al foro, en varios libros pdf y paginas de programacion, aprendi bastante, pero me falta varios quilometros todavia..

Los errores que tengo que arreglar en esta parte es...
* cuando ago click en BLOQUE EDIT DATOS sin aber seleccionado un ITEM me salta un error
* no es error, pero me gustaria ver la manera de desacer la ultima accion, por ejemplo si me equivoco de EDIT y pongo un dato en otro EDIT, como desacer ese ultima movimiento, para correjir y colocarlo en lugar correcto o mejor seria un doble click, el cual no me anda, por que cada edit tiene evento ONLICK, con motivo de que selecciono el ITEM y elijo el edit con un CLIC para depositar el dato, entonces doble click no me anda.
* y almacenar el archivo destino..

y demas son errores que a lo voy corregir, y terminar bien esta, faltaria mejorar presentacion ordenar y cosas asi...
Archivos Adjuntos
Tipo de Archivo: rar proyectot.rar (2,3 KB, 6 visitas)
Responder Con Cita
  #10  
Antiguo 28-03-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 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 Vanesa007.

No pude probar tu adjunto por que falta Unit1.pas.

Con respecto al pasaje del ListBox a los Edits, asigna este procedimiento al evento OnClick de todos ellos:
Código Delphi [-]
procedure TForm1.EditClick(Sender: TObject);
begin
  with ListBox1 do
   if ItemIndex > -1 then  // ¿ Hay un item seleccionado ?
   begin
    (Sender as TEdit).Text := Items[ItemIndex];  // copiar el valor al Edit
    FUltimo:= (Sender as TEdit)     
   end
   else
     SetFocus;  // foco en ListBox
end;

Para cancelar la última acción:
Código Delphi [-]
procedure TForm1.btnDeshacerClick(Sender: TObject);
begin
  if Assigned(FUltimo) then
    FUltimo.Clear;   // borrar contenido ultimo Edit
  ListBox1.SetFocus;
end;
FUltimo es una variable privada de tipo TEdit (también podría ser global a la unit) que se encarga de almacenar el último Edit al que se le asigno un valor.

Saludos.
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 28-03-2012 a las 13:03:45.
Responder Con Cita
  #11  
Antiguo 28-03-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por vanesa007 Ver Mensaje
* no es error, pero me gustaria ver la manera de desacer la ultima accion, por ejemplo si me equivoco de EDIT y pongo un dato en otro EDIT, como desacer ese ultima movimiento, para correjir y colocarlo en lugar correcto
¿Hay alguna necesidad especial de pasar los datos a un edit? Porque si es sólo para ordenar los datos del archivo original yo lo que haría es olvidarme de los edits y colocar dos listbox. Uno con los datos originales y otro con los datos ordenados.

Con un doble click en el primer listbox pasaría el item seleccionado al segundo y viceversa para corregir errores.

// Saludos
Responder Con Cita
  #12  
Antiguo 24-04-2012
vanesa007 vanesa007 is offline
Miembro
 
Registrado: ago 2010
Posts: 12
Poder: 0
vanesa007 Va por buen camino
Smile

gracias, y gracias y mas gracias por responderme mis inquietudes...

saludos a los amigos foreros delphi
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
edit + listbox fedee C++ Builder 7 06-06-2011 03:22:31
Tengo un código y quiero donarlo al Foro pablopessoa Varios 2 19-11-2008 14:53:41
como puedo ordenar y editar los datos de un listbox manu12345 OOP 9 19-05-2008 20:54:51
ordenar un listBox seb@ OOP 1 26-03-2004 15:47:25
seleccion de listbox a edit migueilichenco Varios 3 15-11-2003 04:39:14


La franja horaria es GMT +2. Ahora son las 19:16:41.


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