1
1
Fork 0
mirror of https://github.com/QB64Official/qb64.git synced 2024-07-03 10:01:21 +00:00
qb64/internal/source/data77.txt
SteveMcNeill eba05938bb Pushed changes to enhance the Windows Console Experience
Window's CONSOLE support has been extended so that:

CSRLIN support added.
POS(0) support added.
LOCATE support added. (Works with optional parameters.)
COLOR support added.
SCREEN support added to get both character and color information of any point on the console.
tab() glitch fixed. (Which could cause an endless loop when printing with comma spaced text/numbers.)
_WIDTH support added.
_HEIGHT support added.
WIDTH support added, with 2 new parameters added so we can set the buffer width and buffer height also.
CLS support semi-added.  (Doesn't accept colored backgrounds; it clears the screen black.  I'm getting tired of working up console stuff which I probably won't ever use myself...)
SLEEP support added.
END support added so we now end with any keypress and not just enter.

_CONSOLEINPUT added, so we can tell the difference in mouse and keyboard input.
_CINP(toggle) support added, which allows us to get single character keystrokes from the console.
_CONSOLEFONT FontName, FontSize support added, which allows us to change the font and font size we use for the console.
_CONSOLECURSOR _SHOW|_HIDE, cursorsize support added, which allows us to show or hide the cursor in the console, and to change its size (from 0 to 100), as desired.

New keyboard commands added:

_CAPSLOCK -- returns 1 if caps lock is on, 0 if it isn't.
_NUMLOCK -- as above, but for num lock
_SCROLLOCK -- as above, but for scroll lock

_TOGGLE_CAPSLOCK -- toggles the caps lock state for us.
_TOGGLE_NUMLOCK -- same, but for num lock
_TOGGLE_SCROLLOCK -- same, but for scroll lock
2019-08-27 19:52:02 -04:00

133 lines
5.8 KiB
Plaintext

qbs*oldstr3382=NULL;
if(_SUB_PREPARSE_STRING_E->tmp||_SUB_PREPARSE_STRING_E->fixed||_SUB_PREPARSE_STRING_E->readonly){
oldstr3382=_SUB_PREPARSE_STRING_E;
if (oldstr3382->cmem_descriptor){
_SUB_PREPARSE_STRING_E=qbs_new_cmem(oldstr3382->len,0);
}else{
_SUB_PREPARSE_STRING_E=qbs_new(oldstr3382->len,0);
}
memcpy(_SUB_PREPARSE_STRING_E->chr,oldstr3382->chr,oldstr3382->len);
}
long double *_SUB_PREPARSE_FLOAT_F=NULL;
if(_SUB_PREPARSE_FLOAT_F==NULL){
_SUB_PREPARSE_FLOAT_F=(long double*)mem_static_malloc(32);
*_SUB_PREPARSE_FLOAT_F=0;
}
qbs *_SUB_PREPARSE_STRING_T=NULL;
if (!_SUB_PREPARSE_STRING_T)_SUB_PREPARSE_STRING_T=qbs_new(0,0);
int32 *_SUB_PREPARSE_LONG_I=NULL;
if(_SUB_PREPARSE_LONG_I==NULL){
_SUB_PREPARSE_LONG_I=(int32*)mem_static_malloc(4);
*_SUB_PREPARSE_LONG_I=0;
}
int64 fornext_value3384;
int64 fornext_finalvalue3384;
int64 fornext_step3384;
uint8 fornext_step_negative3384;
byte_element_struct *byte_element_3385=NULL;
if (!byte_element_3385){
if ((mem_static_pointer+=12)<mem_static_limit) byte_element_3385=(byte_element_struct*)(mem_static_pointer-12); else byte_element_3385=(byte_element_struct*)mem_static_malloc(12);
}
int32 *_SUB_PREPARSE_LONG_L=NULL;
if(_SUB_PREPARSE_LONG_L==NULL){
_SUB_PREPARSE_LONG_L=(int32*)mem_static_malloc(4);
*_SUB_PREPARSE_LONG_L=0;
}
int32 *_SUB_PREPARSE_LONG_C=NULL;
if(_SUB_PREPARSE_LONG_C==NULL){
_SUB_PREPARSE_LONG_C=(int32*)mem_static_malloc(4);
*_SUB_PREPARSE_LONG_C=0;
}
int32 *_SUB_PREPARSE_LONG_C1=NULL;
if(_SUB_PREPARSE_LONG_C1==NULL){
_SUB_PREPARSE_LONG_C1=(int32*)mem_static_malloc(4);
*_SUB_PREPARSE_LONG_C1=0;
}
int32 *_SUB_PREPARSE_LONG_L1=NULL;
if(_SUB_PREPARSE_LONG_L1==NULL){
_SUB_PREPARSE_LONG_L1=(int32*)mem_static_malloc(4);
*_SUB_PREPARSE_LONG_L1=0;
}
byte_element_struct *byte_element_3389=NULL;
if (!byte_element_3389){
if ((mem_static_pointer+=12)<mem_static_limit) byte_element_3389=(byte_element_struct*)(mem_static_pointer-12); else byte_element_3389=(byte_element_struct*)mem_static_malloc(12);
}
int32 *_SUB_PREPARSE_LONG_GOOD=NULL;
if(_SUB_PREPARSE_LONG_GOOD==NULL){
_SUB_PREPARSE_LONG_GOOD=(int32*)mem_static_malloc(4);
*_SUB_PREPARSE_LONG_GOOD=0;
}
int64 fornext_value3392;
int64 fornext_finalvalue3392;
int64 fornext_step3392;
uint8 fornext_step_negative3392;
byte_element_struct *byte_element_3393=NULL;
if (!byte_element_3393){
if ((mem_static_pointer+=12)<mem_static_limit) byte_element_3393=(byte_element_struct*)(mem_static_pointer-12); else byte_element_3393=(byte_element_struct*)mem_static_malloc(12);
}
byte_element_struct *byte_element_3394=NULL;
if (!byte_element_3394){
if ((mem_static_pointer+=12)<mem_static_limit) byte_element_3394=(byte_element_struct*)(mem_static_pointer-12); else byte_element_3394=(byte_element_struct*)mem_static_malloc(12);
}
byte_element_struct *byte_element_3396=NULL;
if (!byte_element_3396){
if ((mem_static_pointer+=12)<mem_static_limit) byte_element_3396=(byte_element_struct*)(mem_static_pointer-12); else byte_element_3396=(byte_element_struct*)mem_static_malloc(12);
}
int64 fornext_value3398;
int64 fornext_finalvalue3398;
int64 fornext_step3398;
uint8 fornext_step_negative3398;
byte_element_struct *byte_element_3399=NULL;
if (!byte_element_3399){
if ((mem_static_pointer+=12)<mem_static_limit) byte_element_3399=(byte_element_struct*)(mem_static_pointer-12); else byte_element_3399=(byte_element_struct*)mem_static_malloc(12);
}
byte_element_struct *byte_element_3400=NULL;
if (!byte_element_3400){
if ((mem_static_pointer+=12)<mem_static_limit) byte_element_3400=(byte_element_struct*)(mem_static_pointer-12); else byte_element_3400=(byte_element_struct*)mem_static_malloc(12);
}
int32 *_SUB_PREPARSE_LONG_FINISHED=NULL;
if(_SUB_PREPARSE_LONG_FINISHED==NULL){
_SUB_PREPARSE_LONG_FINISHED=(int32*)mem_static_malloc(4);
*_SUB_PREPARSE_LONG_FINISHED=0;
}
qbs *_SUB_PREPARSE_STRING_COMP=NULL;
if (!_SUB_PREPARSE_STRING_COMP)_SUB_PREPARSE_STRING_COMP=qbs_new(0,0);
int64 fornext_value3405;
int64 fornext_finalvalue3405;
int64 fornext_step3405;
uint8 fornext_step_negative3405;
byte_element_struct *byte_element_3406=NULL;
if (!byte_element_3406){
if ((mem_static_pointer+=12)<mem_static_limit) byte_element_3406=(byte_element_struct*)(mem_static_pointer-12); else byte_element_3406=(byte_element_struct*)mem_static_malloc(12);
}
byte_element_struct *byte_element_3407=NULL;
if (!byte_element_3407){
if ((mem_static_pointer+=12)<mem_static_limit) byte_element_3407=(byte_element_struct*)(mem_static_pointer-12); else byte_element_3407=(byte_element_struct*)mem_static_malloc(12);
}
int64 fornext_value3412;
int64 fornext_finalvalue3412;
int64 fornext_step3412;
uint8 fornext_step_negative3412;
byte_element_struct *byte_element_3413=NULL;
if (!byte_element_3413){
if ((mem_static_pointer+=12)<mem_static_limit) byte_element_3413=(byte_element_struct*)(mem_static_pointer-12); else byte_element_3413=(byte_element_struct*)mem_static_malloc(12);
}
byte_element_struct *byte_element_3414=NULL;
if (!byte_element_3414){
if ((mem_static_pointer+=12)<mem_static_limit) byte_element_3414=(byte_element_struct*)(mem_static_pointer-12); else byte_element_3414=(byte_element_struct*)mem_static_malloc(12);
}
qbs *_SUB_PREPARSE_STRING_BIN=NULL;
if (!_SUB_PREPARSE_STRING_BIN)_SUB_PREPARSE_STRING_BIN=qbs_new(0,0);
int64 fornext_value3416;
int64 fornext_finalvalue3416;
int64 fornext_step3416;
uint8 fornext_step_negative3416;
byte_element_struct *byte_element_3417=NULL;
if (!byte_element_3417){
if ((mem_static_pointer+=12)<mem_static_limit) byte_element_3417=(byte_element_struct*)(mem_static_pointer-12); else byte_element_3417=(byte_element_struct*)mem_static_malloc(12);
}
byte_element_struct *byte_element_3418=NULL;
if (!byte_element_3418){
if ((mem_static_pointer+=12)<mem_static_limit) byte_element_3418=(byte_element_struct*)(mem_static_pointer-12); else byte_element_3418=(byte_element_struct*)mem_static_malloc(12);
}