home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 5 Edit / 05-Edit.zip / M-BRIEF.ZIP / EXTMACRO.C < prev    next >
C/C++ Source or Header  |  1989-02-22  |  2KB  |  130 lines

  1. /* EXTMACRO.c
  2. **
  3. ** Copyright (c) 1988, Christopher Laforet
  4. ** All Rights Reserved
  5. **
  6. */
  7.  
  8. #define LINT_ARGS
  9.  
  10.  
  11. #include <stdio.h>
  12. #include "ext.h"
  13.  
  14.  
  15. #define TRUE    -1
  16. #define FALSE    0
  17.  
  18.  
  19. LINE row;
  20. COL col;
  21. short character;
  22. char far *cptr;
  23. PFILE cur_file;
  24. char far zero_length[2];
  25.  
  26.  
  27. flagType pascal EXTERNAL prnt_time(argtype,argptr,metaflag)
  28. unsigned short argtype;
  29. ARG far *argptr;
  30. flagType metaflag;
  31.     {
  32.     fExecute("curday \", \" curdate \" at \" curtime");
  33.     }
  34.  
  35.  
  36. flagType pascal EXTERNAL open_hilite(argtype,argptr,metaflag)
  37. unsigned short argtype;
  38. ARG far *argptr;
  39. flagType metaflag;
  40.     {
  41.     fExecute("arg setfile");
  42.     }
  43.  
  44.  
  45. flagType pascal EXTERNAL special_char(argtype,argptr,metaflag)
  46. unsigned short argtype;
  47. ARG far *argptr;
  48. flagType metaflag;
  49.     {
  50.     DoMessage("Literal Character");
  51.     fExecute("quote");
  52.     }
  53.  
  54.  
  55. flagType pascal EXTERNAL upper(argtype,argptr,metaflag)
  56. unsigned short argtype;
  57. ARG far *argptr;
  58. flagType metaflag;
  59.     {
  60.     cur_file = FileNameToHandle(zero_length,zero_length);
  61.     row = argptr->arg.textarg.y;
  62.     col = argptr->arg.textarg.x;
  63.     cptr = argptr->arg.textarg.pText;
  64.     for (; *cptr; cptr++, col++)
  65.         {
  66.         character = *cptr;
  67.         if (character >= 'a' && character <= 'z')
  68.             {
  69.             character += 'A' - 'a';
  70.             }
  71.         Replace(character,col,row,cur_file,FALSE);
  72.         }
  73.     return(TRUE);
  74.     }
  75.  
  76.  
  77.  
  78. flagType pascal EXTERNAL lower(argtype,argptr,metaflag)
  79. unsigned short argtype;
  80. ARG far *argptr;
  81. flagType metaflag;
  82.     {
  83.     cur_file = FileNameToHandle(zero_length,zero_length);
  84.     row = argptr->arg.textarg.y;
  85.     col = argptr->arg.textarg.x;
  86.     cptr = argptr->arg.textarg.pText;
  87.     for (; *cptr; cptr++, col++)
  88.         {
  89.         character = *cptr;
  90.         if (character >= 'A' && character <= 'Z')
  91.             {
  92.             character += 'a' - 'A';
  93.             }
  94.         Replace(character,col,row,cur_file,FALSE);
  95.         }
  96.     return(TRUE);
  97.     }
  98.  
  99.  
  100.  
  101. WhenLoaded()
  102.     {
  103.     DoMessage("Extended Macros (v 1.2) -- Copyright (c) 1988-89, Chris Laforet.");
  104.     zero_length[0] = (char)'\0';
  105.     SetKey("prnt_time","ctrl+t");
  106.     SetKey("open_hilite","ctrl+o");
  107.     SetKey("special_char","ctrl+g");
  108.     SetKey("upper","ctrl+u");
  109.     SetKey("lower","ctrl+l");
  110.     return(TRUE);
  111.     }
  112.  
  113.  
  114.  
  115. struct swiDesc swiTable[] =
  116.     {
  117.         {NULL,NULL,NULL}
  118.     };
  119.  
  120.  
  121. struct cmdDesc cmdTable[] =
  122.     {
  123.         {"prnt_time",prnt_time,NULL,NOARG},
  124.         {"open_hilite",open_hilite,NULL,NOARG},
  125.         {"special_char",special_char,NULL,NOARG},
  126.         {"upper",upper,NULL,BOXSTR | TEXTARG},
  127.         {"lower",lower,NULL,BOXSTR | TEXTARG},
  128.         {NULL,NULL,NULL,NULL}
  129.     };
  130.