![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
||||
|
||||
|
union
Gracias a los dos por vuestras explicaciones. Sin duda es la definición perfecta para lo que significan esas dos variables definidas en el registro union. Lo único que veo "feo" es definir dentro del struct el union, en vez de definirlo aparte y luego simplemente invocar al union asignándole un nombre.
Cita:
Lo digo porque tal y como está definido, para acceder a frame_number de la primera forma tendría que "presuponer" que el nombre con el que se invoca a union es "number", o sea: Cita:
Mientras que de la forma que propongo veo más claro acceder así: Cita:
. Por cierto, gracias de nuevo, da sentido totalmente a lo que teóricamente significan esas variables, ya que necesito que cuando una cambie de valor, automáticamente la otra también lo haga. La faena va a ser encontrar su "análogo" en Delphi, ¿tenéis algún as más en la manga? |
|
#2
|
||||
|
||||
|
Cuando la definición de un tipo la haces dentro de una estructura o clase, es porque consideras que es propio de esa estructura o clase. Generalmente sólo la vas a utilizar desde ella. El mismo nombre puede ser utilizado en otro ámbito para definir un tipo totalmente distinto. Los motivos, de este tipo de declaraciones, no son de sintaxis sino mas bien de "encapsulamiento" en esa estructura. Si ese tipo va a ser de uso general, entonces puede ser mas coherente definirlo como independiente.
No se mucho de delphi, por lo que no te puedo ayudar en la conversión de union. Ni siquiera se si existe en delphi. Saludos. |
|
#3
|
||||
|
||||
|
Bueno Escafandra, puedo estar de acuerdo con lo que dices, aunque reitero mi duda. Suponiendo ese caso inicial que propuse, con el encapsulamiento de union dentro de struct, yo preguntaba finalmente cómo acceder a alguno de sus campos (ya que nunca me he encontrado con nada similar, siempre lo hacía con alguna variable definida para el tipo/registro que fuese), y proponía el siguiente acceso y más obvio (para acceder a frame_number):
Cita:
Gracias de nuevo a todos por vuestro interés. |
|
#4
|
||||
|
||||
|
Claro, esa es la forma de acceder a los elementos de esa union
Código:
miFLAC__FrameHeader.number.frame_number miFLAC__FrameHeader.number.sample_number |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Problema con UNION | Alexander | Conexión con bases de datos | 2 | 05-07-2006 06:11:51 |
| Problema Con Union All | poniente | SQL | 4 | 29-05-2006 19:18:31 |
| Select de un Union All?? | Luana | Tablas planas | 1 | 17-04-2006 16:24:07 |
| Union en BDE | eduarcol | SQL | 9 | 05-07-2004 18:49:10 |
|