WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 19.02.2002, 19:11   #11
Tubetraxxx-rOOm4-
Jr. Member
 
Registriert seit: 13.02.2002
Alter: 41
Beiträge: 24


Tubetraxxx-rOOm4- eine Nachricht über ICQ schicken
Standard

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...
____________________________________
so long...
[ d:j ]
-rOOm4-

webmaster von www.3hdc.com
Tubetraxxx-rOOm4- ist offline   Mit Zitat antworten
Alt 20.02.2002, 23:04   #12
Tubetraxxx-rOOm4-
Jr. Member
 
Registriert seit: 13.02.2002
Alter: 41
Beiträge: 24


Tubetraxxx-rOOm4- eine Nachricht über ICQ schicken
Standard

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,&reg,&reg);
}

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...
____________________________________
so long...
[ d:j ]
-rOOm4-

webmaster von www.3hdc.com
Tubetraxxx-rOOm4- ist offline   Mit Zitat antworten
Alt 20.02.2002, 23:29   #13
Tubetraxxx-rOOm4-
Jr. Member
 
Registriert seit: 13.02.2002
Alter: 41
Beiträge: 24


Tubetraxxx-rOOm4- eine Nachricht über ICQ schicken
Standard

Zitat:
Original geschrieben von it00x30
du meinst man kann mit der maus menüs führen, ohne ein fixes fenster zu haben. wie soll das gehen in der konsole, da weiss man ja nie wo im konsolenfenster man steht (scroll, ...)
klar ist das man grad mal die bildschirmausmaße hat, also 80 spalten und 25 zeilen im normalen textmodus....den man aber erweitern kann auf 80x50...
aber scroolen lässt sich sicherlich programmieren, is eigentlich nicht so tragisch...
mfg, patrick...
____________________________________
so long...
[ d:j ]
-rOOm4-

webmaster von www.3hdc.com
Tubetraxxx-rOOm4- ist offline   Mit Zitat antworten
Alt 21.02.2002, 09:40   #14
gaelic
nugent
 
Registriert seit: 28.08.2001
Beiträge: 2.500


Standard

einfach mal den alten dos-editor starten und schon hat man ein anschauungsbeispiel.
____________________________________
kill it & grill it
gaelic ist offline   Mit Zitat antworten
Alt 21.02.2002, 23:01   #15
Tubetraxxx-rOOm4-
Jr. Member
 
Registriert seit: 13.02.2002
Alter: 41
Beiträge: 24


Tubetraxxx-rOOm4- eine Nachricht über ICQ schicken
Standard

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...
____________________________________
so long...
[ d:j ]
-rOOm4-

webmaster von www.3hdc.com
Tubetraxxx-rOOm4- ist offline   Mit Zitat antworten
Alt 21.02.2002, 23:08   #16
batigol1860
Veteran
 
Registriert seit: 20.12.2000
Alter: 51
Beiträge: 383


batigol1860 eine Nachricht über ICQ schicken
Standard

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.

batigol1860 ist offline   Mit Zitat antworten
Alt 21.02.2002, 23:37   #17
Sonic
Master
 
Registriert seit: 28.03.2000
Alter: 45
Beiträge: 691


Sonic eine Nachricht über ICQ schicken
Standard

Zitat:
Original geschrieben von batigol1860
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.

Du solltest dich schämen!!
Oder das nächstemal genauer lesen bevor du deinen Kommentar postest.

Hinweis: Lies doch mal das PS vom 2. Posting von COOLBININET!

lg
____________________________________
__________________
|»»»»»SONIC««««««|
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Sonic ist offline   Mit Zitat antworten
Alt 22.02.2002, 10:09   #18
batigol1860
Veteran
 
Registriert seit: 20.12.2000
Alter: 51
Beiträge: 383


batigol1860 eine Nachricht über ICQ schicken
Standard

Hi,

na gut, sorry - hab ich wirklich nicht gesehen.

*SCHÄM* (aber nur kurz)
batigol1860 ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:35 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag