home *** CD-ROM | disk | FTP | other *** search
- /* Copyright (c) 1987,88,90 by Borland International, Inc.
-
- Dieses Programm demonstriert, wie Turbo C-Routinen geschrieben werden,
- die in Turbo Pascal-Programme eingebunden werden sollen. Einige Routinen
- rufen Turbo Pascal-Routinen in CPASDEMO.PAS auf.
-
- Wenn Sie dieses Programm starten wollen, lesen Sie bitte die Anweisungen
- in der Datei CPASDEMO.PAS */
-
- typedef unsigned int word;
- typedef unsigned char byte;
- typedef unsigned long longword;
-
- extern void setcolor(byte newcolor); /* Prozedur ist im Turbo Pascal
- Programm definiert */
- extern word factor; /* Variable ist im Turbo Pascal Programm definiert */
-
- word sqr(int i)
- {
- setcolor(1);
- return(i * i);
- } /* sqr */
-
- word hibits(word w)
- {
- setcolor(2);
- return(w >> 8);
- } /* hibits */
-
- byte suc(byte b)
- {
- setcolor(3);
- return(++b);
- } /* suc */
-
- byte upr(byte c)
- {
- setcolor(4);
- return((c >= 'a') && (c <= 'z') ? c - 32 : c);
- } /* upr */
-
- char prd(char s)
- {
- setcolor(5);
- return(--s);
- } /* prd */
-
- long lobits(long l)
- {
- setcolor(6);
- return((longword)l & 65535L);
- } /* lobits */
-
- void strupr(char *s)
- {
- int counter;
-
- for (counter = 1; counter <= s[0]; counter++) /* Beachten Sie: die Rou- */
- s[counter] = upr(s[counter]); /* tine ändert das Längen-*/
- setcolor(7); /* byte von Turbo Pascal */
- } /* strupr */
-
- byte boolnot(byte b)
- {
- setcolor(8);
- return(b == 0 ? 1 : 0);
- } /* boolnot */
-
- word multbyfactor(word w)
- {
- setcolor(9); /* Beachten Sie, daß diese Funktion auf die in Turbo */
- return(w * factor); /* Pascal deklarierte Variable factor zugreift */
- } /* multbyfactor */
-