terug.gif
#include "windows.h" /* required for all Windows applications */
#include "windowsx.h" /* required for all Windows applications */
#include <shellapi.h>
#include <string.h>
#include <stdlib.h>
#include <sys\stat.h>
#include <sys\timeb.h> // For extended timer definitions
#include <time.h>
#include <stdio.h>
#include <io.h>
#include "winrouti.h"
#define SPACE " 
"
void VIERTO32(int);
extern BYTE BitMapBits[24][1024];
extern HBITMAP hBitmap[24];
extern BITMAPINFOHEADER Bi;
extern LPBITMAPINFOHEADER lpbi;
extern HANDLE hDIB[24];
extern HWND hwnd;
extern unsigned long kleurtbl[];
extern int xco, yco;
extern int dHeight;
extern unsigned char rvenster_ylo, rvenster_xrb;
extern char scherm[50][99];
extern BOOL bPlane[24];
extern HFONT hFont;
extern unsigned int VTO32L, VTO32H;
extern unsigned long VTO32;
void SetByte(unsigned int offset, BYTE waarde, int mode)
{
HDC hdc;
unsigned int data1, data2;
int welke;
char tekst[80];
// if (waarde != 0)
// strcpy(tekst, "_");
switch (mode) {
case 0x10:
// beeld vergroten tot x * 2 en y * 3
// 128 * 64 punten
data1 = ACHTTO32L(waarde);
data2 = ACHTTO32H(waarde);
welke = offset / 256;
offset = offset % 256;
offset *= 4;
bPlane[welke] = TRUE;
lpbi = (BITMAPINFOHEADER FAR *) GlobalLock(hDIB[welke]);
BitMapBits[welke][offset] = HIBYTE(data1);
BitMapBits[welke][offset+1] = LOBYTE(data1);
BitMapBits[welke][offset+2] = HIBYTE(data2);
BitMapBits[welke][offset+3] = LOBYTE(data2);
GlobalUnlock(hDIB[welke]);
break;
case 0x40:
data1 = ACHTTO32L(waarde);
data2 = ACHTTO32H(waarde);
welke = offset / 256;
offset = offset % 256;
offset *= 4;
bPlane[welke] = TRUE;
lpbi = (BITMAPINFOHEADER FAR *) GlobalLock(hDIB[welke]);
BitMapBits[welke][offset] = HIBYTE(data1);
BitMapBits[welke][offset+1] = LOBYTE(data1);
BitMapBits[welke][offset+2] = HIBYTE(data2);
BitMapBits[welke][offset+3] = LOBYTE(data2);
GlobalUnlock(hDIB[welke]);
break;
case 0x4a:
VIERTO32(waarde);
welke = offset / 256;
offset = offset % 256;
offset *= 4;
bPlane[welke] = TRUE;
lpbi = (BITMAPINFOHEADER FAR *) GlobalLock(hDIB[welke]);
BitMapBits[welke][offset] = LOBYTE(VTO32L);
BitMapBits[welke][offset+1] = HIBYTE(VTO32L);
BitMapBits[welke][offset+2] = LOBYTE(VTO32H);
BitMapBits[welke][offset+3] = HIBYTE(VTO32H);
// BitMapBits[welke][offset] = (unsigned long) VTO32;
GlobalUnlock(hDIB[welke]);
break;
case 0x3a:
VIERTO32(waarde);
welke = offset / 256;
offset = offset % 256;
offset *= 4;
bPlane[welke] = TRUE;
lpbi = (BITMAPINFOHEADER FAR *) GlobalLock(hDIB[welke]);
BitMapBits[welke][offset] = LOBYTE(VTO32L);
BitMapBits[welke][offset+1] = HIBYTE(VTO32L);
BitMapBits[welke][offset+2] = LOBYTE(VTO32H);
BitMapBits[welke][offset+3] = HIBYTE(VTO32H);
// BitMapBits[welke][offset] = (unsigned long) VTO32;
GlobalUnlock(hDIB[welke]);
break;
}
}
void clear0w()
{
wClear();
}
Void wait160()
{
DWORD dTime;
MSG usermsg;
dTime = GetTickCount();
while ((GetTickCount() - dTime) < 60) {
if (PeekMessage(&usermsg, NULL, 0, 0, PM_REMOVE)) {
if (usermsg.message == WM_CHAR)
break;
TranslateMessage (&usermsg) ;
DispatchMessage (&usermsg) ;
}
}
}
int Audit(char *functie, char *data, int status, int regel)
{
int return_code;
FILE *file1;
char buffer1[250];
char buffer2[100];
time_t timer;
struct tm htm;
char logname[12];
timer = time(NULL);
htm = *(localtime(&timer));
itoa(htm.tm_yday, logname, 10);
strcat(logname, ".log");
if ((file1 = fopen(logname, "a+")) == NULL) {
return FALSE;
}
else {
sprintf(buffer2, "Stamp: %02d:%02d:%02d 19%02d", htm.tm_hour, htm.tm_min, htm.tm_sec, htm.tm_year);
sprintf(buffer1, "%s: %s: %s Status: %2d Regel: %5d.\n", buffer2, functie,
data, status, regel);
fwrite(buffer1, strlen(buffer1), 1, file1);
fclose(file1);
}
return TRUE;
}
void wClear()
{
HDC hdc;
DWORD bkcolor, fgcolor;
HFONT hOldFont;
HideCaret (hwnd) ;
hdc = GetDC (hwnd) ;
bkcolor = GetBkColor(hdc);
fgcolor = GetTextColor(hdc);
SetBkColor(hdc, kleurtbl[0]);
SetTextColor(hdc, kleurtbl[7]);
hOldFont =(HFONT)SelectObject(hdc, hFont);
for (yco=0; yco<rvenster_ylo; yco++) {
TextOut (hdc, 0, yco * dHeight, SPACE, rvenster_xrb);
memset(scherm[0], ' ', sizeof(scherm));
}
SetBkColor(hdc, bkcolor);
SetTextColor(hdc, fgcolor);
SelectObject(hdc, hOldFont);
ReleaseDC (hwnd, hdc) ;
}
void WinBiep(int hoogte, int duur)
{
// MessageBeep(0);
}
void settimers(HWND hWnd)
{
if (SetTimer(hWnd, 1, 50, NULL) == 0) {
MessageBox(hWnd, "Geen timers over voor grafische modes", "Error", MB_OK);
}
}
void resettimer(HWND hWnd)
{
KillTimer(hWnd, 1);
}
terug.gif