Zeichnen?



  • Okay. Hier gibts wohl missverständnisse.

    es gibt 2 Arten von programmen:
    1. DOS-Programme. Diese werden mit einem 16bit Compiler erstellt, die heutztage quasi nicht mehr gibt.
    2. Konsolenprogramme. Diese werden erstellt, wenn man ein "DOS" oder "Terminal" programm unter windows (z.B. mit vc++6) erstellt.

    Die 1. Programme können in die Konsole (oder eher Vollbild) zeichnen.
    Die 2. Programme können das nicht.

    Du kannst nur Konsolen (keine DOS) Programme erstellen. Es sei denn du lädst dir einen uralt Compiler runter.



  • mit Turbo C++ kannst du das zum Beispiel ganz gut machen, aber wenn du eh Windows benutzt wäre das quatsch, schon weil diese Grafiklibs unter Windoof eine miserable bis garkeine Unterstützung haben.



  • Die Windowslibs unterstützen viel mehr Grafikkarten und Features als die DOS-Äquivalente. 😃

    Mit uralt meinte ich z.B. sowas wie den Turbo C++. Aber das macht wirklich keinen Spaß damit was zu programmieren.



  • @BF_31
    Aha. Der Britney-Fan. 😉 Die einzige Möglichkeit, die du hast, ist, auf dem Fenster direkt herumzuzeichnen. Wenn es deine eigene Konsole ist, dann müsstest du auch eine neue WindowProc für das Fenster setzen können, so dass du WM_PAINT und so abfangen kannst.



  • Dann würde ich aber keinen solchen Umstand machen, sondern einfach gleich eine richtige Windowsanwendung (keine Konsole) erstellen. 🙂



  • also... mit den neueren compilern wird es nicht gehen... aber wenn du noch einen alten hast dann geht das (z.b borland c++ 4.52). hier ein kleines beispiel :

    #include <graphics.h>
    #include <stdlib.h>
    #include <stdio.h>
    #include <conio.h>
    #include <dos.h>
    
    #define PIXEL_COUNT 1000
    #define DELAY_TIME  100
    
    int main(void){
       int gdriver = DETECT, gmode, errorcode;
       int i, x, y, color, maxx, maxy, maxcolor, seed;
       ini1tgraph(&gdriver, &gmode, "");
       errorcode = graphresult();
       if (errorcode != grOk) {
          printf("Graphics error: %s\n", grapherrormsg(errorcode));
          printf("Press any key to halt:");
          getch();
          exit(1);
       }
       maxx = getmaxx() + 1;
       maxy = getmaxy() + 1;
       maxcolor = getmaxcolor() + 1;
       while (!kbhit()) {
          seed = random(32767);
          srand(seed);
          for (i=0; i<PIXEL_COUNT; i++) {
             x = random(maxx);
             y = random(maxy);
             color = random(maxcolor);
             putpixel(x, y, color);
          }
          delay(DELAY_TIME);
          srand(seed);
          for (i=0; i<PIXEL_COUNT; i++) {
          x = random(maxx);
          y = random(maxy);
          color = random(maxcolor);
          if (color == getpixel(x, y))
             putpixel(x, y, 0);
          }
       }
       getch();
       closegraph();
       return 0;
    }
    
    // in der <graphics.h> sind alle funktionen die dir weiter helfen...
    

    [ Dieser Beitrag wurde am 11.11.2002 um 14:39 Uhr von cd9000 editiert. ]



  • kleiner fehler (11 zeile code) ini1tgraph() => initgraph()



  • Mit Code-Tags könnte man den Code auch fast lesen 😉



  • Mit Code-Tags könnte man den Code auch fast lesen

    die darstellung hier ist aber nicht mein problem...



  • Original erstellt von toom:
    **Mit Code-Tags könnte man den Code auch fast lesen

    die darstellung hier ist aber nicht mein problem...**

    aber unser 🙄



  • wäre es nicht auch möglich sich statt dem alten compiler einfach nur die nötigen header (vorallem die dos.h, die es bei den heutigen Compilern nirgends mehr gibt) zu besorgen?



  • Nein. Mich dünkt, hier haben einige noch nicht ganz verstanden. Es geht hier um den Unterschied zwischen DOS und Konsole. Unter DOS kann man wunderbar zeichnen (s.o.). Dazu braucht man aber einen DOS-Compiler (16 Bit), wie z.B. den genannten von Borland. Diese DOS-Programme laufen dann auch unter Windows in der Konsole, aber die Grafikdarstellung ist mehr oder weniger dem Zufall überlassen... Wenn man aber für 32 Bit-Windows programmiert, dann programmiert man für die Konsole und eben nicht für DOS. In diesem Falle kann man leider nicht zeichnen. Wozu auch, wenn man die GUI zur Verfügung hat???



  • genau...!


Anmelden zum Antworten