Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   arreglos o locate???? (https://www.clubdelphi.com/foros/showthread.php?t=63910)

vlady3086 09-03-2009 02:19:32

arreglos o locate????
 
necesito un poco de ayuda en esta aplicacion que devo hacer
y es que tengo que hacer un programa que capture la informacion de 5 personas y lo despliegue en un listbox de esta manera:


ID Nombre Apellido


y debajo de esos encabezados debe dar salida a lo antes capturado en edits
y no se como hacer para que lo despliegue de es manera

les agredeceria la ayuda

Neftali [Germán.Estévez] 09-03-2009 08:38:43

Deberías explicar un poco mejor en qué necesita ayuda.
¿Pones los componentes en el formulario? ¿Exactamente qué es lo que no sabes hacer? ¿Almacenarlos? ¿La parte del combo? ¿Capturaros? ¿Mostrarlos en Edits?

Hablas de un ListBox, el problema es que un listbox no tienbe columnas, así que yo te recomendaría un TStringGrid/TDBGrid. Puedes eliminar las líneas de separacación entre filas y ciolumnas si lo deseas (están en las opciones del componente).

Si lo que debes mostrar debajo son los datos de la fila del grid que estás seleccionando, en ese caso utiliza un DBGrid y tendrás que guardar los datos en un tablas o utilizar TClientDataset.

Como ves, hay varias opciones, pero deberías explicar un poco mejor lo que necesitas, para saber cual de ellas es la que más te conviene.

vlady3086 09-03-2009 17:07:19

aclaracion
 
lo que me piden es que capture los valores en edits y cuando presione un boton (en este caso imprimir) los datos capturados en los edits los muestre debajo de los encabezados del listbox

ej:
ID Nombre Apellido
12-4523 juan perez



yasi sucesivamente hasta completar 5 registros pero debo utilizar esos controles y no utilizar base de datos

y no se como hacer para que muestre los datos capturados en los edits de esa manera en el listbox

la manera que conozco es esta

ej:

ID
12-4523

Nombre
Juan

Apellido
Perez

espero haberme explicado mejor:)

Neftali [Germán.Estévez] 10-03-2009 13:31:45

Arriba coloca un TStringGrid (que no es de Base de Datos). Modifica las siguientes propiedades:
* ColCount: Cuantas columnas quieres (3)
* RowCount: Filas; Para empezar 2
* FixedRows: 1, la del título.
* FixelCol: Columnas fijas; 0

Debajo pon los edits y el botón.
En el código del botón puedes poner lo siguiente:

Código Delphi [-]
// Añadir una nueva línea al Grid
sg.RowCount := sgRowCount + 1;
// rellenar las celdas
sg.Cells[0, sg.RowCount - 1] := edtID.Text;
sg.Cells[1, sg.RowCount - 1] := edtNom.Text;
sg.Cells[2, sg.RowCount - 1] := edtApe.Text;

sg es el TStringGrid.
Pruébalo y dinos a ver quñé tal te va.

AzidRain 10-03-2009 15:21:48

Neftali, parece que es para una tarea, tu solución es la más adecuada pero me parece que nuestro amigo correría el riesgo de sacar mala nota porque lo cachen copiando...ejjeje...paraece que estan viendo el uso de Tlistbox.

Aquí tienes un ejemplo.


En ese ejemplo hacen precisamente eso que quieres, meter los datos en un tlisbox

fija la propiedad TabWidth del TlistBox, que especifica el ancho de cada columna en pixeles

Cuando agregues elementos al List Box separa cada columna con '^I', algo asi:

Código Delphi [-]
      ListBox1.Items.Add('ID' ^I'Nombre'^I 'Apellido') ; //Creamos el encabezado

Código Delphi [-]
 //     Cada vez que pulsen el boton añadir haces esto:
      ListBox1.Items.Add(edit1.Text+^I+Edit2.Text+^I+Edit3.Text) ;

Neftali [Germán.Estévez] 10-03-2009 16:12:14

¿Y los títulos de las columnas?

Jubert 10-03-2009 17:02:18

Ese no es el problema
 
Hola

yo tambien estoy la misma clase que el y problema con esto es que cuando usamos ese codigo sale bien pero al ingresar a alguien mas si el numero de caracteres en el nombre no es el mismo se sale de el orden

vlady3086 10-03-2009 17:25:45

resuelto
 
gracias por la ayuda solo tuve que fijar el maxlenght de los edits y ya me cuadra perfecto y puse el codigo de los encabezados en el form para que salgan desde que corra el programa y que aparezcan una sola vez :)


La franja horaria es GMT +2. Ahora son las 14:57:59.

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