![]() |
![]() |
|
![]() |
![]() |
|
Registrieren | Hilfe/Forumregeln | Benutzerliste | Kalender | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#11 |
Jr. Member
![]() |
![]() eh nicht!
goto is ne sprungmarke und gotoxy(x,y) ist zum positionieren des cursors am bildschirm um so das bildschirmlayout besser zu gestalten können! mfg, tubetraxxx... |
![]() |
![]() |
![]() |
#12 |
Jr. Member
![]() |
![]() das is mal der code für die diversen mausfunktionen....
is halt die maussteuerung im textmodus...der cursor ist im prinzip ein BLOCK (so wie _setcursortype(_SOLID); ) bei diversen fragen fragt einfach ganz ungeniert... ![]() union REGS outregs; //global für Testauswertung wird benötigt! void posmaus(int x, int y) { REGS reg; reg.x.ax=4; reg.x.cx=x*8-1; reg.x.dx=y*8-1; int86(0x33,®,®); } int mousecheck() //schaut ob maus existiert und #der tasten { union REGS inregs; inregs.x.ax = 0; int86(0x33,&inregs,&outregs); return(outregs.x.ax ? outregs.x.bx : 0); } void mousecursor(int toggle) //schaltet mauscursor ein/aus { union REGS inregs; if(toggle) inregs.x.ax = 1; else inregs.x.ax = 2; int86(0x33,&inregs,&outregs); } int mouserow() //gibt die zeile in der sich die maus { //befindet zurück union REGS inregs; inregs.x.ax = 3; int86(0x33,&inregs,&outregs); return(outregs.x.dx/8+1); } int mousecol() //gibt die spalte in der sich die maus { //befindet zurück union REGS inregs; inregs.x.ax = 3; int86(0x33,&inregs,&outregs); return(outregs.x.cx/8+1); } int mousebuttons() //schaut ob eine maustaste gedrückt { //ist union REGS inregs; inregs.x.ax=6; int86(0x33,&inregs,&outregs); return(outregs.x.ax & 3); } int mouseclick() //schaut ob maustasten gedrückt wurden { int click =0; union REGS inregs; inregs.x.ax = 5; inregs.x.bx = 1; int86(0x33,&inregs,&outregs); click = outregs.x.ax << 1; int86(0x33,&inregs,&outregs); return(click | outregs.x.ax); } void mousestat(unsigned int *button, unsigned int *col, unsigned int *row) { union REGS inregs,outregs; //Gibt die aktuelle Position und struct SREGS segregs; //den Tastenstatus zurück inregs.x.ax=0x33; int86x(0x33,&inregs,&outregs,&segregs); *button=outregs.x.bx; *col=outregs.x.cx; *row=outregs.x.dx; } void mousetcur(char zeichen) { union REGS inregs,outregs; //Funktion um die art struct SREGS segregs; //des mauscorsors zu ändern inregs.x.ax=0x000A; //Möglich sind alle ASCII- inregs.x.bx=0x0000; //Zeichen inregs.x.cx=0x7700; inregs.x.dx=0x7700; inregs.x.dx |= zeichen; int86x(0x33,&inregs,&outregs,&segregs); } void mouseget(unsigned *button, unsigned *col,unsigned *row,unsigned *keystat) { unsigned hbut,hcol,hrow; //hilfsvariablen char taste; *keystat=0; mousestat(&hbut,col,row); //checkt den mausstatus //einmal vorerst und dann while(!hbut && !kbhit()) //so lange keine taste gedrückt { //wird--> mousestat(&hbut,col,row); //checkt den mausstatus } *button=hbut; //merke gedrückte taste while(hbut) //und warte bis die taste { //losgelassen wurde mousestat(&hbut,&hcol,&hrow); } if(kbhit()) //wenn eine taste gedrückt { //(tastatur) taste=getch(); //merke taste *keystat |= 0x0100; //und setze flag if(kbhit()) //check ob weitere taste { taste=getch(); *keystat |= 0x0200; //wenn gedrückt *keystat |= taste; //return taste (neu)... } else *keystat |= taste; //sonst alte... } } sodala....bei diversen fragen steh ich gern zu verfügung... mfg, patrick... |
![]() |
![]() |
![]() |
#13 | |
Jr. Member
![]() |
![]() Zitat:
aber scroolen lässt sich sicherlich programmieren, is eigentlich nicht so tragisch... mfg, patrick... |
|
![]() |
![]() |
![]() |
#14 |
nugent
![]() Registriert seit: 28.08.2001
Beiträge: 2.500
|
![]() einfach mal den alten dos-editor starten und schon hat man ein anschauungsbeispiel.
![]()
____________________________________
kill it & grill it |
![]() |
![]() |
![]() |
#15 |
Jr. Member
![]() |
![]() jop, hast recht....im dos einfach den edit...dort is ja auch scrolling eingebaut logischwer weise!
oder auch im borland c....kannst ja auch scrollen... ![]() |
![]() |
![]() |
![]() |
#16 |
Veteran
![]() |
![]() An alle, die gotoxy für einen Sprungbefehl halten:
SCHÄMEN UND 1 STUNDE IN DIE ECKE STELLEN!!! Eigentlich untypisch fürs WCM-Forum, so dass unqualifizierte Kommentare abgegeben werden. Redets lieber von etwas, wo Ihr euch auskennt. ![]() ![]() |
![]() |
![]() |
![]() |
#17 | |
Master
![]() |
![]() Zitat:
Oder das nächstemal genauer lesen bevor du deinen Kommentar postest. ![]() Hinweis: Lies doch mal das PS vom 2. Posting von COOLBININET! lg
____________________________________
__________________ |»»»»»SONIC««««««| ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ |
|
![]() |
![]() |
![]() |
#18 |
Veteran
![]() |
![]() Hi,
na gut, sorry - hab ich wirklich nicht gesehen. *SCHÄM* (aber nur kurz) |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|