home *** CD-ROM | disk | FTP | other *** search
/ Vectronix 2 / VECTRONIX2.iso / FILES_01 / LATTIC_3.LZH / EXAMPLES / CHDIRACC.C < prev    next >
C/C++ Source or Header  |  1990-01-29  |  1KB  |  75 lines

  1. /*
  2.  * chdiracc.c - a sample desk accessory for Lattice C 5
  3.  *
  4.  * Started 17/1/90 Alex G. Kiernan
  5.  *
  6.  * Compile using:
  7.  *
  8.  *    lc -v -csfm -O -ta -Lavg chdiracc
  9.  *
  10.  * Copyright (c) 1990 HiSoft.
  11.  */
  12.  
  13. #include <stdio.h>
  14. #include <string.h>
  15. #include <aes.h>
  16. #include <dos.h>
  17.  
  18. int main(void)
  19. {
  20.     char select[FNSIZE];
  21.     char dirname[FMSIZE];
  22.     short msg[8];
  23.     int id;
  24.     short button;
  25.     
  26.     id=appl_init();
  27.  
  28. #ifndef NOT_A_DA
  29.     menu_register(id,"  Change Directory ");    /* register as a DA */
  30. #endif
  31.  
  32.     /*
  33.      * now wait for it to be selected from desk accessories
  34.      * each select is once around loop
  35.      */
  36.      
  37.     for (;;)
  38.     {
  39. #ifndef NOT_A_DA
  40.         evnt_mesag(msg);                /* wait for an event */
  41.         if (msg[0]==AC_OPEN)
  42.         {
  43. #endif
  44.             getcd(0,dirname);
  45.             strcat(dirname,"\\");
  46.             *select=0;
  47.             wind_update(BEG_MCTRL);        /* prevent button fall through */
  48.  
  49.             /* call fsel_exinput, always safe in Lattice 5 */
  50.             fsel_exinput(dirname,select,&button,"Change Directory");
  51.  
  52.             wind_update(END_MCTRL);        /* give back the mouse */
  53.  
  54.             if (button)
  55.             {
  56.                 char *s;
  57.                 
  58.                 s=strrchr(dirname,'\\');
  59.                 if (s)
  60.                     s[1]='\0';
  61.                 chdir(dirname);
  62.             }
  63. #ifdef NOT_A_DA
  64.             else
  65.                 break;
  66. #else
  67.         }
  68. #endif
  69.     }
  70. #ifdef NOT_A_DA
  71.     appl_exit();
  72.     return 0;
  73. #endif
  74. }
  75.