Improved Console v2.0 Beta
-
ahja mit den farben habt ihr mich klein gekriegt, dark kommt weg weil in namespaces sollen sachen rein die zusammen gehören und die farben gehören zusammen, auch wenn man sie in einer seperaten gruppe einordnen kann
-
ncurses? ieh... Wieso nicht einfach Escape-Sequenzen?
-
Escape-Sequenzen? ihh :p
-
Original erstellt von <mod>:
Escape-Sequenzen? ihh :pwieso?
-
Original erstellt von DrGreenthumb:
wieso?warum escape sequenzen?
müssen laut POSIX die Treiber für die Escape Sequenzen installiert sein?wenn nein, dann ist das ein KO Kriterium.
-
Original erstellt von Shade Of Mine:
wenn nein, dann ist das ein KO Kriterium.Escape-Sequenzen können mir aber nicht sagen wo sich grad der curser aufhält
-
Anfängern sollte doch die alte IC reichen, oder?
Warum muss n Profi sich die sachen selber basteln? Dann hab ich ja keine Plattform unabhängigkeit - es sei denn ich portier mir das selbst.
aber dann kann ich ja gleich die ganze lib selber schreiben...
IMHO soll eine library alles können was man braucht und für spezialfälle soll man sie einfach erweitern können. und nicht umgekehrt.
was ist ausserdem an Dimahs Design schlecht? nichts - es ist halt für Anfänger nicht leicht durchschaubar - na und? Anwenden können sies trotzdem. Und welcher Anfänger kapiert schon die WinAPI?
Ich finde es recht gut wenn Anfänger von Anfang an an schönes Design gewöhnt werden - dann fragen sie sich vielleicht was diese manipulatoren sind und aufeinmal stehen sie mit beiden beinen in der IOStream Library. Oder sie kümmern sich nicht drum und verwenden es halt nur - schadet auch nichts.
aber wenn man sie mit C Design konfrontiert werden die ja nie OOP lernen...
und wieso abwärtskompatibel?
einziger Grund den ich dafür kenne ist es, bestehenden Sourceocde nicht zu brechen - das ist hier aber nicht gegeben.@Dimah:
ne gute Doku würde der Lib auch nicht schade
-
@Shade: Ich glaube du verstehst mich nicht richtig. Ich habe nicht gesagt, dass Dimahs Design schlecht ist, im Gegenteil. Aber zuviele Namespaces können auch den angenehmen Umgang mit einer Libary verschlechtern. Der komplette std-Namespace hat ganz selten (oder eigentlich nie?) Namespaces die darunter liegen. Warum müssen also jetzt alle ihre Libaries mit Namespaces füllen? Einer oder zwei reichen doch auch vollkommen...
was ist ausserdem an Dimahs Design schlecht? nichts - es ist halt für Anfänger nicht leicht durchschaubar - na und? Anwenden können sies trotzdem. Und welcher Anfänger kapiert schon die WinAPI?
Ich finde es recht gut wenn Anfänger von Anfang an an schönes Design gewöhnt werden - dann fragen sie sich vielleicht was diese manipulatoren sind und aufeinmal stehen sie mit beiden beinen in der IOStream Library. Oder sie kümmern sich nicht drum und verwenden es halt nur - schadet auch nichts.
Also jetzt merke ich, du verstehst mich wirklich falsch. An Dimahs Design ist nichts schlecht. Falsch finde ich nur zuviele Namespaces. Anfänger kapieren die WinAPI nur selten auf Anhieb - na und? Warum basteln wir glaubst du eine IC? Natürlich um ihnen die Konsolen-API zu ersparen
.
Sie sollen sich auch an schönes Design gewöhnen und ich finde Dimahs Design sehr gut, nur die Namespaces sollen halt nicht sein...
Was bauscht du die Sache auch so grundlos auf? Ich sag mir gefallen die vielen Namespaces nicht und du glaubst ich finde Dimahs komplettes Design schlecht?! Also bitte...
Anfängern sollte doch die alte IC reichen, oder?
Warum muss n Profi sich die sachen selber basteln? Dann hab ich ja keine Plattform unabhängigkeit - es sei denn ich portier mir das selbst.
Also wenn dann eine neue Version und keine alte, mehrere sind nur unübersichtlich. Außerdem hat niemand gesagt das man sich die Sachen selbst basteln muss, Dimah hat eh schon den gesamten Umfang eingebaut den die alte IC beherrscht - und der reicht vollkommen, hat sich noch nie jemand beschwert
.
IMHO soll eine library alles können was man braucht und für spezialfälle soll man sie einfach erweitern können. und nicht umgekehrt.
Ja, bei mir hat sich noch nie jemand über Marcus IC aufgeregt, warum also den Inhalt künstlich aufblähen? Wie kommst du überhaupt darauf? Wenn man Namespaces raus nimmt, kann doch die Liabry nicht weniger?...
MfG SideWinder
-
SideWinder: Wiederhol dich doch nicht in jedem Satz.
-
Ist mir auch eben aufgefallen, aber für editieren ist es schon zu spät - dieses zusammenstöpseln von Beiträgen ist wohl nicht so gut ;). Unterstreicht eventl. vielleicht meine Aussage ;).
MfG SideWinder
-
ich denke die kontools.h isteinfach genug
konmanip.h ist dann für die die mehr wollenob das jetzt ein gutes bsp für anfänger ist was gutes desing oder gutes c++ ist, ne ist es nicht, höstens dafür das ich für wenig nutzen sehr viel aufwand treibe
ich denke es gibt sprachen die es einen leichter gemacht hätten oder es schon im keim erstick hätten (dann wurde ich meine zeit damit jetzt nicht verschwenden)ps. habe den code geupdatet
ps. wurde sich drüber freuen wenn sich jemand als linux beta tester melden würde[ Dieser Beitrag wurde am 24.02.2003 um 23:21 Uhr von Dimah editiert. ]
-
Original erstellt von SideWinder:
**Ja, bei mir hat sich noch nie jemand über Marcus IC aufgeregt, warum also den Inhalt künstlich aufblähen? Wie kommst du überhaupt darauf? Wenn man Namespaces raus nimmt, kann doch die Liabry nicht weniger?...
**Marc++us' Version ist für Anfänger - der Umfang ist nicht schlecht, aber für ne ordentliche Library wünsche ich mir mehr features.
Aufblähen ist gut, solange das Zero-Cost-Principle nicht gebrochen wird. Und Dimah bricht es (soweit ich jetzt gesehen habe) nicht.
-
Original erstellt von Shade Of Mine:
**Marc++us' Version ist für Anfänger - der Umfang ist nicht schlecht, aber für ne ordentliche Library wünsche ich mir mehr features.Aufblähen ist gut, solange das Zero-Cost-Principle nicht gebrochen wird. Und Dimah bricht es (soweit ich jetzt gesehen habe) nicht.**
also Umfangreicher als IC 1.0 ist es nicht, beim porten musste ich sogar sachen verschwinden lassen z.b. settitel
oder habe es einfach so rausgenomen z.b. void home() { gotoxy(0,0); }
die sache mit aufblähen ist so, bringt es wirklich einen nenenswerten vorteil wenn ich in kon noch ein zweiten namespace haben curser? bei dieser code umfang bestimt nicht, das sind aber techniken auf die ich nicht verzichten will bei größeren projekten, da ich bei keinen projekten üben will werde ich jetzt daruf nicht verzichten (ok colors da habe ich übertieben)
-
ich als fortgeschrittener anfänger hab mir den umgang mit iostreams
schleunigst abgewöhnt !ich bleibe beim ansi c
ausserdem ist man da viel flexibler ...
hab deshalb meine wincolio.lib selbst editiert und alle iostream-anweisungen
rausgeschmissen :pstdio rockZ
... ich sollte so langsam die lincolio.lib unter linux testen, ob die geht...
hehe dann ist mein prog endlich win+lin - compilierbarahh und nochwas:
#pragma comment(lib, "wincolio.lib") rockZ!
#ifdef WIN32
#pragma comment(lib, "wincolio.lib")
#pragma comment(lib, "wsock32.lib")
#include <winsock.h>
#else
#pragma comment(lib, "lincolio.lib")
...ich liebe direktiven...
mfg haMMer
[ Dieser Beitrag wurde am 25.02.2003 um 19:27 Uhr von Hammer editiert. ]
-
Original erstellt von Hammer:
**ich als fortgeschrittener anfänger hab mir den umgang mit iostreams
schleunigst abgewöhnt !
**wir können das gerne ausdiskutieren, aber bitte nicht hier
-
<etwas ot>
Was passiert in folgendem Code?#include <iostream> #include <fstream> #include "kontools.h" using namespace std; using namespace kon; int main() { ofstream out("foo.txt"); out << setcolor( colors::red ) << "Was passiert hier?\n"; out << goto_xy( 10, 10 ) << "Und hier?\n"; return 0; }
Du benutzt überall einen allgemeinen ostream&. Dann müsste dieser Code mit fstream doch compilieren, oder?
(Ich kanns grad nicht testen, keine Zeit mehr)Ich wollte nur darauf hinweisen, weil irgendein DAU bei dieser (IMO gelungenen) Lösung mit manipulatoren bestimmt auf die Idee kommt: "Ich mache mal farbige Text-Dateien".
-
es klappt nicht
es kommt die meldung "dll not found exitint"
-
Beim Starten oder beim Kompilieren?
Der Code war auch eher als Pseusocode gedacht, um die (mögliche) Problematik mit anderen streams als cout aufzuzeigen.
-
cd9000 du hast recht, es passiert nix aber ich will den kon::manipulator nicht noch verkomplizieren weil ein jemand das probieren sollte, er wird dann feststellen es geht nicht
ander seits könnte ich ihn ja einfach html code machen lassen
-
und wieder ein paar bugs gefunden und das desing verändert stat xdim_size() & ydim_size() gibts jetzt in namespace cursor eine neue funktion getmaxpos() die eine pos structur zurück gibt
der linux port ist nicht so leicht wie man das glaubt, so schwer ist das ja auch nicht die paar funktionen in kontools.h zu linuxen aber leider funktioniert nicht so wie man glaubt
bei der ncurses lib muss ich mit deren ausgabe funktion arbeiten wenn ich farben haben will (die lösung ein eigenen streambufer zu schreiben kommt nach ganz hinten)
ANSI Escape Sequenzen wollen bei einen von meinen beta testern nicht gehenverdamt da lobe ich mir windows, entweder es geht dann steht es in der msdn oder es geht nicht, bei linux gibt es kein es geht nicht, da darf man sich durch 5 libs durch fighten