#define N_HEADERSIZE 119 #define BLACKPIXEL chr(0x00) #define WHITEPIXEL chr(0xFF) #define REDPIXEL chr(0x99) #define YELLOWPIXEL chr(0xBB) lparameters tcColor *!* set step on local lcPixel do case case empty(m.tcColor) OR lower(m.tcColor) == "black" lcPixel = BLACKPIXEL case lower(m.tcColor) == "white" lcPixel = WHITEPIXEL case lower(m.tcColor) == "red" lcPixel = REDPIXEL case lower(m.tcColor) == "yellow" lcPixel = YELLOWPIXEL otherwise return .F. endcase local lcFileStream, lcHeader lcFileStream = filetostr(home()+'fox.bmp') lcHeader = left(m.lcFileStream,N_HEADERSIZE) local lcBody, i lcBody = space(0) for i = 1 to len(m.lcFileStream) - N_HEADERSIZE lcBody = m.lcBody + m.lcPixel endfor local lcFile lcFile = 'test55.bmp' local lcSafety lcSafety = set('safety') set safety off strtofile(m.lcHeader+m.lcBody,m.lcFile) set safety &lcSafety declare integer ShellExecute ; in shell32.DLL ; integer nWinHandle, ; string cOperation, ; string cFileName, ; string cParameters, ; string cDirectory, ; integer nShowWindow ShellExecute( 0, 'open',m.lcFile,'',fullpath(curdir()),0)hth