home *** CD-ROM | disk | FTP | other *** search
/ Microsoft Programmer's Library 1.3 / Microsoft-Programers-Library-v1.3.iso / sampcode / win_lrn / string / atom.c < prev    next >
C/C++ Source or Header  |  1988-08-10  |  2KB  |  51 lines

  1. /*    Atom.c 
  2.  *
  3.  * This program is designed to be used in conjunction with atom2. These
  4.  * two programs will demonstrate the use of atoms. Atoms are integers
  5.  * that uniquely identify character strings. Atoms are stored in tables.
  6.  * These two programs will share certain global atom tables.
  7.  *
  8.  */
  9. #include "windows.h"
  10. #include "stdio.h"
  11. #include "process.h"
  12.  
  13. int PASCAL WinMain (hInstance, hPrevInstance, lpszCmdLine, cmdShow)
  14. HANDLE hInstance, hPrevInstance;
  15. LPSTR  lpszCmdLine;
  16. int    cmdShow;
  17. {
  18.        int     IDForAtom;
  19.          int        IDForAtom2;
  20.          int        ActualAtomSize;
  21.          int        AtomMaxSize = 20;
  22.          int     MB_Return;
  23.        HANDLE  hToAtom;
  24.        BOOL       bTableAdded;
  25.        char    szTempBuff[80];
  26.          char        szMainBuff[80];
  27.  
  28.    bTableAdded = InitAtomTable(101);
  29.       /* Only neccessary if you want more than 37 entries in your atom
  30.        * table. NOTE: 101 is the number of possible entries and should
  31.        * be PRIME
  32.        */
  33.  
  34.     /* Deal with local atoms    */
  35.     IDForAtom = AddAtom((LPSTR)"This is an Example String");
  36.  
  37.     IDForAtom = FindAtom((LPSTR)"This is an Example String");
  38.     ActualAtomSize = GetAtomName(IDForAtom, (LPSTR)szTempBuff, AtomMaxSize);
  39.     hToAtom = GetAtomHandle(IDForAtom);
  40.  
  41.     IDForAtom = DeleteAtom(IDForAtom);
  42.  
  43.     /* Deal with global atoms    */
  44.     IDForAtom2 = GlobalAddAtom((LPSTR)"This is another");
  45.  
  46.     sprintf ( szMainBuff, "%s%s%d%s%d", szTempBuff,"ID is : ",IDForAtom,
  47.         "\nID2 is : ", IDForAtom2);
  48.     MB_Return = MessageBox(NULL, (LPSTR)szMainBuff, (LPSTR)"Atom Example", MB_OK);
  49.     MB_Return = MessageBox(NULL, (LPSTR)"Continue test by Running Atom2", (LPSTR)"Atom Example", MB_OK);
  50. }
  51.