Buscar Dentro De Un Array De Objetos


Subject: Buscar Dentro De Un Array De Objetos
Hola,

Es posible realizar una busqueda dentro de un array de objetos?

algo como:

id = prod.find(gv_1[i, 1].Text)


pero con un objeto.

Gracias

Profile PM  
Subject: Re: Buscar Dentro De Un Array De Objetos
Si haces tú la función sí es posible, claro. Recorres el array comparando con el valor de la propiedad buscada y retornas el objeto cuya coincidencia sea verdadera. Es fácil de hacer pero no hay nada genérico hecho, no tendría demasiado sentido.

Saludos

Profile PM  
Subject: Re: Buscar Dentro De Un Array De Objetos
Hola Shordi,

Te refieres a la funcion dentro de la clase?

Es la primera clase que he creado y voy bastante pez...

Last edited by xmuno on Wednesday, 02 September 2015, 18:08; edited 1 time in total
Profile PM  
Subject: Re: Buscar Dentro De Un Array De Objetos
xmuno escribió: [Ver mensaje]
Hola Shordi,

Te refieres a la funcion dentro de la clase?

Es la primera clase que he creado y voy bastante pez...


Vamos a ver, una clase determina las propiedades y métodos de un objeto. Un objeto es lo que se llama Instancia de una clase. En el mundo real "Encendedor" es una clase, con sus métodos (encender, apagar) y sus propiedades (color, tamaño, etc). "Mi Encencedor" es una instancia de la clase Encendedor. Es un objeto. Tiene propiedades concretas, (verde, tres centímetros)

Dentro de la clase Encendedor no puedes tener una colección de encendedores. Es un absurdo.

Lo que sí puedes tener una colección -o un array- de instancias de una clase (o varias) asociados a una instancia de otra clase "contenedora", eso sí, Por ejemplo un formulario tiene una colección "Controls" que agrupa las instancias de la clase control asociadas a él. Siguiendo con el ejemplo de la vida real una instancia de la clase "Cajón" puede contener una colección de instancias de la clase "Encendedor".

Para buscar una instancia concreta -un encendedor concreto dentro del cajón- debes implementar una función -Find puede ser el nombre correcto- que recorra esa colección como un método de la clase contenedora.

No sé si me explico...

Saludos.

Last edited by shordi on Wednesday, 02 September 2015, 19:45; edited 1 time in total
Profile PM  
Subject: Re: Buscar Dentro De Un Array De Objetos
Si, explicarte te explicas perfectamente bien. Incluso creo que lo he entendido.

El caso es que necesito guardar varias instancias de un objeto, hasta que el usuario acaba de seleccionar lo que le interesa(siguiendo tu ejemplo: quiero un encendedor verde, de 3 centimetros, otro azul de 5 centimetros...). Una vez ha acabado (ya ha seleccionado todo) hay que darle persistencia a esos datos (todavia no he resuelto eso).

He creado una clase "texto" con todas sus propiedades (tamaño de fuente, posición, etc) pero creo que no necesito metodos. Una vez tengo todos los "textos", tendré que dar persistencia. Evidentemente esos textos tendran que ser impresos en su posicion cuando sea necesario, pero para eso no creo que necesite un metodo en la clase...creo, si no una funcion extena(a la clase).

Mi idea era ir colocando lo que el usuario genera/selecciona en un array, siendo mas rápido el acceso (edicion/borrado) hasta que el usuario da el OK.

Como lo ves?

Profile PM  
Subject: Re: Buscar Dentro De Un Array De Objetos
xmuno escribió: [Ver mensaje]
Hola,

Es posible realizar una busqueda dentro de un array de objetos?

...no comprendo la dificultad...

Profile PM  
Subject: Re: Buscar Dentro De Un Array De Objetos
xmuno escribió: [Ver mensaje]
Si, explicarte te explicas perfectamente bien. Incluso creo que lo he entendido.

El caso es que necesito guardar varias instancias de un objeto, hasta que el usuario acaba de seleccionar lo que le interesa(siguiendo tu ejemplo: quiero un encendedor verde, de 3 centimetros, otro azul de 5 centimetros...). Una vez ha acabado (ya ha seleccionado todo) hay que darle persistencia a esos datos (todavia no he resuelto eso).

He creado una clase "texto" con todas sus propiedades (tamaño de fuente, posición, etc) pero creo que no necesito metodos. Una vez tengo todos los "textos", tendré que dar persistencia. Evidentemente esos textos tendran que ser impresos en su posicion cuando sea necesario, pero para eso no creo que necesite un metodo en la clase...creo, si no una funcion extena(a la clase).

Mi idea era ir colocando lo que el usuario genera/selecciona en un array, siendo mas rápido el acceso (edicion/borrado) hasta que el usuario da el OK.

Como lo ves?


No entiendo muy bien qué quieres hacer. Para lo que mencionas no necesitas métodos, efectivamente, ni objetos (dejando de lado la discusión sobre que un string lo sea o no, claro), con un array de strings te vale.

No entiendo muy bien eso de "dar persistencia". Si amplias más la información de qué quieres -¿imprimir? ¿copiar y pegar? ¿editar? ¿transformar? - tal vez te podamos ayudar más y si subes un pequeño proyecto donde se muestre lo que estás haciendo sería perfecto.

Saludos.

Profile PM  
Subject: Re: Buscar Dentro De Un Array De Objetos
Vuott, Shell

Teneis razón... , lo siento, no habia tal dificultad.
Citar:
tal vez te podamos ayudar más y si subes un pequeño proyecto donde se muestre lo que estás haciendo sería perfecto.

Agradezco tu ofrecimiento Shell. El objetivo es hacer un pequeño editor de etiquetas, poder diseñar etiquetas de diferentes tamaños y con diferentes textos, images, etc.
Os he subido lo que he hecho hasta ahora, que es muy poco, y seguramente es muy mejorable, pero servirá para que veáis que es mas o menos lo que quiero. Al tener conocimientos limitados, estoy seguro de que hay mejores maneras de hacerlo.

Citar:
No entiendo muy bien eso de "dar persistencia"

Con lo de "persistencia" quiero decir que, una vez acabado el diseño, deberia de poder guardarlo en una bbdd. Pero eso ya llegará.
Citar:
Para lo que mencionas no necesitas métodos, efectivamente, ni objetos (dejando de lado la discusión sobre que un string lo sea o no, claro), con un array de strings te vale.

Lo sé, pero tengo que empezar con POO, y este pequeño proyecto me ha parecido un momento tan bueno como cualquier otro.

Ahora voy a intentar implementar la posibilidad de mover las cajas con el raton, tipo drag&drop. Por favor, no dudeis en corregirme en todo lo que creáis conveniente, estoy aprendiendo, y me gustaria aprender bien.

Gracias a todos.


diseti.tar.gz
Description:  
Download
Filename: diseti.tar.gz
Filesize: 10.3 KB
Downloaded: 73 Time(s)
diseti.tar.gz
Description:  
Download
Filename: diseti.tar.gz
Filesize: 10.3 KB
Downloaded: 73 Time(s)
diseti.tar.gz
Description:  
Download
Filename: diseti.tar.gz
Filesize: 10.3 KB
Downloaded: 73 Time(s)

Profile PM  
Subject: Re: Buscar Dentro De Un Array De Objetos
Bien, efectivamente, hay que empezar a aprender por algún lado... pero no creo que ese sea el más efectivo. Uno aprende -es mi opinión- primero a usar lo que hay hecho y, a partir de ahí, aporta y añade su granito de arena al proyecto. (Es aquello de los enanos subidos a hombros de gigantes que dijo no sé quién). Creo entender lo que quieres hacer y me parece muy interesante: un diseñador de etiquetas a base de mover cuadros de texto dentro del DrawingArea.

Yo no lo haría así, dicho sea y sin entrar en si se puede o es buena idea o no. Yo utilizaría un panel a secas, no un drawingarea y sobre él colocaría objetos textArea o, quizá, textlabel. El TextArea muestra un richtext, es decir, admite negrita, cambio de fuente, colores de fuente, márgenes, ajustes de margen, etc. etc. por lo que a la hora de crear alguna etiqueta aumenta tus posibilidades ad infinitum y no siempre es necesario inventar la rueda de nuevo para entender cómo funciona...

Sólo tendrías que controlar vía drag & drop el lugar y tamaño de cada uno y podrías editar el texto, incluyendo todas esas características mentadas en tu cuadradito de la derecha.

Eso es cómo lo haría yo, claro, que no quiere decir nada porque tú no eres yo. De todas formas, me he permitido el modificarte ligeramente el formato del fMain, incluyendo contenedores auto-ajustables, de manera que no se haga necesario eso de ampliar o disminuir la pizarra vía numeros y botones, sino símplemente pinchando y arrastrando los bordes y el tamaño del Form.

Espero que te sea de ayuda.


diseti-0.0.1.tar.gz
Description:  
Download
Filename: diseti-0.0.1.tar.gz
Filesize: 6.2 KB
Downloaded: 73 Time(s)
diseti-0.0.1.tar.gz
Description:  
Download
Filename: diseti-0.0.1.tar.gz
Filesize: 6.2 KB
Downloaded: 73 Time(s)
diseti-0.0.1.tar.gz
Description:  
Download
Filename: diseti-0.0.1.tar.gz
Filesize: 6.2 KB
Downloaded: 73 Time(s)

Profile PM  
Subject: Re: Buscar Dentro De Un Array De Objetos
Muchas gracias shell por tus consejos.

De echo los numeros para ampliar la pizzarra son milimetros, ancho y alto de la etiqueta, que evidentemente hacen que el drawinng area sea mas grande o pequeño. Evidentemente cuando imprimes coinciden (si no me he equivocado) exactamente todos los tamaños con lo diseñado. Quizas para vosotros sea senzillo, pero a mi me ha llevado un trabajo, que me ha ayudado a aprender.

Si tu o algun otro tiene cualquier otra sugerencia os agradeceria que no dudeiss en hacermela saber.

Voy a echarle un ojo mañana mismo, si puedo, a tus modificaciones.

Muchas gracias.

Profile PM  

Page 1 of 1


  
You cannot post new topics
You cannot reply to topics
You cannot edit your posts
You cannot delete your posts
You cannot vote in polls
You cannot attach files
You can download files
You cannot post calendar events

   

This is a "Lo-Fi" version of our main content. To view the full version with more information, formatting and images, please click here.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Generation Time: 0.1109s (PHP: -22% SQL: 122%)
SQL queries: 26 - Debug Off - GZIP Enabled