home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CD-ROM Aktiv 1
/
CDA1_96.ISO
/
clipper
/
fen3d.prg
< prev
next >
Wrap
Text File
|
1996-01-06
|
3KB
|
90 lines
/*
AVARGUES Jean-Christophe 1995
12 Rue des Flots
66000 PERPIGNAN
FRANCE
Tel : 68-67-07-90
Compilation : CLIPPER FEN3D /M/N/W/A /DTEST
Link : BLINKER FI FEN3D
*/
#ifdef TEST
FUNCTION MAIN()
/*
*/
SETCOLOR("N/N")
CLS
SETCURSOR(0)
SETCOLOR("W+/N")
Msg3D(2,"AVARGUES Jean-Christophe","W+/G",{"G+/G","N/G"},0.1,.F.)
Fen3D(0,63,15,75,{"BG+/BG","N/BG"})
Fen3D(7,17,15,67,{"RB+/RB","N/RB"})
Msg3D(21,"Appuyez sur une Touche","W+/B",{"B+/B","N/B"},0,.T.)
SETCOLOR("W+/N")
@ 24,0 SAY ""
RETURN(NIL)
#endif
FUNCTION Fen3D(nHaut,nGauche,nBas,nDroit,aCoul)
/*
Coordonnées de la fenetre.
aCoul : Tableau des Couleur ( 2 Couleurs )
ex : {"R+/R","N/R"} Rouge
{"G+/G","N/G"} Vert
{"B+/B","N/B"} Bleu
{"W+/W","N/W"} Gris
{"W+/N","W/N"} Noir
{"BG+/BG","N/BG"} Cyan
{"GR+/GR","N/GR"} Orange
{"RB+/RB","N/RB"} Violet
*/
DISPBEGIN()
@ nHaut+1,nGauche+1,nBas-1,nDroit-1 BOX SPACE(9) COLOR aCoul[1]
Bord(nHaut,nGauche,nBas,nDroit,aCoul,.T.)
DISPEND()
RETURN(NIL)
STATIC FUNCTION Bord(nHaut,nGauche,nBas,nDroit,aCoul,Sens)
/*
*/
LOCAL X
@ nHaut,nGauche+1 SAY REPLICATE("─",nDroit-nGauche-1) COLOR aCoul[ IIF(Sens,1,2) ]
@ nBas,nGauche+1 SAY REPLICATE("─",nDroit-nGauche-1) COLOR aCoul[ IIF(Sens,2,1)]
FOR X:=nHaut+1 TO nBas-1
@ X,nGauche SAY "│" COLOR aCoul[IIF(Sens,1,2)]
@ X,nDroit SAY "│" COLOR aCoul[IIF(Sens,2,1)]
NEXT
@ nHaut,nGauche SAY "┌" COLOR aCoul[IIF(Sens,1,2)]
@ nBas,nGauche SAY "└" COLOR aCoul[IIF(Sens,1,2)]
@ nHaut,nDroit SAY "┐" COLOR aCoul[IIF(Sens,2,1)]
@ nBas,nDroit SAY "┘" COLOR aCoul[IIF(Sens,2,1)]
RETURN(NIL)
FUNCTION Msg3d(nLig,Message,CoulMes,CoulFen,Temps,Efface)
/*
*/
LOCAL nHaut,nGauche,nBas,nDroit,MsgEcran
LOCAL MsgCur:=SetCursor(0)
LOCAL Sav_Set:=SET(20,"SCREEN")
nGauche:=(80-LEN(Message))/2
nHaut :=nLig-1
nBas :=nLig+2
nDroit :=nGauche+LEN(Message)+3
MsgEcran:=SaveScreen(nHaut,nGauche-2,nBas,nDroit)
Fen3D(nHaut,nGauche-2,nBas-1,nDroit-2,CoulFen)
@ nLig,nGauche SAY Message COLOR CoulMes
IF Temps!=NIL
InKey(Temps)
ENDIF
IF EFFACE<>.F.
Bord(nHaut,nGauche-2,nBas-1,nDroit-2,CoulFen,.F.)
INKEY(.25)
RESTSCREEN(nHaut,nGauche-2,nBas,nDroit,MsgEcran)
ENDIF
SetCursor(MsgCur)
SET(20,Sav_Set)
RETURN(NIL)
/* FIN DU PROGRAMME */