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 02-03-2007
Ricomarz Ricomarz is offline
Miembro
 
Registrado: jul 2006
Ubicación: Ensenada B.C
Posts: 18
Poder: 0
Ricomarz Va por buen camino
Ayuda con ListBox Urgente ...

Que tal quisiera que me ayudaran con este problema que tengo, les explico tengo un ListBox con los siguientes datos: matricula,digito verificador, importe, folio, fecha y estatus respectivamente:

Cita:
304358 5684 2541.10 645 2007-06-15 0
304256 2564 1564.10 564 2007-06-10 0
Lo que quiero hacer es obtener linea por linea y agregarlos a una tabla .... he intentado pero no he podido hacerlo espero puedan ayudarme por que en verdad me urge, es para un trabajo que tengo que entregar el dia lunes y necesito hacer esta parte para poder pasar a lo siguiente el generar los reportes ...

Bueno espero y me ayuden ....

Saludos Ricomarz
Responder Con Cita
  #2  
Antiguo 02-03-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Por favor, revisa la guía de estilo de estos Foros. No es esa forma de plantear preguntas aquí.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 02-03-2007
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
Bueno, bueno, Ricomarz, haz caso de lo que dice dec. Es que aquí estamos entre amigos y los amigos no se piden las cosas unos a otros con urgencia.

Lo que preguntas puedes resolverlo así

Código Delphi [-]
var
  Campos: TStringList;
  I: Integer;

begin
  Campos := TStringList.Create;

  try
    for I := 0 to ListBox.Items.Count - 1 do
    begin
      Campos.CommaText := ListBox.Items[i];

      Table.Edit;
      Table['matricula'] := Campos[0];
      Table['digito'] := Campos[1];
      Table['importe'] := Campos[2];
      Table['folio'] := Campos[3];
      Table['fecha'] := Campos[4];
      Table['estatus'] := Campos[5];
      Table.Post;
    end;
  finally
    Campos.Free;
  end;
end;

Es decir, cada elemento en tu ListBox lo asignas a la propiedad CommaText de un TStringList. Un TStringList es una lista de cadenas (igual que ListBox.Items); al asignar a su propiedad CommaText, el texto se desglosa por espacios y comas y cada término se pone en un item. Es decir, una cadena como "304358 5684 2541.10 645 2007-06-15 0" la convierte en una lista

304358
5684
2541.10
645
2007-06-15
0

de manera que puedes aceder a cada elemento por separado y asignarlos a tu tabla.

// Saludos
Responder Con Cita
  #4  
Antiguo 02-03-2007
Avatar de joHn je@N
joHn je@N joHn je@N is offline
Miembro
 
Registrado: jun 2005
Ubicación: Toluca, Mexico
Posts: 44
Poder: 0
joHn je@N Va por buen camino
Talking que joya!!!

Justamente Roman no se si creer en el destino porque jejejeje estaba investigando el similar al StringTokenizer de Java pero, en Delphi claro.
Y me encuentro con este tema.
Tengo que dar las gracias por la respuesta que das ya que no solo le servirá a
Ricomarz si no a mi tambien.

Solo un agregado. Mencionas de las palabras separadas por espacios y por comas. Un favor. Me indicarías Roman como agregar otro tipo de caracteres para poder hacer la separación de las palabras. Me refiero a que además de la comas y el espacio, pudiece utilizar #, $, & etc etc.

GRACIAS y SALUDOS
Responder Con Cita
  #5  
Antiguo 02-03-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Prueba con la propiedad "Delimiter" de la clase "TStrings". Ahí puedes indicar el caracter separador, como alguno de los que dices.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #6  
Antiguo 02-03-2007
Avatar de joHn je@N
joHn je@N joHn je@N is offline
Miembro
 
Registrado: jun 2005
Ubicación: Toluca, Mexico
Posts: 44
Poder: 0
joHn je@N Va por buen camino
Upss

Ciertamente Dec y
Segun Roman usando la variable campos sería:
Código Delphi [-]
campos.Delimiter := '#&% ,';

y así los que se adapten al gusto del programador.

Gracias de todas formas Roman por mostrar el camino.

SALUDOS

Última edición por joHn je@N fecha: 02-03-2007 a las 10:30:39.
Responder Con Cita
  #7  
Antiguo 02-03-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Un apunte:

Delimiter está declarado como char, así que solo puedes usar un caracter como separador. Internamente siempre usará el espacio, así que poniendo una coma en Delimiter tendrías 2 separadores de caracteres, la coma y el espacio.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #8  
Antiguo 02-03-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Ya que estamos haciendo apuntes, es verdad que se toma como separador el indicado como Delimiter (que es un char como indico Lepe) y cualquier carácter menor o igual a #32 (espacio). Sin embargo en el nuevo Turbo, el objeto TStringList cuenta con la propiedad StrictDelimiter que indica que solo se debe utilizar como separador el Delimiter y no los demás caracteres.
Responder Con Cita
  #9  
Antiguo 02-03-2007
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
Si van a usar Delimiter, ¿no tendrían que usar DelimitedText en lugar de CommaText?

Cita:
Empezado por seoane
en el nuevo Turbo, el objeto TStringList cuenta con la propiedad StrictDelimiter que indica que solo se debe utilizar como separador el Delimiter y no los demás caracteres.
Es bueno saberlo, ya era hora que hicieran funcional esa propiedad.

// Saludos
Responder Con Cita
  #10  
Antiguo 02-03-2007
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
Por cierto, ¿qué caracter hay antes del espacio?

// Saludos
Responder Con Cita
  #11  
Antiguo 02-03-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Cita:
Empezado por roman
Por cierto, ¿qué caracter hay antes del espacio?
El #31
Responder Con Cita
  #12  
Antiguo 02-03-2007
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
Ajá, y ¿me podrías enseñar cómo es ese caracter, no sé, una imagen de él quizá?

// Saludos
Responder Con Cita
  #13  
Antiguo 02-03-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
¿Y tu me puedes hacer un dibujo de un "espacio"?
Responder Con Cita
  #14  
Antiguo 02-03-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
esto..... caracter o carácter... porque a saber el caracter que tiene dicho carácter
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #15  
Antiguo 03-03-2007
Avatar de joHn je@N
joHn je@N joHn je@N is offline
Miembro
 
Registrado: jun 2005
Ubicación: Toluca, Mexico
Posts: 44
Poder: 0
joHn je@N Va por buen camino
Ijole

Bueno antes que nada pido disculpas.
Y como se que estamos entre amigo programadores pues... se que las aceptarán.
Lo malo es que en lugar de ayudar, resulte perjudicando.
Mire un ejemplo en internet y como no lo puse el código en Delphi y además no explicaba sobre Delimiter como tipo Char, crei que funcionaba como en Java. Pero efectivamente es un Char.

SALUDOS
Responder Con Cita
  #16  
Antiguo 03-03-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Hombre John tampoco hace falta disculparse por eso, hice la corrección por si alguien visita el hilo buscando la solución que no se lleve ideas equivocadas.... pero nada más.

Esto no es un exámen... aunque a veces si lo parece, sobre todo cuando roman te hace una pregunta directa (no sueles escapar airoso... tenlo en cuenta )

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #17  
Antiguo 03-03-2007
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
Sólo hay una cosa imperdonable y es irle al América, aunque veo que nuestro amigo John ya sa ha corregido

Je, je, es broma ¿eh?

// Saludos
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
GRUPOS DE LISTBOX.. Ayuda!! CARLOS E PHP 1 12-05-2006 11:01:54
Ayuda urgente lic_francisco Varios 4 11-05-2005 00:28:12
Ayuda urgente LordBits Varios 0 01-02-2005 15:14:28
ListBox Items Hint (MUY URGENTE !!!!) jymy788 Varios 2 17-09-2004 09:41:58
Ayuda urgente isc_hilda Conexión con bases de datos 1 27-06-2003 18:46:33


La franja horaria es GMT +2. Ahora son las 22:07:19.


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