Entendiendo C para poder traducir a Pascal

31/12/2003 - 08:54 por Julian Maisano | Informe spam
Necesito traducir un pequeño programa de C a Delphi, pero estoy bastante
confundido con algunas lineas.
Por ejemplo:

BYTE data[2000]={0};

Supongo que es un array de 2000 elementos de tipo Byte, que se llena con
0
Es así?


Acá no tengo idea, porque me confunde mucho el uso que se le da al
asterisco. A veces antecediendo a la variable y en otros casos se encuentra
despues.

BITMAPINFOHEADER *bh=(BITMAPINFOHEADER*)data;

RGBQUAD *pal=(RGBQUAD*)(data+sizeof(*bh));

(BITMAPINFO*)bh {Esto es una conversion de tipo? El asterisco que
significa? Puntero a BITMAPINFO?}

&specbuf {the data referenced by a Pointer variable?}


Gracias de antemano, y espero sus respuestas...
Feliz Año Nuevo!!!!

Preguntas similare

Leer las respuestas

#1 Rodrigo Corral González
31/12/2003 - 09:16 | Informe spam
Lee entre lineas

"Julian Maisano" escribió en el mensaje
news:e$
Necesito traducir un pequeño programa de C a Delphi, pero estoy bastante
confundido con algunas lineas.
Por ejemplo:

BYTE data[2000]={0};

Supongo que es un array de 2000 elementos de tipo Byte, que se llena con
0
Es así?



Si es lo que supones.



Acá no tengo idea, porque me confunde mucho el uso que se le da al
asterisco. A veces antecediendo a la variable y en otros casos se


encuentra
despues.

BITMAPINFOHEADER *bh=(BITMAPINFOHEADER*)data;



En esta linea se declara la variable bh como un puntero a BITMAPINFOHEADER,
y se le asigna el resultado de convertir la variable data a el tipo puntero
a BITMAPINFOHEADER;


RGBQUAD *pal=(RGBQUAD*)(data+sizeof(*bh));




Se declara una variable pal como puntero a RGBQUAD y se apunta a la
dirección en memoria del puntero data incrementada en tamaño de un puntero a
BITMAPINFOHEADER que es lo que es la variable bh.

(BITMAPINFO*)bh {Esto es una conversion de tipo? El asterisco que
significa? Puntero a BITMAPINFO?}




Es una conversión de tipo, se convierte bh en un puntero a BITMAPINFO.

&specbuf {the data referenced by a Pointer variable?}



Esto es una referencia, piensa en ello como la dirección de una variable, o
como un parametro por referencia.



Gracias de antemano, y espero sus respuestas...
Feliz Año Nuevo!!!!








Un saludo
Rodrigo Corral González

microsoft.public.es.vc FAQ
http://vcfaq.europe.webmatrixhostin...+.faq.html
Respuesta Responder a este mensaje
#2 Hernán
31/12/2003 - 09:34 | Informe spam
"Julian Maisano" escribía,

Necesito traducir un pequeño programa de C a Delphi, pero estoy bastante
confundido con algunas lineas.
Por ejemplo:

BYTE data[2000]={0};

Supongo que es un array de 2000 elementos de tipo Byte, que se llena con
0
Es así?





Así es...

Acá no tengo idea, porque me confunde mucho el uso que se le da al
asterisco. A veces antecediendo a la variable y en otros casos se encuentra
despues.

BITMAPINFOHEADER *bh=(BITMAPINFOHEADER*)data;




si no he olvidado mi pascal...

type PBITMAPINFOHEADER = ^TBITMAPINFOHEADER;

var bh : PBITMAPINFOHEADER;

bh := PBITMAPINFOHEADER(data);

RGBQUAD *pal=(RGBQUAD*)(data+sizeof(*bh));




o lo que es igual

RGBQUAD *pal = ((BITMAPINFO *)bh)->bmiColors;

(BITMAPINFO*)bh {Esto es una conversion de tipo? El asterisco que
significa? Puntero a BITMAPINFO?}

&specbuf {the data referenced by a Pointer variable?}




como en @specbuf, supongo.


Gracias de antemano, y espero sus respuestas...
Feliz Año Nuevo!!!!






Hernán (27)
Quilmes (ar)

"El futuro está en el pasado". Feliz 2004
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida