On Wed, 9 Apr 2008 11:20:18 +0200, "Marek Horodyski"
<m.horodyski@[EMAIL PROTECTED]
> wrote:
> znaki[ 1] := "___ _ ___ ___ _ _ ___ _ ___ ___ ___ "
> znaki[ 2] := "¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦
¦ +--+"
> znaki[ 3] := "¦ ¦ ¦ ¦¯¯ ¯¦ ¯¯¦ ¯¯¦ ¦¯¦ ¦ ¦¯¦
¯¯¦ +--+"
> znaki[ 4] := "¦_¦ ¦ ¦__ __¦ ¦ __¦ ¦_¦ ¦ ¦_¦ ¦ ¦
"
>
Andy Jahjah made some time ago a lib that was doing that (choosing
font and characteristics), but it was not working anymore for me, I
don't remember if it was because I migrate for clipper 5.3 or because
I was linking in protected more. Anyhow, it's worth the look :
http://www.the-oasis.net/ftpmaster.php3?content=ftplib.htm
As a variant of Marek's code, here is my code for displaying a clock :
(complete code in scr_sav1.prg of alvilib.lib, available at
www.alvidente.com/clipper.html )
*-------------------- ShowTime -----------------------*
* Construit les gros nombres de l'horloge … partir de cTime, et les
affiche
static function ShowTime(cTime, nTX, nTY, cTitre)
static aTime
// Split des digits (on incr‚mente car 0 -> aTime[1, 1…3])
local nHour1 := val(left(cTime,1))+1 ;
, nHour2 := val(substr(cTime,2,1))+1 ;
, nMin1 := val(substr(cTime,4,1))+1 ;
, nMin2 := val(substr(cTime,5,1))+1 ;
, nSec1 := val(substr(cTime,7,1))+1 ;
, nSec2 := val(substr(cTime,8,1))+1
local aBigTime[3]
if isnil(aTime) // Init de l'array (seulemt la 1§
fois)
aTime := DefClock()
endif
aBigTime[1] := aTime[nHour1,1]+" "+aTime[nHour2,1]+aTime[11,1]+;
aTime[nMin1,1]+" "+aTime[nMin2,1]+;
aTime[11,1]+aTime[nSec1,1]+" "+aTime[nSec2,1]
aBigTime[2] := aTime[nHour1,2]+" "+aTime[nHour2,2]+aTime[11,2]+;
aTime[nMin1,2]+" "+aTime[nMin2,2]+aTime[11,2]+;
aTime[nSec1,2]+" "+aTime[nSec2,2]
aBigTime[3] := aTime[nHour1,3]+" "+aTime[nHour2,3]+aTime[11,3]+;
aTime[nMin1,3]+" "+aTime[nMin2,3]+aTime[11,3]+;
aTime[nSec1,3]+" "+aTime[nSec2,3]
// display o relogio
@[EMAIL PROTECTED]
nTX +1, nTY +1 clear to nTX+4, nTY+29
@[EMAIL PROTECTED]
nTX +1, nTY +3 Say cTitre
@[EMAIL PROTECTED]
nTX +1, nTY+21 Say DtoC( date() )
@[EMAIL PROTECTED]
nTX +2, nTY +2 Say aBigTime[1]
@[EMAIL PROTECTED]
nTX +3, nTY +2 Say aBigTime[2]
@[EMAIL PROTECTED]
nTX +4, nTY +2 Say aBigTime[3]
// Ancienne version :
// @[EMAIL PROTECTED]
nTX +1, nTY +2 Say left( DtoC( date() ), 5 )
// @[EMAIL PROTECTED]
nTX +1, nTY +7 Say padC( hTITRE, 18 )
// @[EMAIL PROTECTED]
nTX +1,nTY +25 Say iif( val( left(time(), 2 ) ) >12, 'P', 'A'
) +'.M.'
RETURN NIL
*---- EoP ShowTime ----*
*---------------------- DefClock -----------------
* Define os n£meros para o relogio de TicTac
* Chamado por TicTac, s¢ a primeira vez
* aTime est definido como static extern
STATIC FUNCTION DefClock()
local aTime[11,3]
LOCAL cSpace := ' ', ;
cTop := CHR(223), ;
cSide := CHR(219), ;
cBottom:= CHR(220)
aTime[1,1] := cSide+cTop+cSide
aTime[1,2] := cSide+cSpace+cSide
aTime[1,3] := cTop+cTop+cTop
aTime[2,1] := cSpace+cSpace+cSide
aTime[2,2] := cSpace+cSpace+cSide
aTime[2,3] := cSpace+cSpace+cTop
aTime[3,1] := cTop+cTop+cSide
aTime[3,2] := cSide+cTop+cTop
aTime[3,3] := cTop+cTop+cTop
aTime[4,1] := cTop+cTop+cSide
aTime[4,2] := cSpace+cTop+cSide
aTime[4,3] := cTop+cTop+cTop
aTime[5,1] := cSide+cSpace+cSide
aTime[5,2] := cTop+cTop+cSide
aTime[5,3] := cSpace+cSpace+cTop
aTime[6,1] := cSide+cTop+cTop
aTime[6,2] := cTop+cTop+cSide
aTime[6,3] := cTop+cTop+cTop
aTime[7,1] := cSide+cTop+cTop
aTime[7,2] := cSide+cTop+cSide
aTime[7,3] := cTop+cTop+cTop
aTime[8,1] := cTop+cTop+cSide
aTime[8,2] := cSpace+cSpace+cSide
aTime[8,3] := cSpace+cSpace+cTop
aTime[9,1] := cSide+cTop+cSide
aTime[9,2] := cSide+cTop+cSide
aTime[9,3] := cTop+cTop+cTop
aTime[10,1] := cSide+cTop+cSide
aTime[10,2] := cTop+cTop+cSide
aTime[10,3] := cTop+cTop+cTop
aTime[11,1] := cSpace+cBottom+cSpace
aTime[11,2] := cSpace+cBottom+cSpace
aTime[11,3] := cSpace+cSpace+cSpace
RETURN aTime
*---- EoP DefClock ----*
--
Regards,
Sebas


|