![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
не могу перести на Delphi
CodeMaster © (2009-02-06 19:14:00)Есть вот такая вот строчка на С++ :
specbuf[y*SPECWIDTH+x]=c&1?127:1
Не могу никак разобраться как записать c&1?127:1 в Delphi помогите пожалуйста
CodeMaster (2009-02-06 19:36:00) [1]Именно возникают вопросы в следующих строках:
BYTE *specbuf;
.........
BYTE data[2000]={0};
BITMAPINFOHEADER *bh=(BITMAPINFOHEADER*)data;
RGBQUAD *pal=(RGBQUAD*)(data+sizeof(*bh));
...........
specbmp=CreateDIBSection(0,(BITMAPINFO*)bh,DIB_RGB_COLORS,(void**)&specbuf,NULL, 0);
CodeMaster (2009-02-06 19:35:00) [2]возникает ещё вопрос:
//Глобальные переменные
HDC specdc=0;
HBITMAP specbmp=0;
BYTE *specbuf;
//Кусок из функции создания окна.
BYTE data[2000]={0};
BITMAPINFOHEADER *bh=(BITMAPINFOHEADER*)data;
RGBQUAD *pal=(RGBQUAD*)(data+sizeof(*bh));
int a;
bh->biSize=sizeof(*bh);
bh->biWidth=SPECWIDTH;
bh->biHeight=SPECHEIGHT; // upside down (line 0=bottom)
bh->biPlanes=1;
bh->biBitCount=8;
bh->biClrUsed=bh->biClrImportant=256;
// setup palette
for (a=1;a
Anatoly Podgoretsky (2009-02-06 19:32:00) [3]> CodeMaster (06.02.2009 19:14:00) [0]
if then else
Palladin (2009-02-06 19:17:00) [4]If (c and 1)=1 Then specbuf[y*SPECWIDTH+x]:=127 Else specbuf[y*SPECWIDTH+x]:=1;