W
wwwxiaopeng
Unregistered / Unconfirmed
GUEST, unregistred user!
我用Delphi + DirectDraw编程时遇到一个问题,如下:
C++语言的程序为:
DDSURFACEDESC2 ddsd;
......
int mempitch = ddsd.lPitch;
UCHAR * video_buffer = ddsd.lpSurface;
// plot 1000 random pixels with random colors on the primary surface,
// they will be instantly visible
for (int index=0;
index<1000;
index++)
{
UCHAR color = rand() % 256;
int x = rand() % 640;
int y = rand() % 480;
// plot the pixel
[red]video_buffer[x+y*mempitch][/red] = color;<---问题部分???
} // end for index
其中lpSurface是一个指针(void *)类型,它是DDSD中的一个域,这个指针指向所创建的显示表面所驻留的实际内存,怎样才能把标记为红色的部分变为Pascal语言呢?
这是一个关于怎样把C中的指向数组的指针,用Delphi语言表达出来的问题。
指向数组的指针在Delphi中表示为:
Var FPArray : ^ Array[0..10] of integer;
对吗???
Delphi中的指针和数组的关系大不大?它们之间有怎样的联系?
C++语言的程序为:
DDSURFACEDESC2 ddsd;
......
int mempitch = ddsd.lPitch;
UCHAR * video_buffer = ddsd.lpSurface;
// plot 1000 random pixels with random colors on the primary surface,
// they will be instantly visible
for (int index=0;
index<1000;
index++)
{
UCHAR color = rand() % 256;
int x = rand() % 640;
int y = rand() % 480;
// plot the pixel
[red]video_buffer[x+y*mempitch][/red] = color;<---问题部分???
} // end for index
其中lpSurface是一个指针(void *)类型,它是DDSD中的一个域,这个指针指向所创建的显示表面所驻留的实际内存,怎样才能把标记为红色的部分变为Pascal语言呢?
这是一个关于怎样把C中的指向数组的指针,用Delphi语言表达出来的问题。
指向数组的指针在Delphi中表示为:
Var FPArray : ^ Array[0..10] of integer;
对吗???
Delphi中的指针和数组的关系大不大?它们之间有怎样的联系?