armer side, du bist grad pascal geschädigt, gelle?
hier aus einer borland hilfe, vielleicht hilfts..
ohne formatierung, weil eben mal aus nem pdf rauskopiert
--------------------------------------
Borland - C
Sollte das Programm kompiliert werden, kann die EXE - Datei nur ausgeführt werden, wenn der
Grafiktreiber EGAVGA.BGI im angegebenen Verzeichnis ist. Allein kann die Datei nicht ohne
einen weiteren komplexen Schritt ausgeführt werden !!!
Näheres zum Linken von Grafiktreibern steht im Borland C++ Reference-Manual.
Sollten Fragen bezüglich dieses Beispiels auftreten, kann man sich an den Autor des
Programms wenden.
/* Beispiel für die Befehle :putpixel(), circle(), line(),
rectangle(), floodfill(), setcolor(), setbkcolor(), initgraph(),
outtextxy(), setfillstyle(), setlinestyle(), settextstyle(),
closegraph()*/
/* Includieren der Header - Dateien */
#include <graphics.h> /* Grafikbefehle */
#include <stdio.h> /* Ein/Ausgabe - stdout */
#include <conio.h> /* Tastatur - Ein/Ausgaben */
#include <stdlib.h> /* Standard - Bibliothek */
#include <math.h> /* Mathematische Funktionen */
/* Hauptprogramm */
int main(void)
{
/* Variablendeklaration */
float i;
int Fehlerpruefer;
int Farbe = 3;
int Treiber = VGA ; /* VGA - Karten Treiber */
int Modus = VGAHI; /* 640 x 480 Pixel -> 16 Farben */
/* Einschalten des Grafikmodus' */
initgraph(&Treiber, &Modus, "C:\\BC\\BGI");
Fehlerpruefer = graphresult();
if (Fehlerpruefer != grOk) /*Auftreten eines Fehlers ?*/
{
printf("Grafikfehler: %s\n",grapherrormsg(Fehlerpruefer));
printf("Drücken einer Taste, um das Programm zu beenden");
getch();
exit(1); /* Beendet das Programm */
}
setbkcolor(15); /* Setzen der aktuellen Zeichenfarbe */
setpalette(8,0); /* Die Farbe mit der Nummer 8 bekommt hier
die Zuweisung 0, d.h. der Farbwert, der
ehemals grau war, ist jetzt schwarz. */
/* Desktop */
setcolor(8);
rectangle(40,40,620,460);
setfillstyle(SOLID_FILL, 8); floodfill(50,50,8);
setcolor(1);
rectangle(20,20,600,440);
setfillstyle(SOLID_FILL, 1); floodfill(50,50,1);
/* Überschrift */
setcolor(15);
settextstyle(SMALL_FONT, HORIZ_DIR, 8);
outtextxy(100,50,"Grafikprogrammierung unter C");
setcolor(12);
setlinestyle(USERBIT_LINE, 255, 3);
line(100,85,505,85);
/* Zeichnen der ersten drei Figuren */
setcolor(14);
setlinestyle(SOLID_LINE, 0, 1);
rectangle(50,100,170,150);
circle(300,125,25);
ellipse(500,125,0,270,70,20);
/* Zeichnen der zweiten drei Figuren */
setcolor(13);
setlinestyle(SOLID_LINE, 0, 1);
rectangle(50,200,170,250);
circle(300,225,25);
ellipse(500,225,0,360,70,20);
/* Ausfüllen der Figuren */
setfillstyle(SLASH_FILL, 4); floodfill(60,210,13);
setfillstyle(LINE_FILL, 4); floodfill(310,225,13);
setfillstyle(CLOSE_DOT_FILL, 4);floodfill(510,230,13);
/* Zeichnen der beiden Rechtecke für die putpixel-Darstellung */
setcolor(15);
rectangle(50,300,250,400);
rectangle(300,300,580,400);
setcolor(14);
line(320,310,320,390); line(320,310,317,325);
line(320,310,323,325); line(320,350,560,350);
line(560,350,550,346); line(560,350,550,354);
/* Ausgeben der erklärenden Texte */
settextstyle(SMALL_FONT, HORIZ_DIR, 4);
outtextxy(205,87,"setlinestyle(USERBIT_LINE,255,3);
line(100,85,505,85)");
outtextxy(50,155,"rectangle(50,100,170,150)");
outtextxy(250,155,"circle(300,125,25)");
outtextxy(420,155,"ellipse(500,125,0,270,70,20)");
outtextxy(50,255,"rectangle(50,200,170,250)");
outtextxy(50,265,"setfillstyle(SLASH_FILL, 4)");
outtextxy(50,275,"floodfill(60,210,13)");
outtextxy(250,255,"circle(300,225,25)");
outtextxy(250,265,"setfillstyle(LINE_FILL, 4)");
outtextxy(250,275,"floodfill(310,225,13)");
outtextxy(420,255,"ellipse(500,225,0,360,70,20)");
outtextxy(420,265,"setfillstyle(CLOSE_DOT_FILL, 4)");
outtextxy(420,275,"floodfill(510,230,13)");
outtextxy(50,405,"setviewport(50,300,250,400,1)
setviewport(320,300,580,400,1)");
outtextxy(50,415,"putpixel(random(199)+1,random(99)+1,14)");
setcolor(12);
outtextxy(300,415,"Einfache Funktionsdarstellung (siehe
Quelltext)");
setcolor(8);
outtextxy(20,460,"Drücken Sie eine beliebige Taste um zu
beenden ...");
/* Schleife der einfachen Animationen */
while(!kbhit())
{
if (Farbe==15) Farbe = 3;
Farbe++;
for(i=0;i<=30;i=i+0.005)
{
setviewport(320,300,580,400,1); /* Erstes Grafikfenster*/
putpixel(i*8,sin(i)*30+50,Farbe); /*Zeichnen Funktionen */
putpixel(i*8,cos(i)*30+50,Farbe + 1);
putpixel(i*8,tan(i)+50,Farbe - 1);
setviewport(50,300,250,400,1); /* Zweites Grafikfenster*/
putpixel(random(199)+1,random(99)+1,14);
/* Zeichnen zufälliger Pixel */
putpixel(random(199)+1,random(99)+1,1);
}
}
/* Beenden des Grafikmodus' !!!
closegraph() darf nicht weggelassen werden. Wird der Befehl
weggelassen, arbeitet DOS mit dem Grafikmodus weiter,der im
Programm gesetzt wurde!*/
closegraph();
printf("Grafikprogrammierung : Tutorial (C) ");
return 1; /* Rückgabe einer obligatorischen Integer - Zahl */
}