home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD2.mdf / c / tcpp / examples / cpasdemo.c < prev    next >
Encoding:
C/C++ Source or Header  |  1990-06-10  |  1.7 KB  |  74 lines

  1. /* Copyright (c) 1987,88,90 by Borland International, Inc.
  2.  
  3.    Dieses Programm demonstriert, wie Turbo C-Routinen geschrieben werden,
  4.    die in Turbo Pascal-Programme eingebunden werden sollen. Einige Routinen
  5.    rufen Turbo Pascal-Routinen in CPASDEMO.PAS auf.
  6.  
  7.    Wenn Sie dieses Programm starten wollen, lesen Sie bitte die Anweisungen
  8.    in der Datei CPASDEMO.PAS */
  9.  
  10. typedef unsigned int word;
  11. typedef unsigned char byte;
  12. typedef unsigned long longword;
  13.  
  14. extern void setcolor(byte newcolor);  /* Prozedur ist im Turbo Pascal
  15.                      Programm definiert */
  16. extern word factor;    /* Variable ist im Turbo Pascal Programm definiert */
  17.  
  18. word sqr(int i)
  19. {
  20.   setcolor(1);
  21.   return(i * i);
  22. } /* sqr */
  23.  
  24. word hibits(word w)
  25. {
  26.   setcolor(2);
  27.   return(w >> 8);
  28. } /* hibits */
  29.  
  30. byte suc(byte b)
  31. {
  32.   setcolor(3);
  33.   return(++b);
  34. } /* suc */
  35.  
  36. byte upr(byte c)
  37. {
  38.   setcolor(4);
  39.   return((c >= 'a') && (c <= 'z') ? c - 32 : c);
  40. } /* upr */
  41.  
  42. char prd(char s)
  43. {
  44.   setcolor(5);
  45.   return(--s);
  46. } /* prd */
  47.  
  48. long lobits(long l)
  49. {
  50.   setcolor(6);
  51.   return((longword)l & 65535L);
  52. } /* lobits */
  53.  
  54. void strupr(char *s)
  55. {
  56.   int counter;
  57.  
  58.   for (counter = 1; counter <= s[0]; counter++)  /* Beachten Sie: die Rou- */
  59.     s[counter] = upr(s[counter]);                /* tine ändert das Längen-*/
  60.   setcolor(7);                                   /* byte von Turbo Pascal  */
  61. } /* strupr */
  62.  
  63. byte boolnot(byte b)
  64. {
  65.   setcolor(8);
  66.   return(b == 0 ? 1 : 0);
  67. } /* boolnot */
  68.  
  69. word multbyfactor(word w)
  70. {
  71.   setcolor(9);        /* Beachten Sie, daß diese Funktion auf die in Turbo */
  72.   return(w * factor); /* Pascal deklarierte Variable factor zugreift */
  73. } /* multbyfactor */
  74.