Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Text User Interface in Windows Console

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
08.10.2005, 02:07 Uhr
~Aspi
Gast


Ich schreibe zur Zeit an einem Framework für TUIs (vgl. ncurses).
Jetzt habe ich aber das Problem, dass ich keine Sonderzeichen für Rahmen,... hinbekomme.
Habe bereits verschiedene Codepages (1252, 850, 437,...) versucht, bin aber nie zu den alten Dos-Zeichen gekommen.
Da aber z.B. ein editor (edit) damit aufgebaut ist, müssen diese zeichen doch auch in der cmd vorhanden sein.

Wie kann ich also die alten Zeichen ausgeben?

Danke im Voraus.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
08.10.2005, 10:36 Uhr
RedEagle



Ich hab mir auch sowas für die Konsole gemacht...
Mache ich mir aber evtl nochmal neu, da die benutzung zu aufwendig ist...


C++:
#include <stdio.h>

int main()
{
for(int i=0; i<256; i++) printf("%c",(char)i);
return 0;
}


ps.: nimm nicht so Funktionen wie printf(), da die VIEL zu langsam sind...
benutz lieber Diese
Es währe auch nicht falsch, das ganze in eine *.dll zu packen, da bei späteren Änderungen (z.B. Schneller gemacht) nicht alle Programme neu Kompiliert werden müssen.

und.: Wenn du den standard "edit"-Editor von Windows meinst: Das ist eine Dos-Anwendung (*.com) und keine Konsolenanwendung.
--
MFG RedEagle

Dieser Post wurde am 08.10.2005 um 10:42 Uhr von RedEagle editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
08.10.2005, 13:41 Uhr
RedEagle



Ich hab hier mal nen Ausschnitt aus meinen Klassen.
Die Funktion zeichnet nur die Umrandung.


C++:
bool window::DrawBorder()
{
char OBEN_LINKS;
char UNTEN_LINKS;
char OBEN_RECHTS;
char UNTEN_RECHTS;
char WAAGERECHT;
char SENKRECHT;

if(iborder==1) //ASCII-Code für Normale Rahmen
{
   OBEN_LINKS   = 218;
   UNTEN_LINKS  = 192;
   OBEN_RECHTS  = 191;
   UNTEN_RECHTS = 217;
   WAAGERECHT   = 196;
   SENKRECHT    = 179;
}
else if(iborder==2) //ASCII-Code Doppelte Rahmen
{
   OBEN_LINKS   = 201;
   UNTEN_LINKS  = 200;
   OBEN_RECHTS  = 187;
   UNTEN_RECHTS = 188;
   WAAGERECHT   = 205;
   SENKRECHT    = 186;
}
else return false;


//Farben
textcolor(ibordercolor);
textbackground(ibgcolor);

//Die Ecken
  coutput(OBEN_LINKS,   iposX, iposY);
  coutput(OBEN_RECHTS,  itoX,  iposY);
  coutput(UNTEN_LINKS,  iposX, itoY);
  coutput(UNTEN_RECHTS, itoX,  itoY);

//Die Linien
int i;
for(i=iposX+1; i<itoX; i++){coutput(WAAGERECHT, i    , iposY); //oben
                            coutput(WAAGERECHT, i    , itoY);}  //unten
for(i=iposY+1; i<itoY; i++){coutput(SENKRECHT,  iposX, i);     //links
                            coutput(SENKRECHT,  itoX , i);}     //rechts

return true;
}


iposX/Y: Position oben links
itoX/Y: Position unten rechts
ibordercolor: Fabe der Zeichen für den Rahmen
ibgcolor: Farbe des Hintergrundes des Rahmens
iborder: 1 = Einfacher Rahmen; 2 = Doppelter Rahmen

void coutput(char zeichen, int posx, int posy);
--
MFG RedEagle

Dieser Post wurde am 08.10.2005 um 13:47 Uhr von RedEagle editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: