📄 stderr.hhf
字号:
#if( ! @defined( stderr_hhf ))?stderr_hhf := true;#includeOnce( "hla.hhf" )#includeOnce( "stdio.hhf" )/************************************************************************//* *//* The stderr Namespace: *//* *//************************************************************************/namespace stderr; @fast; procedure handle; @returns( "eax" ); @external( "STDERR_GETSTDERRHANDLE" ); procedure write( var buffer:var; count:dword ); @external( "STDERR_WRITE" ); procedure putbool( b:boolean ); @external( "STDERR_PUTBOOL" ); procedure putcset( cst:cset ); @external( "STDERR_PUTCSET_" ); procedure putc( c:char ); @external( "STDERR_PUTC" ); procedure putcSize( c:char; width:int32; fill:char ); @external( "STDERR_PUTCSIZE" ); procedure newln; @external( "STDERR_NEWLN" ); procedure puts( s:string ); @external( "STDERR_PUTS" ); procedure putsSize ( s:string; width:int32; fill:char ); @external( "STDERR_PUTSSIZE" ); procedure putz( zs:zstring ); @external( "STDERR_PUTZ" ); procedure putzSize ( zs:zstring; width:int32; fill:char ); @external( "STDERR_PUTZSIZE" ); procedure putb( h:byte ); @external( "STDERR_PUTB" ); procedure putw( w:word ); @external( "STDERR_PUTW" ); procedure putd( dw:dword ); @external( "STDERR_PUTD" ); procedure putq( qw:qword ); @external( "STDERR_PUTQ" ); procedure puttb( tb:tbyte ); @external( "STDERR_PUTTB" ); procedure putl( l:lword ); @external( "STDERR_PUTL" ); procedure putbSize ( b:byte; width:int32; fill:char ); @external( "STDERR_PUTBSIZE" ); procedure putwSize ( w:word; width:int32; fill:char ); @external( "STDERR_PUTWSIZE" ); procedure putdSize ( d:dword; width:int32; fill:char ); @external( "STDERR_PUTDSIZE" ); procedure putqSize ( q:qword; width:int32; fill:char ); @external( "STDERR_PUTQSIZE" ); procedure puttbSize ( tb:tbyte; width:int32; fill:char ); @external( "STDERR_PUTTBSIZE" ); procedure putlSize ( l:lword; width:int32; fill:char ); @external( "STDERR_PUTLSIZE" ); procedure puth8( b:byte ); @external( "STDERR_PUTH8" ); procedure puth16( w:word ); @external( "STDERR_PUTH16" ); procedure puth32( d:dword ); @external( "STDERR_PUTH32" ); procedure puth64( q:qword ); @external( "STDERR_PUTH64" ); procedure puth80( tb:tbyte ); @external( "STDERR_PUTH80" ); procedure puth128( l:lword ); @external( "STDERR_PUTH128" ); procedure puth8Size( b:byte; width:int32; fill:char ); @external( "STDERR_PUTH8SIZE" ); procedure puth16Size( w:word; width:int32; fill:char ); @external( "STDERR_PUTH16SIZE" ); procedure puth32Size( d:dword; width:int32; fill:char ); @external( "STDERR_PUTH32SIZE" ); procedure puth64Size( q:qword; width:int32; fill:char ); @external( "STDERR_PUTH64SIZE" ); procedure puth80Size( tb:tbyte; width:int32; fill:char ); @external( "STDERR_PUTH80SIZE" ); procedure puth128Size( l:lword; width:int32; fill:char ); @external( "STDERR_PUTH128SIZE" ); procedure puti8 ( b:byte ); @external( "STDERR_PUTI8" ); procedure puti16 ( w:word ); @external( "STDERR_PUTI16" ); procedure puti32 ( d:dword ); @external( "STDERR_PUTI32" ); procedure puti64 ( q:qword ); @external( "STDERR_PUTI64" ); procedure puti128( l:lword ); @external( "STDERR_PUTI128" ); procedure puti8Size ( b:byte; width:int32; fill:char ); @external( "STDERR_PUTI8SIZE" ); procedure puti16Size ( w:word; width:int32; fill:char ); @external( "STDERR_PUTI16SIZE" ); procedure puti32Size ( d:dword; width:int32; fill:char ); @external( "STDERR_PUTI32SIZE" ); procedure puti64Size ( q:qword; width:int32; fill:char ); @external( "STDERR_PUTI64SIZE" ); procedure puti128Size ( l:lword; width:int32; fill:char ); @external( "STDERR_PUTI128SIZE" ); procedure putu8 ( b:byte ); @external( "STDERR_PUTU8" ); procedure putu16( w:word ); @external( "STDERR_PUTU16" ); procedure putu32( d:dword ); @external( "STDERR_PUTU32" ); procedure putu64( q:qword ); @external( "STDERR_PUTU64" ); procedure putu128( l:lword ); @external( "STDERR_PUTU128" ); procedure putu8Size ( b:byte; width:int32; fill:char ); @external( "STDERR_PUTU8SIZE" ); procedure putu16Size ( w:word; width:int32; fill:char ); @external( "STDERR_PUTU16SIZE" ); procedure putu32Size ( d:dword; width:int32; fill:char ); @external( "STDERR_PUTU32SIZE" ); procedure putu64Size ( q:qword; width:int32; fill:char ); @external( "STDERR_PUTU64SIZE" ); procedure putu128Size ( l:lword; width:int32; fill:char ); @external( "STDERR_PUTU128SIZE" ); procedure putr80 ( r :real80; width :uns32; decpts :uns32; fill :char ); @external( "STDERR_PUTR80" ); procedure putr64 ( r :real64; width :uns32; decpts :uns32; fill :char ); @external( "STDERR_PUTR64" ); procedure putr32 ( r :real32; width :uns32; decpts :uns32; fill :char ); @external( "STDERR_PUTR32" ); procedure pute80( r:real80; width:uns32 ); @external( "STDERR_PUTE80" ); procedure pute64( r:real64; width:uns32 ); @external( "STDERR_PUTE64" ); procedure pute32( r:real32; width:uns32 ); @external( "STDERR_PUTE32" ); // The following macros provide the same interface to pute32, pute64, // and pute80 as the plain (without size/fill char) integer output // routines: #macro _pute32( e ); stderr.pute32( e, 15 ); #endmacro #macro _pute64( e ); stderr.pute64( e, 22 ); #endmacro #macro _pute80( e ); stderr.pute80( e, 28 ); #endmacro // The following macros provide the same interface (for the PUT macro) // as the integerSize functions: #macro pute32_( e, w, f ); stderr.pute32( e, w ); #endmacro #macro pute64_( e, w, f ); stderr.pute64( e, w ); #endmacro #macro pute80_( e, w, f ); stderr.pute80( e, w ); #endmacroconst validPutType :boolean[ @global:hla.sizePTypes ] := [ @global:false, // Undefined @global:true, // tBoolean //1 @global:false, // enum //2 @global:true, // tUns8, //3 @global:true, // tUns16, //4 @global:true, // tUns32, //5 @global:true, // tUns64, //6 @global:true, // tUns128, //7 @global:true, // tByte, //8 @global:true, // tWord, //9 @global:true, // tDWord, //10 @global:true, // tQWord, //11 @global:true, // tTByte, //12 @global:true, // tLWord, //13 @global:true, // tInt8, //14 @global:true, // tInt16, //15 @global:true, // tInt32, //16 @global:true, // tInt64, //17 @global:true, // tInt128, //18 @global:true, // tChar, //19 @global:false, // tWChar, //20 @global:true, // tReal32, //21
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -