Files
harbour-core/tests/gtchars.prg
Viktor Szakats 58faf91453 2016-01-14 19:17 UTC+0100 Viktor Szakats (vszakats users.noreply.github.com)
* *
    % remove brandings and homepage [1] from copyright header. Pass 1 - using script.
      [1] nobody has access to it anymore AFAIK - and it's also just
          a redirect since long
    ! update url in copyright header
    ; this should make the diff between 3.4 and 3.2 easier to manage
2016-01-14 19:18:17 +01:00

92 lines
2.8 KiB
Plaintext

/*
* demonstration/test code for terminal character output and codepage
* translations
*
* Copyright 2007 Przemyslaw Czerpak <druzus / at / priv.onet.pl>
*
*/
/* UTF-8 */
#include "hbgtinfo.ch"
#define POL_MAZ hb_Translate( "ĄĆĘŁŃÓŚŹŻąćęłńóśźż", "UTF8", "PLMAZ" )
#define POL_ISO hb_Translate( "ĄĆĘŁŃÓŚŹŻąćęłńóśźż", "UTF8", "PLISO" )
#define POL_852 hb_Translate( "ĄĆĘŁŃÓŚŹŻąćęłńóśźż", "UTF8", "PL852" )
#define POL_WIN hb_Translate( "ĄĆĘŁŃÓŚŹŻąćęłńóśźż", "UTF8", "PLWIN" )
REQUEST HB_CODEPAGE_UTF8
REQUEST HB_CODEPAGE_PLMAZ
REQUEST HB_CODEPAGE_PLISO
REQUEST HB_CODEPAGE_PL852
REQUEST HB_CODEPAGE_PLWIN
PROCEDURE Main( cTermCP, cHostCP, lBoxChar )
LOCAL i, j, x
IF Empty( cTermCP )
cTermCP := "PLISO"
ELSE
cTermCP := Upper( cTermCP )
ENDIF
IF Empty( cHostCP )
cHostCP := "PLMAZ"
ELSE
cHostCP := Upper( cHostCP )
ENDIF
lBoxChar := ! Empty( lBoxChar )
hb_gtInfo( HB_GTI_FONTNAME, "fixed" )
hb_gtInfo( HB_GTI_FONTWIDTH, 9 )
hb_gtInfo( HB_GTI_FONTSIZE, 20 )
hb_cdpSelect( cHostCP )
hb_SetTermCP( cTermCP,, lBoxChar )
? OS(), Version(), Date(), Time()
? "GT" + hb_gtVersion(), hb_gtVersion( 1 )
? "Host codpage: " + cHostCP + ", terminal codepage: " + cTermCP
?
// hb_gtInfo( HB_GTI_COMPATBUFFER, .F. )
?
FOR i := 0 TO 15
FOR j := 0 TO 15
x := i * 16 + j
DispOut( " " + Chr( x ) )
NEXT
?
NEXT
Inkey( 0 )
?; dspboxch( hb_UTF8ToStrBox( "┌─┬─┐ ╔═╦═╗ ╒═╤═╕ ╓─╥─╖ ▄▄▄ ░▒▓█ ░ ▒ ▓ █" ) )
?; dspboxch( hb_UTF8ToStrBox( "│ │ │ ║ ║ ║ ├─┼─┤ ╟─╫─╢ ▌■▐" ) )
?; dspboxch( hb_UTF8ToStrBox( "├─┼─┤ ╠═╬═╣ │ │ │ ║ ║ ║ ▌█▐ █■█" ) )
?; dspboxch( hb_UTF8ToStrBox( "│ │ │ ║ ║ ║ ╞═╪═╡ ╠═╬═╣ ▌■▐" ) )
?; dspboxch( hb_UTF8ToStrBox( "└─┴─┘ ╚═╩═╝ ╘═╧═╛ ╙─╨─╜ ▀▀▀ √ « »" ) )
?
? "ISO-8859-2: say[ " + POL_ISO + " ]"; dspboxch( ", box[ " + POL_ISO + " ]" )
? " Mazovia: say[ " + POL_MAZ + " ]"; dspboxch( ", box[ " + POL_MAZ + " ]" )
? " CP-1250: say[ " + POL_WIN + " ]"; dspboxch( ", box[ " + POL_WIN + " ]" )
? " CP-852: say[ " + POL_852 + " ]"; dspboxch( ", box[ " + POL_852 + " ]" )
? Chr( 4 ) + Chr( 16 ) + Chr( 17 ) + Chr( 24 ) + Chr( 25 ) + Chr( 26 ) + Chr( 27 ) + Chr( 30 ) + Chr( 31 )
hb_gtInfo( HB_GTI_ESCDELAY, 5 )
Inkey( 0 )
Alert( "ALERT BOX" )
RETURN
FUNCTION dspboxch( cStr )
LOCAL i, r, c
FOR i := 1 TO Len( cStr )
r := Row(); c := Col()
DispBox( r, c, r, c, SubStr( cStr, i, 1 ) )
SetPos( r, c + 1 )
NEXT
RETURN NIL