textcolor (); mit ic.hpp (improved console) bringt Fehler



  • Kurze, knappe Antwort - Die ic.cpp ist nicht im Projekt. -
    verstehe ich nur leider nicht! Wo kann ich nun bitte eine Frage posten dazu?
    Auf http://ic.sidewindershome.net/FAQ.php steht ganz klar:
    Derzeit sind noch keine Fragen zur Improved Console 4.0 gestellt worden. Haben Sie eine, melden Sie sich bitte in der Konsolensparte des C++.de-Forums.

    MfG
    M. Opitz



  • Du kannst deine Frage hier posten, bzw. hast es ja schon getan. Hier: http://ic.sidewindershome.net/Newbies.php wird erklärt (Schritt 2) was du vergessen hast.

    MfG SideWinder



  • [quote="SideWinder"]Du kannst deine Frage hier posten, bzw. hast es ja schon getan. Hier: http://ic.sidewindershome.net/Newbies.php wird erklärt (Schritt 2) was du vergessen hast.

    - vergessen - ja und nein (sorry, wenn ich mich blöd anstelle) beide dateien ic.cpp und ic.hpp sind im verzeichnis meines projekts 'beispiel'.
    Ich habe ein englisches MS Visual C++ 6.0, da gibt es kein 'Datei -> Vorhandenes Element hinzufügen (oder File...)' Ich sehe aber ein 'Project -> add to project -> files...' so habe ich beide Dateien hinzugefügt, so dass sie jetzt unter 'beispiel files' auftauchen: beispiel.cpp, ic.cpp und ic.hpp. Unter 'external dependencies' taucht noch ein 'basetsd.h' auf - auf einmal...
    Vielleicht bin ich zu doof? 😞
    auf jeden Fall ist die fehlermeldung immer noch so...



  • Hey, ganz blöd bin ich ja auch nicht 😉 , kann es sein dass es im entferntesten etwas mit http://support.microsoft.com/kb/255556/de zutun hat, denn bei mir wird ja auch immer die Basetsd.h-Headerdatei unter 'external dependencies' aufgeführt... irgendwas stimmt da nicht. Weiss ehrlich gesagt gar nicht, ob ich die SDK installiert habe, bzw. wozu ich die brauche, bzw. wie ich eventuell fehlende Teile daraus gezielt installieren kann (meine Partition C der Festplatte ist ziemlich voll, möchte eigentlich nichts mehr dort installieren).
    Auf jeden Fall ist bei meinem Visual C++ unter 'Tools - Options - Directories - include files' nur folgendes eingetragen:
    C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE
    C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE
    C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE
    ...???



  • Wie kann ich denn bei bcc32 ein Projekt anlegen?



  • sadddddddsadsa<a schrieb:

    Wie kann ich denn bei bcc32 ein Projekt anlegen?

    was hat denn das jetzt bitte mit meinem problem zu tun??



  • unregisitriert

    Unregistrierter

    Beitrag unregisitriert Unregistrierter 17:18:58 11.06.2007 Titel: Zitieren
    Kurze, knappe Antwort - Die ic.cpp ist nicht im Projekt. -
    verstehe ich nur leider nicht! Wo kann ich nun bitte eine Frage posten dazu?
    Auf http://ic.sidewindershome.net/FAQ.php steht ganz klar:
    Derzeit sind noch keine Fragen zur Improved Console 4.0 gestellt worden. Haben Sie eine, melden Sie sich bitte in der Konsolensparte des C++.de-Forums.

    MfG
    M. Opitz



  • Werde daraus jetzt auch nicht schlau, wenn du die beispiel.cpp, die ic.hpp und die ic.cpp allesamt im Projekt aufgelistet hast und die beispiel.cpp die ic.hpp includiert sollte alles passen.

    Du wirst zwar auch noch das neueste SDK für den VC 6.0 von http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm benötigen, aber der Fehler sieht mir bis jetzt noch nicht so aus, als würde er damit zusammenhängen.

    MfG SideWinder



  • Danke für die Antwort! Komme leider immer noch nicht klar.
    Habe jetzt das Moverdemo genommen und nochmal alle drei Dateien (main.cpp, ic.cpp und ic.hpp) in ein neues Verzeichnis kopiert. Dann Doppelklick auf main.cpp, VC 6.0 öffnet sich, kompilieren (Frage nach default Workspace - wird erstellt). Kompilieren gibt 0 Fehler. Dann ausführen: 9 Fehler... Klar, ic.hpp taucht zwar unter 'external dependencies' auf, aber ic.cpp noch nicht im Projekt. Also ic.cpp dem Projekt hinzugefügt (unter 'main files' taucht jetzt main.cpp und ic.cpp auf, unter 'external dependencies' die ic.hpp und basetsd.h). Jetzt gibt es 4 Fehler (bei meiner beispiel.cpp inzwischen auch)
    Dies sieht folgendermassen aus:

    --------------------Configuration: main - Win32 Debug--------------------
    Compiling...
    ic.cpp
    e:\eigene dateien\c_programme\moverdemo\ic.cpp(11) : error C2065: 'GetConsoleWindow' : undeclared identifier
    e:\eigene dateien\c_programme\moverdemo\ic.cpp(14) : error C2440: 'initializing' : cannot convert from 'int' to 'struct HWND__ *'
    Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
    e:\eigene dateien\c_programme\moverdemo\ic.cpp(14) : error C2439: 'hWnd' : member could not be initialized
    e:\eigene dateien\c_programme\moverdemo\ic.hpp(83) : see declaration of 'hWnd'
    e:\eigene dateien\c_programme\moverdemo\ic.cpp(175) : error C2065: 'GetConsoleDisplayMode' : undeclared identifier
    Error executing cl.exe.

    main.exe - 4 error(s), 0 warning(s)

    Also ich verstehe das nicht, scheint doch nicht an der SDK zu liegen, oder?
    Wenn ich mein Visual C++ 6.0 von der CD vollständig installiere, ist dann irgendwas von SDK vorhanden? Woran erkenne ich das? Muss ich wirklich dieses Riesen-Paket von dem von Dir genannten Link runterladen und installieren?
    Werden dadurch andere Header-Dateien installiert, die ich unter 'Tools - Options - Directories - include files' angeben muss? Oder soll ich das VC 6.0 neu installieren?



  • Ja, es ist ein SDK dabei, allerdings in einer alten Verison. Ja, du musst dieses Riesen-Paket herunterladen damit du mit dem VC6 (übrigens ein sehr alter Compiler, der ist schon nahezu 9 Jahre alt, eventuell mal auf den VC EE umsteigen) die IC compilieren kannst.

    BTW: Unter Main-Files sollte auch die ic.hpp stehen.

    MfG SideWinder



  • Hallo,
    hab jetzt die SDK installiert und die improved console zum laufen gebracht.
    Gefällt mir gut!
    Habe gesucht, aber nichts gefunden: Die x,y-Grösse der Konsole kann man ja wunderbar beeinflussen. Habe dann ein beliebig grosses Fenster, aber immer die eigentlich viel zu kleine Schriftart... Kann man die nicht mit einem Befehl setzen?



  • Nein, die Schriftgröße ist nur über böse Umwege zu ändern bzw. bei älteren Windows-Versionen gar nicht. Mal sehen ob das neueste SDK endlich eine ordentliche Verison von SetConsoleFont...() anbietet. Bis jetzt kann ich da leider nicht dienen.

    MfG SideWinder



  • aha, schade...
    wenn ich aber in der Konsole der laufenden exe oben links die rechte Maustaste drücke und dann 'eigenschaften' wähle, dann kann ich doch einen Font auswählen. Was passiert denn da? Kann man sowas nicht direkt in den sourcecode seiner exe einbauen?



  • Ich weiß, weiß aber nicht wie das via Source umstellbar ist. Die Keys liegen irgendwo in der Registry, wenn ich sie allerdings austausche passiert nichts. In der MSDN steht leider auch nichts darüber.

    Wenn du irgendwo einen Tip findest im Internet kann ich das einbauen, ich habe bisher noch nichts zum Thema gefunden.

    MfG SideWinder



  • SideWinder schrieb:

    Ich weiß, weiß aber nicht wie das via Source umstellbar ist. Die Keys liegen irgendwo in der Registry, wenn ich sie allerdings austausche passiert nichts. In der MSDN steht leider auch nichts darüber.

    Wenn du irgendwo einen Tip findest im Internet kann ich das einbauen, ich habe bisher noch nichts zum Thema gefunden.

    MfG SideWinder

    Also, ich habe beispielhaft eine Konsolenanwendung (ohne improved console) testblabla.exe in C:\temp abgelegt. Dann aufgerufen über 'Start-ausführen' und im Konsolenfenster die properties (Schriftart Raster 12x16 auf 16x12 oder auf Lucidia Console, oder Farben) geändert. Dann verfolgt, was in der Registry passiert:
    Hier wird ganz klar ein Schlüssel HKEY_CURRENT_USER\Console\C:_temp_testblabla.exe angelegt, der DWORD-Werte wie FaceName, FontFamily, FontSize oder ScreenColors enthält. Änderung dieser Werte wirkt sich sofort auf das Aussehen der Konsolenanwendung aus, also auch auf die Schriftart. Mit einem entsprechenden Registry-Vergleichs-Tool (z.B. SpyMe Tools) kann man auch die Werte herausfinden, die einer entsprechenden Änderung entsprechen.
    Anders läuft es, wenn nicht direkt auf die exe zugegriffen wird, sondern über eine Verknüpfung im Startmenü oder auf dem Desktop (wie das ja meistens der Fall ist). In diesem Fall wird direkt die zugrundeliegende Datei 'testblabla.exe.lnk' geändert. Habe mir das mit einem Hexeditor angesehen, bin aber nicht schlau daraus geworden... Und tricksen hilft in dem Fall auch nicht weiter. Habe mal testweise einen Schlüssel 'HKEY_CURRENT_USER\Console\C:_Documents and Settings_Username_Desktop_testblabla.exe.lnk' mit den gleichen DWORD-Werten angelegt. Der wird aber, wie erwartet, nicht beachtet...
    Vielleicht helfen Dir meine Erkenntnisse ja trotzdem weiter!?


Anmelden zum Antworten