Estructura con unión en AutoIT
Publicado: 14 Jul 2016, 21:34
Hola,
¡Cuanto tiempo!. Hace mucho que no escribo por aquí, pero de vez en cuando voy entrando a ver qué se cuece por el foro :P
Pero no participo, porque hace un tiempo, dejé de programar... Pero recientemente me ha picado el gusanillo, y he vuelto a las andadas.
La cuestión es que he de trabajar con una DLL, y estoy escribiendo una UDF para hacerlo más sencillo.
Pero la API es un poco complicada, y tiene cosas en las que he perdido la práctica.
He de escribir esto en AutoIT:
He perdido la práctica, hasta el punto que no sé muy bien, qué es el primer parámetro de la estructura... (me refiero al tipo de dato).
El problema en esta estructura está en la unión que contiene. Hablamos hace tiempo de uniones y AutoIT aquí:
[ul]
http://www.emesn.com/autoitforum/viewto ... ones#p9959
[/ul]
Releyéndolo, he hecho memoria sobre las uniones en C++; que no recordaba muy bien como funcionaban.
Así, que la idea de como implementarlas en AutoIT la tengo. Pero no he conseguido hacer nada bueno con esta estructura.
Por suerte es mucho más sencilla que la del post anterior ;)
¿A alguien se le ocurre como debería hacerla en AutoIT?.
Por cierto, esta estructura se encuentra en:
[ul]
http://espeak.sourceforge.net/speak_lib.h
[/ul]
Salu2!
¡Cuanto tiempo!. Hace mucho que no escribo por aquí, pero de vez en cuando voy entrando a ver qué se cuece por el foro :P
Pero no participo, porque hace un tiempo, dejé de programar... Pero recientemente me ha picado el gusanillo, y he vuelto a las andadas.
La cuestión es que he de trabajar con una DLL, y estoy escribiendo una UDF para hacerlo más sencillo.
Pero la API es un poco complicada, y tiene cosas en las que he perdido la práctica.
He de escribir esto en AutoIT:
Código: Seleccionar todo
typedef struct {
espeak_EVENT_TYPE type;
unsigned int unique_identifier; // message identifier (or 0 for key or character)
int text_position; // the number of characters from the start of the text
int length; // word length, in characters (for espeakEVENT_WORD)
int audio_position; // the time in mS within the generated speech output data
int sample; // sample id (internal use)
void* user_data; // pointer supplied by the calling program
union {
int number; // used for WORD and SENTENCE events.
const char *name; // used for MARK and PLAY events. UTF8 string
char string[8]; // used for phoneme names (UTF8). Terminated by a zero byte unless the name needs the full 8 bytes.
} id;
} espeak_EVENT;
El problema en esta estructura está en la unión que contiene. Hablamos hace tiempo de uniones y AutoIT aquí:
[ul]
http://www.emesn.com/autoitforum/viewto ... ones#p9959
[/ul]
Releyéndolo, he hecho memoria sobre las uniones en C++; que no recordaba muy bien como funcionaban.
Así, que la idea de como implementarlas en AutoIT la tengo. Pero no he conseguido hacer nada bueno con esta estructura.
Por suerte es mucho más sencilla que la del post anterior ;)
¿A alguien se le ocurre como debería hacerla en AutoIT?.
Por cierto, esta estructura se encuentra en:
[ul]
http://espeak.sourceforge.net/speak_lib.h
[/ul]
Salu2!