FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Buscar en una estructura record
Hola, como puedo armar una función para que me sirva para buscar en distintas estructuras Record ?
(por lo menos no ví ninguna que lo haga) por ejemplo tengo
y acá el problema de como buscar, este es un simple ejemplo que no funciona, cualquier ayuda es bien venida
Muchas Gracias |
#2
|
||||
|
||||
Hola.
¿ En cuál versión de Delphi estas trabajando ? Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#3
|
|||
|
|||
usando delphi 7
|
#4
|
||||
|
||||
Cita:
Hola Veo que en el parametro campo envias el nombre del campo que quieres buscar. La verdad eso no lo veo viable y no creo que alguna version de delphi la acepte. Tal vez usando RTTI podrias acceder a cualquier campo del record pero de esa forma no lo creo. Se que no es de ayuda pero creo que tendrias que buscar otra manera. Haber si alguien mas nos saca de la duda. Saludos
__________________
Caminante, son tus huellas el camino y nada más; Caminante, no hay camino, se hace camino al andar. Antonio Machado |
#5
|
||||
|
||||
Hola.
Por eso era mi pregunta, desde Delphi 7 no veo posible que accedas a los campos de un record. Si fuese Delphi 2010 o una versión superior, podrías hacerlo usando RTTI como se muestra en este enlace: List the Record's element\fields Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#6
|
|||
|
|||
y hay alguna forma de buscar siempre en el primer campo ?
|
#8
|
|||
|
|||
Muchas gracias a todos, lo de escafandra anda ok
pero quiero poder recibir cualquier tipo record, por ejemplo
// como debo definir aRecord para poder recibir cualquier tipo de array record ?, (mi mira a los punteros está muy desviada) Muchas gracias
|
#9
|
||||
|
||||
Lo que pretendes tiene solución con punteros, pero el primer campo de cada estructure (record) debe ser del mismo tipo, en este caso String. No nos importa como se llame, lo podemos localizar.
Basado en tu código, podemos definir el parámetro aRecord como un array de punteros. Cada puntero apuntará a un elemento de una estructura.
Saludos |
#10
|
|||
|
|||
gracias escafandra !!
|
#11
|
|||
|
|||
Una ayuda más por favor
como busco en el primer campo recorriendo un array, muestro con ERROR donde recibo error al compilar, gracias de antemano
|
#12
|
||||
|
||||
Hola.
El error se produce por que estas enviando a la la función Length() un valor de tipo TRecord2 y esta sólo admite los tipos string o array. Si deseas obtener el tamaño en bytes del argumento "aRecord" deberías usar la función SizeOf(). Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#13
|
|||
|
|||
ok, si yo defino
como hago para saber que tengo que recorrer 3 items dentro de la funcion ? y como puedo obtener el primer campo, que también me da error al compilar s := (PPString(@aRecord[i])^)^; // ERROR Array typed required muchas Gracias |
#14
|
||||
|
||||
Hola.
Cita:
vg.r.:
Cita:
Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#15
|
|||
|
|||
ok, en lo de Escafandra busca en el primer campo de CADA array si mando varios arrays, eso está ok
Yo quiero buscar en el primer campo dentro del único array que le mando, por eso definí BitBtn4Click que llama a function BuscarEnRecord4(aRecord: TRecord2; Buscar:string):integer; y lo que me cuesta, entra varias cosas..., es poder definir aRecord de un tipo puntero que pueda apuntar a cualquier tipo de TRecord por eso arme el ejemplo de BitBtn4Click que llama a function BuscarEnRecord4(aRecord: TRecord2; Buscar:string):integer; GRACIAS otra vez |
#16
|
||||
|
||||
Cita:
funciona sin problemas siempre y cuando el primer campo de los Records sea del mismo tipo... Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#17
|
|||
|
|||
ok, eso funciona bárbaro... pero r1 no es un array
serias tan amablede hacerlo funcionar definiendo un array como por ejemplo que está en el ejemplo BuscarEnRecord4 y BitBtn4Click que es donde me dan los errores, yo quiero poder recorrer el array que le mande Gracias Última edición por ecfisa fecha: 08-08-2018 a las 01:41:52. Razón: Agregar etiquetas [DELPHI] [/DELPHI] |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Estructura .pak | JORGE13 | Tablas planas | 3 | 17-12-2010 15:13:15 |
Estructura BD | mjjj | SQL | 12 | 14-12-2009 14:12:34 |
Puntero a Estructura (Record) | jlrbotella | OOP | 2 | 05-03-2007 13:39:51 |
object pascal - buscar en un record por contenido de un edit. | runnerfrog | OOP | 5 | 19-12-2006 13:31:06 |
Estructura de un CD | david duarte | Varios | 4 | 27-10-2005 18:48:50 |
|