Improved Console 3.4



  • uebrigens, den GetProcAddress() kannst Dir sparen, wenn Du...

    Schonmal probiert? 🙂

    0X0500 steht uebrigens fuer Windows 2000.

    Danke, dass du mir da eine kleine Einführung gibst. Davon wusste ich nichts.

    warum machst Du keinen native Windows Port der ncurses-Library?

    Weil mir die ncurses-Library nicht gerade sehr OO vorkommt, nciht das ich eine perfekte OO-Library geschaffen habe, aber sie hat wenigstens Ansätze in diese Richtung.

    MfG SideWinder



  • Also bitte, das kann man doch alles in den Intel-Spezifikationen nachlesen. 🤡



  • SideWinder schrieb:

    Schonmal probiert? 🙂

    Ja, hab's grad nochmal ausprobiert: Ergebnis: Funktion ist deklariert, aber fehlt in der Import-Library (und ist undokumentiert). (PSDK von 2002)
    Ich installier mir grad den Windows 2003 SP1 Server Platform SDK von 2005 (der die frueheren SDKs ersetzt). Kann ne Weile dauern (400 MB ueber's Web).

    Da die Funktion aber mittlerweile offiziell ist, glaube ich, dass es funktionieren wird.

    SideWinder schrieb:

    Weil mir die ncurses-Library nicht gerade sehr OO vorkommt, nciht das ich eine perfekte OO-Library geschaffen habe, aber sie hat wenigstens Ansätze in diese Richtung.

    Deine Library hat zwar OO-Ansaetze, aber nicht mehr. Ist ja eh bloss eine Klasse.
    Da fehlt noch 'ne ganze Menge, im Moment ist es ein OO-aehnlicher, minimaler thin-Wrapper um die Win32-Console-Funktionen.



  • Power Off schrieb:

    Deine Library hat zwar OO-Ansaetze, aber nicht mehr.

    darüber solltest du dir kein urteil erlauben.



  • ...im Moment...minimaler thin-Wrapper um die Win32-Console-Funktionen

    Oh, schnell aufhören zu entwickeln, Ziel erreicht.

    MfG SideWinder



  • volkard schrieb:

    darüber solltest du dir kein urteil erlauben.

    Oh doch, das tu ich. Ich hab sehr wahrscheinlich schon mehr OO-Anwendungen geschrieben als Du.

    Von "Objekten" ist in der Library bisher garnix zu spueren. Bloss weil man was in C++ schreibt, ist es noch lange nicht objektorientiert. Das ist eine ganz andere Baustelle.

    Ich bin zwar kein OOA/OOD-Guru, aber das sieht ein Blinder mit nem Krueckstock.



  • SideWinder schrieb:

    Oh, schnell aufhören zu entwickeln, Ziel erreicht.

    Dann ist ja gut. Willst Du, dass ich Dir helfe, die ganzen Fehler rauszumachen, die noch drin sind?



  • Du kannst was auch immer dein Herz begehrt hier ausschütten, solange du das was du sagst auch stichhaltiv begründen kannst :). Wenn die Vorschläge gut sind werde ich sie umsetzen.

    Was wir hier im Forum weniger gerne sehen ist Kritik die nachher im Sumpf verläuft: ZB dein Hinweis mit GetProcAddress()...

    Bloss weil man was in C++ schreibt, ist es noch lange nicht objektorientiert.

    Wo man dir ausnahmsweise mal recht geben darf.

    MfG SideWinder



  • SideWinder schrieb:

    Du kannst was auch immer dein Herz begehrt hier ausschütten, solange du das was du sagst auch stichhaltiv begründen kannst :). Wenn die Vorschläge gut sind werde ich sie umsetzen.

    OK.

    SideWinder schrieb:

    Was wir hier im Forum weniger gerne sehen ist Kritik die nachher im Sumpf verläuft: ZB dein Hinweis mit GetProcAddress()...

    Wenn ich den aktuelle SDK installiert habe (ich habe auf der Kiste erst vor kurzem wieder einen Compiler installiert), pruefe ich das noch mal. Ich kann Dir doch nicht einfach so recht geben! 😉

    Uebrigens, Du musst auch auf Kompatibilitaet mit Windows NT achten. Das kann auch Version 4.0 haben. (NT 5.0 ist 2000)

    An und fuer sich ist GetProcAddress() gar nicht so schlecht, weil man damit Versionsspezifika ausgleichen kann. Aber man kann es wie beim Platform SDK auch, ueber Compiler-Flags machen. Das verhindert dann, dass eine reine XP-Anwendung GetProcAddress() aufruft, obwohl es eigentlich unnoetig ist. Aber in diesem speziellen Fall werde ich wie gesagt, das nochmal pruefen.

    SideWinder schrieb:

    Wo man dir ausnahmsweise mal recht geben darf.

    Was heisst hier ausnahmsweise, haeh?!! 😉



  • Power Off schrieb:

    Oh doch, das tu ich. Ich hab sehr wahrscheinlich schon mehr OO-Anwendungen geschrieben als Du.

    ich glaube nicht, daß du schon eine einzige gemacht hast, die dieses attribut verdiente.

    Von "Objekten" ist in der Library bisher garnix zu spueren. Bloss weil man was in C++ schreibt, ist es noch lange nicht objektorientiert. Das ist eine ganz andere Baustelle.

    bis du auch ein freund von

    namespace math{
    template<typename D>
    class Sqrt{
    D data;
    public:
    Sqrt(D const& d):
    data(d){
    }
    T calc(){
    return std::sqrt(d);
    }
    };
    

    ?

    Ich bin zwar kein OOA/OOD-Guru, aber das sieht ein Blinder mit nem Krueckstock.

    wer sprach von OOA/OOD? das hat nur ganz entfernt mit OOP zu tun und ist nur schwacher hinweis darau, wie gut der code wird. bei genauerer betrachtung erkennt man (du natürlich nicht), daß code hinter OOA/OOD nicht extrem schlecht und nicht extrem gut werden kann. wer sich mehr am unteren spektum aufhält, wird mehr von OOD/OOA halten, als wer am oberen lebt.



  • volkard schrieb:

    wer sprach von OOA/OOD? das hat nur ganz entfernt mit OOP zu tun und ist nur schwacher hinweis darau, wie gut der code wird. bei genauerer betrachtung erkennt man (du natürlich nicht), daß code hinter OOA/OOD nicht extrem schlecht und nicht extrem gut werden kann. wer sich mehr am unteren spektum aufhält, wird mehr von OOD/OOA halten, als wer am oberen lebt.

    🙄



  • Also, SideWinder, Du hattest Recht: Selbst im aktuellen PSDK fehlt SetConsoleDisplayMode() in der Import-Library. Man koennte natuerlich eine neue Import-Library machen (mittels LIB), aber in dem Fall ist GetProcAddress() durchaus angebracht, weil die Funktion offiziell dokumentiert ist, im Include-File deklariert ist, bloss in der Import-Library fehlt. Das sollte man durchaus als Kommentar in den Source reinschreiben, weil sonst wundern sich noch mehr Leute.



  • Power Off schrieb:

    Also, SideWinder, Du hattest Recht: Selbst im aktuellen PSDK fehlt SetConsoleDisplayMode() in der Import-Library.

    So ein Zufall aber auch, bin ich jetzt aber ganz überrascht. BTW:

    Quellcode schrieb:

    // Load already implemented WinAPI-Functions without declaration in <windows.h>
    ...

    Sowas solltest du vorher prüfen. Sonst wirst du am Ende noch mit unsachlicher Kritik verbunden was nicht nur deinem Ruf schadet sondern dich in jeglichem Umfeld als Troll-Poster dastehen lässt.

    MfG SideWinder



  • SideWinder schrieb:

    Quellcode schrieb:

    // Load already implemented WinAPI-Functions without declaration in <windows.h>
    ...

    Tja, SideWinder, der Kommentar ist aber verkehrt: In "windows.h" ist die Funktion ja deklariert, sie fehlt bloss in der Import-Library.



  • Na da bringst du letzten Endes endlich mal Kritik die was bringt. Zwar ~5 Postings zu spät, aber okay. Ich kann dich beruhigen, die Änderung dieses Kommentars steht bereits auf der Todo-List (welche allerdings noch zu kurz für eine neue Version ist).

    MfG SideWinder



  • Power Off jetzt sag doch mal die Verbesserungsvorschläge für Improved Console und gut is! 😎



  • ich bins nochmal, wollt nur fragen ob das hier

    http://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en

    das besagte platform sdk ist, was ich brauche, weil ich echt nicht mehr weiter weiss. hab schon alles probiert sogar ne library hab ich gebunden, aba es tut sich nix. ich brauche hilfeeeeeeeeeeeeeeeeeeeeeeeeeeeeee! 😞



  • mr. ibanez schrieb:

    ich bins nochmal, wollt nur fragen ob das hier

    http://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en

    das besagte platform sdk ist, was ich brauche, weil ich echt nicht mehr weiter weiss. hab schon alles probiert sogar ne library hab ich gebunden, aba es tut sich nix. ich brauche hilfeeeeeeeeeeeeeeeeeeeeeeeeeeeeee! 😞

    Ja, das ist das aktuelle Platform SDK fuer Windows! 🙂

    Das zu installieren schadet auf keinen Fall was. Da steht so gut wie alles drin, was man ueber Windows-Programmierung wissen muss (oder: kann). Ausserdem sind neuesten Include-Dateien und Libraries dabei. Die Umgebungsvariablen fuer Deinen Compiler musst Du allerdings u.U. noch anpassen, damit die Dateien gefunden werden.

    Ob es Dir beim Verwenden von SideWinder's Library hilft, weiss ich allerdings nicht.

    (EDIT: Uebrigens: Wichtiger Punkt noch: Wenn man die Hilfe das erste Mal startet, wird ein neuer Index angelegt, und danach sind auf deutschen Windows-Versionen Inhaltsverzeichnis und Index verschwunden. Um das zu beheben, muss man nur die Spracheinstellung auf "Englisch (USA)" aendern, im Tools-Optionen-Menue, und das Hilfsprogramm neustarten; danach kann man uebers View-Navigation-Menue Index und Inhaltsverzeichnis wieder anzeigen)



  • Jop genau das, ich nehm aber immer das hier: http://www.microsoft.com/downloads/details.aspx?familyid=D8EECD75-1FC4-49E5-BC66-9DA2B03D9B92&displaylang=en

    Bekommst du ein ISO-File und musst nicht während der Installation dauernd online sein (brauchst halt DaemonTools oÄ um das ISO zu mounten).

    MfG SideWinder



  • hmm, es muss wohl ein anderes prob sein. jetzt funktioniert das prog zwar aber nur wenn ich keine ic befehle verwende. dann kommt nämlich dieser fehler:

    main.obj : error LNK2001: Nichtaufgeloestes externes Symbol "public: void __thiscall ic::Console::setCaret(unsigned short,unsigned short)" (?setCaret@Console@ic@@QAEXGG@Z)
    main.obj : error LNK2001: Nichtaufgeloestes externes Symbol "class ic::Console & ic::con" (?con@ic@@3AAVConsole@1@A)
    Debug/new2.exe : fatal error LNK1120: 2 unaufgeloeste externe Verweise

    was hat das zu bedeuten?


Anmelden zum Antworten