Improved Console 4.0



  • In visual studio geht das nur 😃



  • k thx...
    falls es jemanden interessiert hier 2 funktionen von mir, die ihr einfügen könnt.

    void Console::grafladen(int x)
        {
             setCurPos(10, 24);
             con.setTextColor(FG_GREEN); // Neue Textfarbe setzen
             con.setBgColor(BG_RED); // Neue Hintergrundfarbe setzen
             cout << "                                                            ";
             //eine sekunde = 17
             int s;
             s = x * 17;
             setCurPos(10, 24);
             for (int i=0; i<=59; i++)
             {
                 cout << char(219);
                 Sleep(s);
    
             }
    
        }
    }
    

    int x = 1 wär dann für eine sekunde

    void Console::laden(int x)
        {
             con.setCurPos (70, 23);
             cout << "loading";
             for(int i =1; i<=x; i++)
             {
                con.setCurPos (77, 23);
                cout << ".  ";
                Sleep(333);
                con.setCurPos (78, 23);
                cout << ".";
                Sleep(333);
                con.setCurPos (79, 23);
                cout << ".";
                Sleep(333);
    
             }
    
        }
    

    das selbe gilt hierbei
    hab nochenpaar aber die sind unnütz 😃
    :xmas1:



  • die sind doch auch unnützlich, weil sie nur auf Improved C. funktionen zugreifen 🙄



  • öhmmm joa is doch net schlimm oder?



  • nein, aber man kann doch ja auch so die hintergrundfarbe setzen. für die funktion laden könntest du dir was besseres einfallen lassen, zbsp. nen zweiten Parameter, der zbsp etwas berechnet oder was spezielles ausgibt.



  • ya, soll ja nichts besonderes sein, soll auch nicht für wartezeiten in der konsole sein, sondern wenn zum beispiel im hintergrund nen prog geöffnen werden soll.
    Für berechnungen in der Konsole kann mans ya anpassen ;).



  • Gnomecoder schrieb:

    Für berechnungen in der Konsole kann mans ya anpassen ;).

    eben nicht 🙄



  • Gnomecoder schrieb:

    Und wie macht man das weg, dass man nicht scrollen kann?
    Also diesem One-Screen-Mode, der ist komischerweise von anfang an einstestellt.

    ya die frage hätt ich ja noch, was niemand was?
    mfg



  • Hallo,

    ich glaube nicht,dass das weggeht, den schließlich ist es bei allen Fenstern so.
    Die Voraussetzung wäre die Konsole zu strecken, dann musst sehr selten scrollen.

    Aber kommt drauf an, was du damit machen möchtest 😉



  • wie das ist bei allen fesntern so?!
    wenn ich ne normale konsolenapplication mache, und in ner for schleife bis 300 zähle, und zwischen jeder zahl nen zeilenumbruch mache, kann icih auch nach oben scrollen und alle zahlen sehen.
    Wenn ich die IC eingebunden habe geht das nicht mehr.
    Ich will jetzt nicht bis 300 zählen, aber ich brauchs für was anderes.
    Ich will nur wissen welche funktion dafür zuständig ist.



  • Heho, wenn ich die IC inkludiere und das auf der HP angegebene Testprogramm ausführe, erhalte ich folgende Fehler:

    Verweis auf nicht aufgelöstes externes Symbol ""public: void __thiscall ic::Console::setTextColor(enum ic::TextColor)" (?setTextColor@Console@ic@@QAEXW4TextColor@2@@Z)" in Funktion ""void __cdecl ic::shorties::textcolor(enum ic::TextColor)"

    (?textcolor@shorties@ic@@YAXW4TextColor@2@@Z)".
    1>Sudoku.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""class ic::Console & ic::con" (?con@ic@@3AAVConsole@1@A)".

    [...]Visual Studio 2005\Projects\Sudoku\Debug\Sudoku.exe : fatal error LNK1120: 2 nicht aufgelöste externe Verweise.

    Mein Code ist folgender:

    #include "stdafx.h"
    #include <iostream>
    #include "ic.hpp"
    using namespace ic;
    using namespace ic::shorties;
    using namespace std;
    
    	int main ()
    	{
    	    textcolor(FG_RED);
    	    cout << "Hello World" << endl;
    	    return 0;
    	}
    

    und ich verwende Visual C++ Express.
    Hat jemand ne Ahnung was ich falsch mache ??
    Die Libraries sind im Projektordner!^^
    Vielen Dank für eure Hilfe 🙂



  • es reicht net wenn die header im projektordner sind, sie müssen mit eingebunden sein!



  • ??? sind sie doch oo oder eine andere einbindung als "#include" ?



  • Ja, es gibt noch eine andere Einbindung - für den Linker (d.h. du mußt die CPP Datei mit in dein Projekt reinpacken, damit sie parallel zum Hauptprogramm übersetzt werden kann).
    (das #include ist eine reine Textersetzung - und damit informierst du den Compiler, daß diese Funktionen existieren. Der Linker benötigt aber zusätzlich noch den Inhalt der Funktionen, und den bekommt er, indem du ihm neben der Hauptdatei auch die obj (erstellt der Compiler aus allen CPPs des Projekts) oder lib übergibst))



  • Hallo zusammen,

    IC ist genau das was ich für mein Projekt suche.

    Aber der Compiler (Visual Studio 6) gibt die gleichen Fehler aus wie bei xeniter (" bei mir kommen 4 fehler ").

    error C2065: 'GetConsoleWindow' : nichtdeklarierter Bezeichner
    error C2440: 'initializing' : 'int' kann nicht in 'struct HWND__ *' konvertiert werden
    error C2439: 'hWnd' : Element konnte nicht initialisiert werden
    error C2065: 'GetConsoleDisplayMode' : nichtdeklarierter Bezeichner

    Die Antwort von Sidewinder war ein Verweis auf seine Seite, die aber nun nicht mehr da ist ...
    Zitat: "http://ic.sidewindershome.net/Download.php -> Alles was unter "Wichtig" steht lesen"

    Die Funktion 'GetConsoleWindow' ist auch nirgends zu finden.

    Wer kann helfen ?

    Martin



  • Installier' eine aktuelle Platform-SDK.

    greetz, Swordfish



  • Hm - Platform SDK - gut.
    Aber ich fürchte mein Compler wird davon alleine nix merken.
    Müßte man schon was dazu linken oder dem Projekt einverleiben damit sich was ändert.
    Hab es jetzt auch mal mit conioex.hpp und conioex.cpp vón www.tbkoenig.de probiert. Läuft sofort ohne zu zicken. 👍

    Martin



  • Hi,
    erst mal großes lob, die ic ist klasse, aber ich kriegs net hin sie unter vs2005 zu nutzen. also mein problem hat nicht viel mit der ic an sich zu tun, sondern wie ich header einbinde.
    Unter dev c++ kann ich die ic problemlos nutzen, aber wie mach ich das denn in vs2005?

    Also angenommen ich hab nen ganz neues Konsolen projekt.
    Ich geh auf "headerdateien" und mach auf Hinzufügen, und wähl die ic.hpp aus, die natürlich im projelt ordner ist.
    Das selbe mach ich für die ic.cpp bei quelldateien. Aber trotzdem kann ich die ic net nutzen!!!

    Könnte mir bitte jemand genau erklären wie ich das einbinde?
    wäre sehr dankbar!!!!!

    mfg 🙂



  • benutz KEINE vorkompilierten header!
    die machen dem anfänger nur probleme.



  • ich hab en problemchen:

    und zwar hab ich mir ne klasse geschrieben und
    con.getCurX/y()
    und
    gotoxy(x, y)
    benutzt

    allerdings meldet der mir beim kompilieren einige fehlermeldungen

    Visual C++ 2008 schrieb:

    1>------ Erstellen gestartet: Projekt: Funktionen, Konfiguration: Debug Win32 ------
    1>Kompilieren...
    1>Funktion.cpp
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(7529) : error C2059: Syntaxfehler: '<L_TYPE_raw>'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(7529) : error C2238: Unerwartete(s) Token vor ';'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(8651) : error C2059: Syntaxfehler: '<L_TYPE_raw>'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(8651) : error C2238: Unerwartete(s) Token vor ';'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(9390) : error C2059: Syntaxfehler: '<L_TYPE_raw>'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(9390) : error C2238: Unerwartete(s) Token vor ';'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(9859) : error C2059: Syntaxfehler: '<L_TYPE_raw>'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(9859) : error C2238: Unerwartete(s) Token vor ';'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(10352) : error C2059: Syntaxfehler: '<L_TYPE_raw>'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(10352) : error C2238: Unerwartete(s) Token vor ';'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(10597) : error C2059: Syntaxfehler: '<L_TYPE_raw>'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(10597) : error C2238: Unerwartete(s) Token vor ';'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(10607) : error C2059: Syntaxfehler: '<L_TYPE_raw>'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(10607) : error C2238: Unerwartete(s) Token vor ';'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(10630) : error C2059: Syntaxfehler: '<L_TYPE_raw>'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(10630) : error C2238: Unerwartete(s) Token vor ';'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(10853) : error C2059: Syntaxfehler: '<L_TYPE_raw>'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(10853) : error C2238: Unerwartete(s) Token vor ';'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(12303) : error C2059: Syntaxfehler: '<L_TYPE_raw>'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(12303) : error C2238: Unerwartete(s) Token vor ';'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winbase.h(5976) : error C2061: Syntaxfehler: Bezeichner 'Grad'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winbase.h(5976) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winbase.h(5976) : warning C4183: '_LARGE_INTEGER': Rückgabetyp fehlt; Memberfunktion, die 'int' zurückgibt wird angenommen
    1>c:\programme\microsoft sdks\windows\v6.0a\include\rpcdcep.h(234) : error C2143: Syntaxfehler: Es fehlt ')' vor '+'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\rpcdcep.h(234) : error C2143: Syntaxfehler: Es fehlt ',' vor '+'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\rpcdcep.h(235) : error C2059: Syntaxfehler: ')'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\rpcdcep.h(279) : error C2065: 'Grad': nichtdeklarierter Bezeichner
    1>c:\programme\microsoft sdks\windows\v6.0a\include\rpcdcep.h(279) : warning C4229: Anachronismus verwendet: Modifizierer der Daten werden ignoriert
    1>c:\programme\microsoft sdks\windows\v6.0a\include\rpcdcep.h(279) : error C2491: 'I_RpcAllocate': Definition von Daten für dllimport nicht zulässig
    1>c:\programme\microsoft sdks\windows\v6.0a\include\rpcdcep.h(279) : fatal error C1903: Weiterverarbeitung nach vorherigem Fehler nicht möglich; Kompilierung wird abgebrochen.
    1>NullStellenMain.cpp
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(7529) : error C2059: Syntaxfehler: '<L_TYPE_raw>'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(7529) : error C2238: Unerwartete(s) Token vor ';'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(8651) : error C2059: Syntaxfehler: '<L_TYPE_raw>'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(8651) : error C2238: Unerwartete(s) Token vor ';'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(9390) : error C2059: Syntaxfehler: '<L_TYPE_raw>'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(9390) : error C2238: Unerwartete(s) Token vor ';'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(9859) : error C2059: Syntaxfehler: '<L_TYPE_raw>'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(9859) : error C2238: Unerwartete(s) Token vor ';'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(10352) : error C2059: Syntaxfehler: '<L_TYPE_raw>'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(10352) : error C2238: Unerwartete(s) Token vor ';'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(10597) : error C2059: Syntaxfehler: '<L_TYPE_raw>'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(10597) : error C2238: Unerwartete(s) Token vor ';'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(10607) : error C2059: Syntaxfehler: '<L_TYPE_raw>'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(10607) : error C2238: Unerwartete(s) Token vor ';'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(10630) : error C2059: Syntaxfehler: '<L_TYPE_raw>'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(10630) : error C2238: Unerwartete(s) Token vor ';'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(10853) : error C2059: Syntaxfehler: '<L_TYPE_raw>'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(10853) : error C2238: Unerwartete(s) Token vor ';'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(12303) : error C2059: Syntaxfehler: '<L_TYPE_raw>'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(12303) : error C2238: Unerwartete(s) Token vor ';'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winbase.h(5976) : error C2061: Syntaxfehler: Bezeichner 'Grad'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winbase.h(5976) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
    1>c:\programme\microsoft sdks\windows\v6.0a\include\winbase.h(5976) : warning C4183: '_LARGE_INTEGER': Rückgabetyp fehlt; Memberfunktion, die 'int' zurückgibt wird angenommen
    1>c:\programme\microsoft sdks\windows\v6.0a\include\rpcdcep.h(234) : error C2143: Syntaxfehler: Es fehlt ')' vor '+'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\rpcdcep.h(234) : error C2143: Syntaxfehler: Es fehlt ',' vor '+'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\rpcdcep.h(235) : error C2059: Syntaxfehler: ')'
    1>c:\programme\microsoft sdks\windows\v6.0a\include\rpcdcep.h(279) : error C2065: 'Grad': nichtdeklarierter Bezeichner
    1>c:\programme\microsoft sdks\windows\v6.0a\include\rpcdcep.h(279) : warning C4229: Anachronismus verwendet: Modifizierer der Daten werden ignoriert
    1>c:\programme\microsoft sdks\windows\v6.0a\include\rpcdcep.h(279) : error C2491: 'I_RpcAllocate': Definition von Daten für dllimport nicht zulässig
    1>c:\programme\microsoft sdks\windows\v6.0a\include\rpcdcep.h(279) : fatal error C1903: Weiterverarbeitung nach vorherigem Fehler nicht möglich; Kompilierung wird abgebrochen.
    1>Code wird generiert...
    1>Das Buildprotokoll wurde unter "file://g:\C++\2008\Funktionen\Funktionen\Debug\BuildLog.htm" gespeichert.
    1>Funktionen - 56 Fehler, 4 Warnung(en)
    ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========

    wie ihr seht sind das nur standart (windows) header dateien
    und daran hab ich nix rumgefummelt (mh schlechtes deutsch -.-)


Anmelden zum Antworten