Barfinf

Calls to Barfinf return the type and extension of the graphic file types supported by the Barcodef calls (above).

int WINAPI Barfinf(int I,(LPSTR)szwords,(LPSTR)szext)

Where

I =index of call (starting at 0)

szwords = pointer to NULL terminated string containing the name of the file type [e.g. Windows metafile (*.wmf)]

szext = pointer to NULL terminated string containing the wildcard form of the file name (e.g. *.wmf).

Barfinf calls may be enumerated to determine all the graphics file types supported for use in an OpenFile dialog as shown:

{

char szFileName[128];

char buf[64];

OPENFILENAME        ofn;

char szFile[256],szFileTitle[256];

LPSTR szFilt[15];

char szbuf[256];

int i,j;

char szwords[36],szext[12];

i=0;

    lstrcpy(buf,"dBarcode - Save Metafile");

        szFilt[i]=(LPSTR)szbuf;

        szFile[i]='\0';

j=0;

while (Barfinf(j,(LPSTR)szwords,(LPSTR)szext)>-1) {

          lstrcpy(szFilt[i],(LPSTR)szwords);

          szFilt[i+1]=szFilt[i]+lstrlen(szFilt[i])+1;

          i++;

          lstrcpy(szFilt[i],(LPSTR)szext);

          szFilt[i+1]=szFilt[i]+lstrlen(szFilt[i])+1;

          i++;

          j++;

}

lstrcpy(szFilt[i],"");

szFilt[i+1]=szFilt[i]+1;

lstrcpy(szFilt[i+1],"");

ofn.lStructSize=sizeof(OPENFILENAME);

ofn.hwndOwner=NULL;

ofn.lpstrFilter=szFilt[0];

…….. etc

ofn.lpstrDefExt=NULL;

if (GetSaveFileName(&ofn)) {

          lstrcpy ((LPSTR)szFileName, (LPSTR)szFile);

          if (strchr(szFile,'.')==0) {

                    i=2*(int)ofn.nFilterIndex-1;

                    if (i<=0)

                       i=1;

                    lstrcpy(buf,szFilt[i]);

                    lstrcat(szFileName,(LPSTR)strchr(buf,'.'));

                    }

          SaveFile(szFileName);

          }

}

More:

BarInit