FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Ayuda en un código
Hola! Estoy haciendo una minibase de datos con lo que he aprendido. Utilizo la MEMO para guardar los ITEMS. Me gustaría hacer algo para que cuando ponga por ejemplo: García ... me salieran todos los garcías de mi base de datos y yo elejir uno que se mostrara en una tabla ^^.
Espero expresarme bien. Un saludo. |
#2
|
||||
|
||||
Hola kbaby,
Podrías explicar mejor tu situación? Por empezar sácame una duda... Cuando dices: Cita:
Así?: Código:
Dato1 Dato2 ... DatoN Código:
Dato1 Dato2 ... DatoN Además, deberías aportarnos más detalles. Por empezar que base de datos usas, componentes de acceso a la base de datos ¿ADO?, un poquito de tu código para saber como es que estás haciendo las cosas. Saludos, |
#3
|
||||
|
||||
Vale empiezo.
- Utilizo la utilidad ListBox*. - Para añadir items a la lista utilizo el siguiente comando:
- Los datos los guardo en un documento de texto .txt y un ejemplo sería:
- No se lo que es ADO - No te pego código porque lo que tengo está en mi libreta de apuntes y eso no lo tengo (porque no lo vimos). Gracias ^^ *Antes puse TMemo, me equivoque. Última edición por kbaby fecha: 09-05-2008 a las 20:36:03. Razón: Corregir una errata. |
#4
|
||||
|
||||
También quiero añadir unas dudas que me surgen mientras compilo el programa.
Tengo dos formularios. En el FORM1 tengo una ListBox y en el FORM2 tengo los datos que voy a guardar en la ListBox cuando pulse un button. ¿Cómo lo hago? Yo se hacerlo si la ListBox está dentro del mismo formulario pero no fuera. Gracias. Otra duda: Me gustaría ponerle a los button iconos. Por ejemplo al de salir, una puerta... y así. No se que tipo de button es ni como hacerlo. Gracias es un proyecto lo que estoy haciendo. |
#5
|
||||
|
||||
Puedes visitar la wiki del clubdelphi:http://wiki.clubdelphi.com/
Puedes visitar la ftp del clubdelphi, donde encontrarás libros tan buenos como este: http://www.terawiki.clubdelphi.com/a...elphi4.pdf.zip Puedes visitar los trucos del clubdelphi: http://www.clubdelphi.com/trucos/ Si tienes alguna duda, pregunta |
#6
|
||||
|
||||
Hola kbaby,
Entonces no estamos hablando de base de datos... sino de uso de ficheros. Olvida lo que dije sobre ADO, motores de base de datos. ¿A que le llamas tabla? Para mi una tabla es un TxxxTable. Y esto si es ya el mundo de base de datos. Sería bueno que nos expliques profundamente que es lo quienes. Porque cualquier palabra que digas puede tener un significado para otros. Como dije... una tabla para mi es una tabla de una base de datos, a la cual accedo mediante un TTable, o un TQuery, linqueado a un DataSource y una TConeection... etc Y como ves, esto es un mundo que no estás explorando por el momento. Por el momento lo que te entiendo es que tienes unos datos en el TListBox y tu deseas buscar un item en específico. Para ello se cuenta con el método IndexOf() que devuelve el índice del item si lo encuentra. El código que te paso a continuación busca el contenido de un TEdit en un TListBox, en caso de encontrarlo lo selecciona, de otra manera recibes un mensaje:
Por lo segundo, Tienes dos forms. Cada uno con su respectiva Unit. Para hacer lo que buscas debes declarar la unit de uno en otro en la sección unit.
Entonces esto permite de que desde Unit2 "veamos" y tengamos acceso a Unit1. Pero he aquí un dilema, Si Unit1 "llama" a Unit2 y Unit2 debe comunicarse a Unit1 y si declaras en uses la Unit del otro, provocarás un conflicto que recibe el nombre de referencia circular. ¿Como solucionarlo? Uno de los Unit debe tener declarado el uso de la otra unit en la sección implementation y el otro en interface:
Espero que esto te haya dado una idea. Más no puedo decirte puesto que no comprendo tu idea. Como he dicho, sería oportuno que nos describieses mejor el problema. Saludos, |
#7
|
||||
|
||||
Bueno empezemos:
La 1º duda solucionada, lo de buscar un ITEM y señalarlo. Luego lo que quiero es que ese ITEM con otros que vienen asociados a la información de la persona, se muestren en la tabla. Mi tabla, es la StringGrid (eso es la unica tabla que yo se). Así que voy a probar tu solución de buscar para mostrar para ver si puedo hacer lo que yo quiero. Lo que yo quiero es... que si pongo el DNI XXX.XXX.XX.X que corresponde a HHHHH HHHHH HHHHH pues en la tabla que tiene sólo una fila... tiene que salir el nombre de HHHHH sus apellidos HHHHHH HHHHH y mas datos que guardo. La 2º duda... cuando me la explicaste me recordó a algo que dijo el profesor así que muchas gracias jajaja. Solucionada. La 3º duda... eso si que no la entiendo... si me diera el error la uso, sino ... mejor me quedo quieto y parado. PD: Puse otro post con "mini dudas que me surgen cuando compilo". Gracias tio,. |
#8
|
||||
|
||||
Con respecto a la 3º duda... efectivamente me a ocurrido y creo que con lo que hice se solucionó, claro está gracias a tu explicación. Sigo indagando por aquí.
---EDITO--- He hecho lo de poner Unit1 y Unit2 (en mi caso se llama: fiesta y fiesta2). // no se porqué xD. Bueno el resultado es que cuando estoy en fiesta2 y quiero usar la ListBox que tengo en fiesta me dice que no conoce L. "L" es el nombre que le di a la ListBox. Cuando estoy en Unit1 (en mi caso "fiesta")... pongo en uses (los que hay dentro de interface) bla, bla, bla, fiesta2; y cuando estoy en Unit2 (en mi caso "fiesta2").... pongo en uses (los que hay dentro de implementation) uses fiesta; Pues le doy a F9 y lo ejecuto y me dice noseque circular noseque.... osea eso que me dijiste jajaja. ¿Qué hago?. Te pego aquí los codigos: Mi Unit1:
Mi Unit2
Última edición por kbaby fecha: 09-05-2008 a las 22:00:11. |
#9
|
||||
|
||||
Sigo sin poder utilizar la ListBox de mi Form1 en el Form2 :S aquí arriba os puse el code de mis dos formularios. Gracias
|
#10
|
||||
|
||||
A ver... No veo donde está el problema...
Te paso un ejemplo sencillo para que veas de lo que hablo. Ya nos dirás como avanzas. Saludos, |
#11
|
||||
|
||||
Voy a ver que tal el ejemplo. Gracias tio.
|
#12
|
||||
|
||||
aqui vuelvo, con el mismo problema, no se como hacerlo. no se hacer lo siguiente:
cuando en un listbox tengo los items metidos... yo quiero insertar el dni de una persona en un edit y al pulsar en un button... que me salga un mensaje (si puede ser en una tabla stringnoseke) con los datos de la persona. Sería asi: Lisbox: dni1 nombre1 apellido1 telefono1 dni2 nombre2 apellido2 telefono2 Cuando en el edit ponga "dni2" me volcara en una tabla: dni2 - nombre2 - apellido2 - telefono2 Espero explicarme bien (aunque no lo se). gracias |
#13
|
||||
|
||||
Tu ejemplo me ayuda mucho porque porlomenos BUSCA el item. Ahora yo quiero aprender como pasar ese item (y los que les siguen) a una tabla.
|
#14
|
||||
|
||||
Hola kbaby... el siguiente código es un ejemplo de lo que buscas:
El código funciona, siempre que busques el DNI. Si buscas el apellido o cualquier otro dato no vas a obtener lo que deseas... Hice el supuesto de que siempre están disponibles todos los datos, de otro modo el algoritmo falla. Para hacerte una idea de porque funciona. piensa al listBox como una lista. Y cada elemento ocupa una posición. Código:
0 - DNI 1 - Nombre 2 - Apellido 3 - Teléfono 4 - DNI 5 - Nombre 6 - Apellido 7 - Teléfono Es por ello que al encontrar la posición del DNI, la copio a la posición [1,1] del stringGrid, luego, exploro las siguientes 3 posiciones y las añado a la posición [i,1]. ¿Porqué sacamos siempre el valor del Indice? Pues porque si te fijas, al final de cada bucle FOR incremento (la función inc()) la variable indice en 1. Y esto hace que con cada pasada, se obtenga el siguiente elemento del ListBox. Inc(indice) es análogo a indice := indice + 1; inc(indice, 2) es análogo a indice := indice + 2; Analiza el código que te pasee y ve de que manera se adapta a lo que buscas. Muchas de las cosas que preguntas tienen tanto de lógica como del uso del uso de las propiedades de los objetos que empleas. No temas pulsar F1 al seleccionar un objeto. Por ejemplo, si no sabes como usar el StringGrid, arrastra uno al form, seleccionalo y presiona F1. Obtendrás la ayuda. El inglés no es pretexto, habiendo traductores on-line como off-line. Saludos, |
#15
|
||||
|
||||
Tio, muchas gracias, me entere fenomenal. Ahora viene la segunda parte... ver si yo puedo. Ahora te aviso.
|
#16
|
||||
|
||||
Primer problema que me surge:
"Estoy intentando que el programa lea un archivo .txt previamente creado con los datos puestos: nombre apellido nombre apellido (esto es una prueba) Bueno el problema es que cuando le doy a "recuperar" pues me lo lee y sale en el LISTBOX pero con un espacio entre nombre y apellido... así: pepe //aqui hay un espacio que no había gomez // aquí tambien juan // aqui tambien lopez El codigo es: Código Delphi [-]var f:textfile; n:string; begin assignfile(f,'nombres.txt'); reset(f); while not eof(f) do begin readln(f,n); edit1.Text:=n; button1.Click; //añadir ¿en mis apuntes sale ke tengo que poner esto... pq? button2.Click; //lo que hace es volcar end; closefile(f); end; end. |
#17
|
||||
|
||||
Primer problema que me surge:
"Estoy intentando que el programa lea un archivo .txt previamente creado con los datos puestos: nombre apellido nombre apellido (esto es una prueba) Bueno el problema es que cuando le doy a "recuperar" pues me lo lee y sale en el LISTBOX pero con un espacio entre nombre y apellido... así: pepe //aqui hay un espacio que no había gomez // aquí tambien juan // aqui tambien lopez El codigo es:
|
#18
|
||||
|
||||
kbaby, el TListBox cuenta con los métodos LoadFromFile y SaveToFile que hace todo el trabajo más fácil.
LoadFromFile abre un archivo y lo muestra. SaveToFile lo guarda. El archivo que se genera es como aparece en el ListBox. Cada texto en un "renglón". Es decir que si en un ListBox tienes esto (cada uno en una linea): Código:
Hola como estas kbaby yo aqui un poco adivinando lo que hace ese button1.click y también desorientado con el button2.click El problema con ese código puede deberse al Readln() ya que eso hace que se pase al siguiente "renglón". El porque en tus apuntes invocas a un Button1.Click y luego a un Button2.Click lo desconozco... es cosa de tus apuntes... y pues... no estoy allí para ver que es lo dicen. Si nos aportaras más datos podría saber el modo de ayudarte. Saludos, |
#19
|
||||
|
||||
¿Por qué utilizas el Inc(indice)?
Es lo único que no me ha quedado claro. Yo pulso f1, y lo leo, pero no veo como se adapta lo que a mí me han enseñando y no puedo llevar algo que no haya yo enseñado. Ahora si yo el " Inc(indice)" lo adapto a lo que me han enseñado pues sí. Espero me comprendas. |
#20
|
||||
|
||||
Cita:
Problema solucionado, fue simplemente ir probando, el código quedaría así:
Lo que hace el boton añadir es irse esto: Mete la 1º linea del .txt en el edit1.text, luego la 2º linea en el edit2.text y así hasta las cuatro lineas y luego las añade al listbox. Esto lo repite hasta llegar al final. Luego lo vuelca en la tabla. He quitado lo de volcarlo porqueno me interesa volcar TODO. Duda: ¿Cabe la posibilidad de recuperar la información del .TXT en el LISTBOX sin tener que hacerlo de mi manera tan "cutre"?. Última edición por kbaby fecha: 26-05-2008 a las 19:29:24. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Ayuda con código. | wofox | Varios | 6 | 11-12-2007 00:16:21 |
Ayuda con un codigo | JoNieve | C++ Builder | 0 | 21-04-2007 12:27:33 |
Ayuda con error en codigo :-( | jorgegetafe | Varios | 6 | 07-02-2007 19:29:04 |
Codigo de Barras.... Ayuda!!!!! | adolfoz | Varios | 14 | 15-11-2006 17:13:55 |
Ayuda con código de barras | ramiretor | Varios | 0 | 28-06-2003 00:42:58 |
|