Problem mit graphik
-
Mein Problem: Ich will mit dem Programm eine Simple linie zeichnen. Aber dass Programm sagt dass es irgendeine fehler mit initgraph gibt. Wass Kann da sein???
#include <graphics.h> #include <conio.h> #include <iostream.h> #include <stdio.h> #include <iomanip.h> const char BGI[ ]=""; int main(){ int karte=DETECT, modus; initgraph(&karte,&modus,BGI); moveto(20,20); lineto(200,20); closegraph(); getchar(); clrscr(); return 0; }
-
ist diese funktion vielleicht nicht definiert?
hast du dir überhaupt jemals ein tutorial zu C++ durchgelesen?
Ich schlage vor du tust das mal, google hilft.
-
Ich hab das aus nem buch (ADMIN-C++)
Da steht dass so drin aber es funktioniert nicht
-
Ich schliese mich den Worten von xxyy.. auch an, Junge lern mal das Programmieren. Und dann diese "graphics.h" header. Wenn du einfach so einen Text aus einem Buch abschreibst, und den dann einfach nur hier rein stellst, wirst du das niemals lernen.
-
Noch was, was für einen Compiler benutzt du, was für ein OS? Du musst sowas schon mitangeben. Ein Beispiel:
clrscr(); //weist du was diese Funktion macht?!
Diese gibt es nämlich (normalerweise) bei den meisten Libs garnicht, entweder du nimmst die primitive Methode "system("cls"); oder du schreibst dir ne eigene API Funktion dafür... clrscr ist nämlich nicht definiert.
Und das Problem ist folgende Zeile:
initgraph(&karte,&modus,BGI);
-
Was is mit dem Graphics.h???
Ich benütze Tutbo C++ Version 3.0
Ich hab programieren in der Schule. Und ich wollte einfach nur probieren ob ich was Graphisches machen kann. Dann hab ich im Buch nachgeschaut und hab probiert dass oben stehende zu vertehen. Ich glaub dass hab ich auch. Ich weiß nur nict wass das für ein fehler sein soll...
-
Achja und was soll mit clrscr(); sein?? dass löscht den Bildschirm...
Dass brauch ich weil bei Turbo C++ wenn ich das Programm neu compiliere der alte text stehen bleibt.
-
Ist bei dir diese Funktion denn überhaupst definiert? Was für Fehlermeldungen bringt dir der Compiler? Paste die mal, bitte, vielleicht kann ich dir helfen.
-
Bei mir bringt nicht der Compiler sonder das programm selber sen Fehler:
BGI Error: Graphics not inialized (use "initgraph")
-
hmm, ich kenn mich mit der graphics.h nicht aus, aufjeden Fall hast du da etwas nicht initialisiert
Probier einfach mal bei Funktionsaufruf
initgraph(&karte,&modus,BGI); ein & Zeichen vor BGI zu setzen, ansonsten spiel dich einfach mal einbisschen damit, du kannst nichts falsch machen. Das hilft meistens
Probier einfach verschiedene Sachen aus, und poste mal, wenn sich was rührt.
-
es muß irgendwo ein File namens "egavga.bgi" geben
Das Verzeichnis dieses Files ist in der Variable BGI zu setzen.
-
@MichiK:
6 Beiträge in gut 5 Jahren?
Und ich dachte ich wäre selten in diesem Forum unterwegsIch hab damals auch mal etwas mit Turbo C++ rumgespielt.Imho sollte initgraph auch mit "" funktionieren.
@wankoelias:
Hast du malinitgraph(&karte,&modus,"");
probiert?
MfG Spacelord
-
mikey schrieb:
hmm, ich kenn mich mit der graphics.h nicht aus, aufjeden Fall hast du da etwas nicht initialisiert
Probier einfach mal bei Funktionsaufruf
initgraph(&karte,&modus,BGI); ein & Zeichen vor BGI zu setzen, ansonsten spiel dich einfach mal einbisschen damit, du kannst nichts falsch machen. Das hilft meistens
Probier einfach verschiedene Sachen aus, und poste mal, wenn sich was rührt.
Es wär nicht verkehrt zu wissen was der Adresseoperator bewirkt anstatt damit rumzuspielen
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Compiler- und IDE-Forum verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Vielleicht mal die Datei bgidemo.c compilieren bei mir (Turbo C 2.01) im Ordner bgi zu finden.
-
#include <graphics.h> #include <conio.h> #include <stdio.h> int main() { int karte = DETECT, modus; initgraph(&karte, &modus, "d:\\borland\\tc20\\bgi"); /* fehler = graphresult(); */ moveto(20, 20); lineto(200, 20); getch(); closegraph(); return 0; }
Die Ursache: initgraph() findet den Treiber EGAVGA.BGI nicht. Also entweder den Treiber in den exe-Ordner kopieren oder (besser) den BGI-Dateipfad als drittes Argument mitgeben.