by Juan Planelles » Tue Dec 29, 2009 10:22 pm
Te los pongo:
1.- LEEME.TXT
29-12-09
Estimado Antonio Linares:
He preparado el PRG para que tea lo mas sencillo.
Va WOCAYUD8.PRG, H0012008.MH1 ( Es un txt de hsitorias del programa qWOCUL3.EXE que hace la llamada a WOCAYUD8.EXE con el nombre como parámetro, y CFGAYUDA.001 que son los datos de configuracion para imprimir: Previsualizar, justificar y márgenes.
Se genera el exe con: Buildh Wocayud8
Pulsar: Archivo / Abrir y H0012008.MH1, o bien,
en la carpeta C:\FWH\SAMPLES, si están los tres ficheros solo hay que ejecutar:
WOCAYUD8 H0012008.MH1
y se abrirá la ventana correspondiente (he modificado los botones a textos ..), pulsando entonces el botón "prn" se previsualiza la impresión.
Saludos y muchas gracias: - Juan -
2.- H0012008.MH1 (Es el texto de prueba a editar)
GTF1Arial160.401100Arial219.241100Batang219.241100010PLANELLES LAZAGA, JUAN - Última historia - H0012008.MH1.
- Consulta: 147 del paciente.
PLANELLES LAZAGA, JUAN - Edad: 69.5 - Fecha: 22/11/2007.
ANTECEDENTES PERSONALES .-
Comentarios a las principales 2funcionalidades del entorno encabezado1 y pie de página (pág. 13)
Con respecto a la nota que has puesto en pág. 12 dorso: 2255Si se hace así10, se borra el pie de página anteriormente creado. Para evitarlo, colocar el curso después del pie de página, clic sobre el botón nº de página y escoger posición actual y números en negrita (muy abajo). Después, desplazar con la barra espaciadora el nº de pág. Con de total de pág. Hasta el borde derecho.
El formato n/nn (p. Ej. 7/31) no existe (o yo no lo veo) en el cuadro de diálogo. Para conseguirlo hay que ponerlo a mano: En cualquier página borrar la palabra "de" y los dos espacios, y escribir la barra. Esto afecta a todas las páginas.
Al insertar la fecha, ésta aparece delante del pie de página. La hora lo hace en el 2º renglón. Ambas se pueden colocar donde se quiera con ctrl+x y ctrl+v. Elijo poner ambas en la 2ª línea, centrándolas con el menú contextual automático flotante. Lo malo es que si se marca actualizar automáticamente, se vuelve a colocar delante del pié de página.
Los márgenes laterales 332896del encabezado y el pie 10de página se pueden ampliar mediante sangrías hacia el borde izq. No hacia el dcho. Sí se pueden achicar hacia ambos lados.
ALERGIAS ......: Dermatologica
MOTIVO CONSULTA .-
Revision.-
POLO ANTERIOR .-
Sin anomalias.
TRATAMIENTO .-
- Cusimolol 0.25% - Azopt colirio
- ----- -
_________________________________________________________________
FIN DEL FICHERO: H0012008.MH1 - 1879 b. - 27/12/2009 - 20:35:13.
3.- CFGAYUDA.001
2.50
S
5.00
0.80
N
N
2
N
5.00
S
S
15
S
Y AHORA WOCAYUDA.PRG:
EN TRES PARTES PARA QUE QUEPA ENTERO.
PARTE PRIMERA:
// Managing Windows trees
// WOCAYUDA.PRG - JULIO 2008. POR FIN !!!!
#include "FiveWin.ch"
#include "Fget.ch"
#include "Splitter.ch"
#include "GTF.ch"
#include "ribbon.ch"
#include "xbrowse.ch"
#define FW_NORMAL 400
#define FW_BOLD 700
//Static oWnd, oGet, oMenu, oFont, nItem, aFiles, oMsgItem, cFileDisc := "", lFile := .f., lHelp := .t.
//Static cText, cFile, nVez, cTit, lIt, nX, lChange := .f., cTextFormat := ""
//static cTextFind := "", CFGAYUDA, bFnt, nAH := 1, nAV := 1, nPar := 1
//static oClp, oPrn, oFonSpec, lFile2 := .f.
static nIndex := 1
static nAvance := 1
static aBmp := {}
static aResources := {}
Static oWnd, oGet, oMenu, oFont, nColor, nItem, aFiles, oMsgItem, cFileDisc := "", lFile := .f., lHelp := .t.
Static cText, cFile, nVez, cTit, lIt, nX, lChange := .f., lAct := .f., cTextFormat := "", lPrev := .f., lPrevIni := .f., bPrev
static cTextFind := "", CFGAYUDA, bFnt, nAH := 1, nAV := 1, nPar := 1, lJustif := .f.
static oPegar, oClp, oPrn, oFonSpec, lFile2 := .f., lPrime := .t., lMembr := .t.
// Variables propias imprescindibles en todos los fuentes
static mNombre := '', cFileTemp, oRBar
static mHistoria:= '', cExt, nVal, cFConf
static mPrimero := 0
static multimo := 0
static mFechaNaci
static mfechaulti
static Date
static a10 := '', cFAcro := ""
static oBrush := ''
//atic FileHelp := ''
static SetAyuda := 0, Act2, cNamepre
static lMotivo := .f., lFin := .f., lCuart := .t., l2007 := .f., lFinImp := .f., oDlg, oDlg2
//static oMenu, oMenuConsulta
static nNivelacc:= 1, nKm
static nUsuario := 1
static cTitular := '', cValW := ""
static contaajeno := ''
static cEleccion:= '', cTextMem := ""
static lChek := .f., lPonerF := .t., lRespaldo
static lText := .f., lBmp := .f., lAvisos := .t., lAcro := .t., lSintax := .t., nSalto := 15, lCinta := .f. //.t.
static oRefr, oTono
static ColorDlg
static ColorTxt
static sClave := '', nLong
static membr0, membr1, membr2
STatic xR
STatic xC
STatic xBV
STatic xBH
Static lMetaf, lColor := .t.
//static nXpR := 0.869, nXpC := 1.30 //1.34 // Correccion Says
//static nXtR := 0.89 , nXtC := 1 // Correccion botones
//static nXkR := 1.483 , nXkC := 1 //0.9 // Correccion lCheck
//static nXpR := 0.862, nXpC := 1.34 // Correccion Says
//static nXtR := 0.67 , nXtC := 1.1 // Correccion botones
//static nXtR := 0.66 , nXtC := 1.16 // Correccion botones
static nXpR := 1.33, nXpC := 1.32 //1.34 // Correccion Says
static nXtR := 1.6 , nXtC := 1.01 // Correccion botones
static nXkR := 1.55 , nXkC := 1.19 //0.9 // Correccion lCheck
static nXLR := 1.6 , nXLC := 1 //0.9 // Correccion label
static nXGR := 1.53 , nXGC := 1 //0.9 // Correccion get
//----------------------------------------------------------------------------//
// lHelp y lFile dirigen el flujo segun sea llamada a ayudas o a formatear anteced/historias
FUNCTION MAIN( cPar )
local oTree, bMasMeno
local oBar, oItem, oItem1, oItem2, oBmp1, oBmp2, oImageList, oSplit, oComo, oTxt, wOk, bComo, lG32 := .f.
local oItem3, oItem4, aItems := Array( 50 ), bResize, cTLee, oBrush, bLee2, cLee2, nOpc := 3, lSalir := .f.
local aCoors, cFCoors, cMemoCoors, oItem5, oItem6, oItem7, oIco, cFileDest := "", oHand
local aFon := Array( 14 ), nColor := 0, bFont, cFon, bParamFont, bNoFormat, bNoFormat2
local lVacio := ( Empty( cPar ) ), nI := 2, cIt := '', cUs := "", oLine, oLetras, oMLetras, cVar := ""
local bExpand, bCollaps, cTx := "Arial", bReset, lSS := .t., nHSPl := 4, lFile3 := .f., nVacio := 2
local cAyd := "", lRecursiva := .f., cMemo := "", cFileNw := "", aVal, lExit := .t.
local nMargen, nFactor, nFilaIni, bSavd, nMargend := 3 //, lSintax := .t., lAcro := .t.
local bIt, FLbxColr, FlbxFont, aTypes, bColrLoad, bFntLoad
//local oRBar
// local oWnd, oMenu
local oGr, oGr1, oGr2, oGr3, oGr4, oMenu
local oBtn, oBtn1, oBtn2, oBtn3, oBtn4, oBtn5
local oBtn6, oBtn7, oBtn8, oBtn9, oBtn10
local oBtn11, oBtn12, oBtn13, oBtn14, oBtn15
local oBtn16, oBtn17, oBtn18, oBtn19, oBtn20
local oBtn21, oBtn22, oBtn23, oBtn24, oBtn25
local oBtn26, oBtn27, oBtn28, oBtn29, oBtn30
local oBtn31, oBtn32, oBtn33, oBtn34, oBtn35
local oSay1, oChk1, lVal1 := .T.
local oTBtn0, oTBtn1, oTBtn2, oTBtn3, oTBtn4, oTBtn5, oTBtn6, oTBtn7
local aClrMenu1 := { { 0.5, RGB( 69, 124, 188 ), RGB( 41, 93, 171 ) }, ;
{ 0.5, RGB( 26, 64, 136 ), RGB( 56, 135, 191 ) } }
local aClrMenu2 := { { 0.5, RGB( 123, 178, 236 ), RGB( 71, 126, 205 ) }, ;
{ 0.5, RGB( 17, 78, 175 ), RGB( 128, 225, 255 ) } }
menu oMenu Popup 2007
menuitem "Stilos" FILE "..\bitmaps\styleset161.BMP"
menuitem "Colores"
menuitem "Fuentes"
endmenu
MENU oMLetras POPUP 2007
MENUITEM "Poner en mayúsculas el texto seleccionado." ACTION ( Seleccion( 1 ), oGet:SetFocus() )
MENUITEM "Poner en minúsculas el texto seleccionado." ACTION ( Seleccion( 2 ), oGet:SetFocus() )
SEPARATOR
MENUITEM ".. en minúsculas, sintáxis y acrónimos." ACTION ( Seleccion( 3 ), oGet:SetFocus() )
//MENUITEM ".. solo aplicar lista de acrónimos" ACTION ( Seleccion( 7 ), oGet:SetFocus() ) // Fatal
//MENUITEM "A mays. solo un formato." ACTION ( Seleccion( 4 ), oGet:SetFocus() )
//MENUITEM "A mins. solo un formato." ACTION ( Seleccion( 5 ), oGet:SetFocus() )
/*
MENUITEM "Reiniciar el documento sin formatos." ACTION ( ; //Seleccion( 6, oFont, nColor ), oGet:SetFocus() )
cText := GTFToTxt( cText ), MemoWrit( aFiles[ nItem ], cText ), ;
iif( at( cTextFormat, cText ) = 0, (Eval( bFnt ), cText := TxtToGTF( cText, , oFont, nColor ),;
MemoWrit( cFileDisc, cText )), Nil ), aFiles[1] := cFileDisc, cTit := "Wocul3.Exe - " + cFileDisc,;
oGet:cText( cText ), oGet:Refresh(), oWnd:SetText( cTit ), oWnd:Refresh() )
*/
// MENUITEM "Salir" ACTION ( oGet:SetFocus() )
ENDMENU
nColor := 0
SET _3DLOOK ON
SET DATE BRITISH
SET CENTURY ON
SET MULTIPLE ON
bSavd := {|| MemoWrit( CFGAYUDA, Str( aVal[1], 5, 2 ) + CRLF + ;
iif( aVal[2] == .t., "S", "N" ) + CRLF + ;
Str( aVal[3], 5, 2 ) + CRLF + ;
Str( aVal[4], 5, 2 ) + CRLF + ;
iif( aVal[5] == .t., "S", "N" ) + CRLF + ;
iif( aVal[6] == .t., "S", "N" ) + CRLF + ;
Str( aVal[7], 1 ) + CRLF + ;
iif( aVal[8] == .t., "S", "N" ) + CRLF + ;
Str( aVal[9], 5, 2 ) + CRLF + ;
iif( aVal[10] == .t., "S", "N" ) + CRLF + ;
iif( aVal[11] == .t., "S", "N" ) + CRLF + ;
Str( aVal[12], 5 ) + CRLF + ;
iif( aVal[13] == .t., "S", "N" ) ) }
CFGAYUDA := "CFGAYUDA.001" // Para Antonio Linares
cMemo := MemoRead( CFGAYUDA )
if Empty( cMemo ) // Omisión
aVal := { 3, .t., 5, 0.80, .f., .f., 2, lCuart, 5, .t., .t., 15, .f. }
Eval( bSavd )
endif
if Empty( cPar )
lVacio := .t.
nFilaIni := Val( AllTrim( memoLine( cMemo, , 1 ) ) )
lPrev := ( AllTrim( memoLine( cMemo, , 2 ) ) == "S" )
nMargen := Val( AllTrim( memoLine( cMemo, , 3 ) ) )
nFactor := Val( AllTrim( memoLine( cMemo, , 4 ) ) )
nFactor := Max( nFactor, 0.20 )
lPrevIni := ( AllTrim( memoLine( cMemo, , 5 ) ) == "S" )
lMembr := ( AllTrim( memoLine( cMemo, , 6 ) ) == "S" )
nVacio := Val( AllTrim( memoLine( cMemo, , 7 ) ) )
nVacio := iif( nVacio < 1, 2, nVacio )
lCuart := ( AllTrim( memoLine( cMemo, , 8 ) ) == "S" )
nMargend := Val( AllTrim( memoLine( cMemo, , 9 ) ) )
lSintax := ( AllTrim( memoLine( cMemo, , 10 ) ) == "S" )
lAcro := ( AllTrim( memoLine( cMemo, , 11 ) ) == "S" )
nSalto := Val( AllTrim( memoLine( cMemo, , 12 ) ) )
lJustif := ( AllTrim( memoLine( cMemo, , 13 ) ) == "S" )
if File( "PACIENTE.DBF" )
nVacio := MenuRadio( "¿Que desea hacer?", { "Ver las Ayudas del programa.", ;
"Formatear un Fichero de Texto.", "Cancelar." }, "WOCAYUDA.EXE va a abrirse", nVacio )
else
nVacio := 2 // Si está fuera de carpeta Ocul no hay q abrir ayudas
endif
aVal := { nFilaIni, lPrev, nMargen, nFactor, lPrevIni, lMembr, nVacio, lCuart, nMargend, lSintax, lAcro, nSalto, lJustif }
Eval( bSavd )
nVacio := 2 // Se pone así para enviar a Antonio Linares
do case // nvacio es un valor de aVal de configuracion
case nvacio == 0
return nil
case nvacio == 1
cPar := ""
case nvacio == 2
lFile3 := .t.
lPrevIni := .f.
cPar := "NUEVO.TXT_1_0"
MemoWrit( "NUEVO.TXT", "" )
case nvacio == 3
return Nil
endcase
Endif
cTextFormat := FORMAT_TEXT_TYPE + SP_REG + ;
FORMAT_TEXT_VERSION + SP_FIELD
// lFile := ( at( ".ED", cValToChar(cPar) ) > 0 ) .or. ( at( ".MH", cValToChar(cPar) ) ) > 0
lFile := ( at( ".\SV", Upper( cValToChar(cPar) ) ) > 0 ) .or. ;
( at( ".\AUT", Upper( cValToChar(cPar) ) ) > 0 ) .or. ;
( at( ".ALS", Upper( cValToChar(cPar) ) ) > 0 ) .or. ;
( at( ".RED", Upper( cValToChar(cPar) ) ) > 0 ) .or. ;
( at( ".MH", cValToChar(cPar) ) > 0 ) .or. ( Upper(cValToChar( cPar ) ) ==
"AYUDA.WLP" )
lFile2 := ( at( ".MH", cValToChar(cPar) ) > 0 ) // Las historias vienen ya creadas en Ansi y asi se guardan
lHelp := !(lFile)
//lCinta := lFile .or. lFile2
cAyd := "CONSEJOS INICIALES EN TEXTOS CON FORMATO. " + CRLF + ;
iif( lHelp, ;
"Doble Click sobre en cualquier Item abre el texto," + CRLF + ;
"incluso en los principales. " + CRLF, "" ) + ;
"Primero seleccione TODO el texto y elija FUENTE (Nombre y tamaño)" + CRLF + ;
"y color, y luego seleccione las palabras o líneas que desee destacar" + CRLF + ;
"cambiando su color, fuente o alineación.. " + CRLF + ;
"Es preciso elegir nombre de la fuente ( P.ej.: Arial, tamaño 12, Negrita )" + CRLF + ;
"Si no lo haces así se imprimen mal. " + CRLF + ;
"Para que se imprima bien pon el ancho de la ventana al tamaño de un" + CRLF + ;
"folio menos 3 o 4 cm, para que las líneas salgan enteras y " + CRLF + ;
"compruebalo en previsualización antes de imprimir. " + CRLF + ;
iif( lHelp, "El botón <Reset> establece las coordenadas aproximadas óptimas" + CRLF + ;
"de la ventana para imprimir bien. " + CRLF, ;
"Modificando del ancho de la ventana y previsualizando impreso " + CRLF + ;
"controlas para un buen impreso. " ) + CRLF + ;
"Puedes hacer cambios, imprimir y luego salir y no archivar los cambios," + CRLF + ;
"p.ej., tras usar los protocolos o tratamientos automáticos.. " + CRLF + ;
"Puedes configurar la impresión: Previsualizar y aplicar factores y margenes. "
//"NO IMPRIMAS desde la opción <print> del menú contextual: VA a salir MAL. "
if ( Upper(cValToChar( cPar ) ) == "AYUDA.WLP" )
cAyd := StrTran( cAyd, CRLF, ' ' )
cAyd := StrTran( cAyd, '. ', '.' + CRLF + CRLF )
MemoWrit( "AYUDA.WLP", cAyd )
lRecursiva := .t.
endif
cUs := iif( (lFile) .and. at( "_", cValToChar(cPar) ) > 0, ;
SubsTr( cValToChar(cPar), at( "_", cValToChar(cPar) )+1 ), cUs )
cVar := cUs
cUs := iif( (lFile) .and. at( "_", cValToChar(cUs) ) > 0, ;
SubsTr( cValToChar(cUs), 1, at( "_", cValToChar(cUs) )-1 ), cUs )
nUsuario := Val( cUs )
cVar := iif( (lFile) .and. at( "_", cValToChar(cVar) ) > 0, ;
SubsTr( cValToChar(cVar), at( "_", cValToChar(cVar) )+1 ), cVar )
mNombre := iif( (lFile) .and. at( "_", cValToChar(cVar) ) > 0, ;
SubsTr( cValToChar(cVar), 1, at( "_", cValToChar(cVar) )-1 ), cVar )
cVar := iif( (lFile) .and. at( "_", cValToChar(cVar) ) > 0, ;
SubsTr( cValToChar(cVar), at( "_", cValToChar(cVar) )+1 ), cVar )
FLbxFont := iif( (lFile) .and. at( "_", cValToChar(cVar) ) > 0, ;
SubsTr( cValToChar(cVar), 1, at( "_", cValToChar(cVar) )-1 ), cVar )
cVar := iif( (lFile) .and. at( "_", cValToChar(cVar) ) > 0, ;
SubsTr( cValToChar(cVar), at( "_", cValToChar(cVar) )+1 ), cVar )
FLbxColr := iif( (lFile) .and. at( "_", cValToChar(cVar) ) > 0, ;
SubsTr( cValToChar(cVar), 1, at( "_", cValToChar(cVar) )-1 ), cVar )
mNombre := Val( mNombre )
IF File( "PACIENTE.DBF" )
if mNombre > 0
DbUseArea( .t., , "Paciente", , .t. ) // modo compartido
if mNombre <= Paciente->( LastRec() )
Paciente->( DbGoto( mNombre ) )
mNombre := OemToAnsi( Paciente->Nombre )
endif
Paciente->( DbCloseArea() )
endif
else
// ""
ENDIF
//nUsuario := iif( (lFile) .and. at( "_", cValToChar(cPar) ) > 0, ;
// Val( Trim( SubsTr(
cValToChar(cPar), at( "_", cValToChar(cPar) )+1 ) ) ), nUsuario )
nUsuario := iif( nUsuario > 0, nUsuario, 1 ) // Evitar errores
cExt := PADL( AllTrim( str( nUsuario, 3 ) ), 3, "0" )
cFConf := "CONFIGUR." + cExt
cValW := Trim( MemoRead( cFConf ) ) + Space( 200 )
nVal := Val( SubsTr( cValW, 1, 1 ) )
if lFile
if at( "_", cPar ) > 0
cPar := SubsTr( cPar, 1, at( "_", cPar )-1 )
endif
endif
CFGAYUDA := "CFGAYUDA.001" // para enviar a Antonio Linares
bPrev := {|| ;
cMemo := MemoRead( CFGAYUDA ),;
nFilaIni := Val( AllTrim( memoLine( cMemo, , 1 ) ) ) ,;
lPrev := ( AllTrim( memoLine( cMemo, , 2 ) ) == "S" ),;
nMargen := Val( AllTrim( memoLine( cMemo, , 3 ) ) ),;
nFactor := Val( AllTrim( memoLine( cMemo, , 4 ) ) ),;
nFactor := Max( nFactor, 0.20 ),;
lPrevIni := ( AllTrim( memoLine( cMemo, , 5 ) ) == "S" ) .and. !( lVacio ),;
lPrevIni := iif( Upper(cValToChar( cPar ) ) == "AYUDA.WLP", .f., lPrevIni ), ;
lMembr := ( AllTrim( memoLine( cMemo, , 6 ) ) == "S" ) ,;
nVacio := Val( AllTrim( memoLine( cMemo, , 7 ) ) ),;
lCuart := ( AllTrim( memoLine( cMemo, , 8 ) ) == "S" ) ,;
nMargend := Val( AllTrim( memoLine( cMemo, , 9 ) ) ), ;
lSintax := ( AllTrim( memoLine( cMemo, , 10 ) ) == "S" ),;
lAcro := ( AllTrim( memoLine( cMemo, , 11 ) ) == "S" ),;
nSalto := Val( AllTrim( memoLine( cMemo, , 12 ) ) ),;
lJustif := ( AllTrim( memoLine( cMemo, , 13 ) ) == "S" ) }
Eval( bPrev )
nVacio := 2 // para enviar a Antonio Linares
bNoFormat := {| n | lSS := .f., ;
iif( MsgYesNo( "( Aconsejable Salvar antes .. ) - ¿SEGURO de ELIMINAR Formato?.", ;
"Eliminar el formateado de TODOS los FICHEROS." ), ( ;
aEval( aFiles, {| c, n | cTLee := MemoRead( aFiles[ n ] ),;
iif( at( cTextFormat, cTLee ) > 0, ( cTLee := GTFToTxt( cTLee ), ; //GTFToTxt
MemoWrit( aFiles[ n ], cTLee ), cTLee :=
"" ), Nil ) } ), ;
iif( MsgYesNo( "¿Cerrar la Aplicación?.",
"Seleccionar una opción" ), oWnd:End(), ;
( cText := MemoRead( aFiles[ n ] ), Eval(
bFnt ), cText := TxtToGTF( cText, , oFont, nColor ), ;
oGet:cText( cText ), oGet:Refresh( ),
MemoWrit( aFiles[ n ], cText ) ) ) ), Nil ) }
bNoFormat2 := {| n | ;
iif( MsgYesNo( "¿SEGURO de ELIMINAR Formato?.", ;
"Eliminar el formateado del FICHERO ACTUAL." ), ;
iif( at( cTextFormat, cText ) > 0, ;
( cTexT := GTFToTxt( cText ), MemoWrit( aFiles[ n ], iif( lFile, AnsiToOem( cText ), cText ) ), lChange := .f. ), ;
MsgInfo( "No está Formateado..", aFiles[ n ] ) ), Nil ) }
SetBalloon( .t. ) // Los tooltips de globo de 2007
aFiles := Array( 50 )
nItem := 1
nX := 0
lIt := .f.
cTit := "WOCUL3.EXE - ARBOL de Ayudas. " + FWVERSION
nPar := iif( !Empty( cPar ), Val( AllTrim( cPar ) ), nPar )
nPar := iif( nPar < 1, 1, nPar )
nI := iif( nPar < 17, 1, nI )
cPar := iif( cPar == Nil, "1", cPar )
bIt := {|| cFileDisc := aItems[ nPar ] }
bIt := {|| nItem := nPar, cFileDisc := aFiles[ nPar ] } // Mejor así ???? 25-08-2009
nItem := nPar
lChange := .f.
nVez := 1
cText := " " //Memoread( aFiles[ nItem ] )
cFile := " "
AFill( aItems, Space( 10 ) )
AFill( aFiles, Space( 10 ) )
// adaptar a llamada de no ayuda sino los SV.. /historias
if (lFile)
aFiles := {}
aadd( aFiles, cPar )
nItem := nPar := 1
cTit := "Wocul3.Exe - Textos con Formato: " + cPar
cText := Memoread( aFiles[ nItem ] )
endif
bReSize := {|| iif( lHelp, ;
( oGet:nTop := oSplit:nTop + 1, oGet:nLeft := oSplit:nLeft + 5 ), ;
( oGet:nTop := iif( lCinta, 140, 29 ), oGet:nLeft := 38 ) ), ;
oGet:SetSize( oWnd:nWidth() - ( 20 + iif( lHelp, oSplit:nLeft, 70 ) ),;
oWnd:nHeight() - iif( lHelp, iif( lCinta, 200, 110 ), iif( lCinta, 205, 110 ) ) ), SysRefresh() }
//120, 150
aCoors := { 2, 11, 45, 97 }
//aCoors := { 2, 11, 45, 132 }
cFCoors := 'Coords.Dat' // a partir de aqui se denominara cada ventana
if Empty( Memoread( cFCoors ) )
MemoWrit( 'Coords.Dat', Str( aCoors[ 1 ], 10, 2 ) + CRLF + ;
Str( aCoors[ 2 ], 10, 2 ) + CRLF + Str( aCoors[ 3 ], 10, 2 ) + CRLF + ;
Str( aCoors[ 4 ], 10, 2 ) )
endif
// Corrige coords con relacion a las de creacion
bReset := {|| ; //Actual() nAH := nAH/1280, nAV := nAV/800, ;
aCoors := { 2, 11, 45*nAV, 97*nAH }, ;
aCoors[1]*= 16, aCoors[2]*= 8,;
aCoors[3]*= 16, aCoors[4]*= 8, ;
oWnd:SetBounds( aCoors[2], aCoors[1], aCoors[4], aCoors[3] ), ;
oWnd:Refresh(), Eval( oWnd:bResized ), oWnd:ReFresh() }
// nLeft, nTop, nRight, nBottom
if lFile .and. Upper( Substr( cPar, 1, 4 ) ) == ".\SV" // Crata receta escrito
if !File( "TCoords.Dat" )
MemoWrit( "TCoords.Dat", "6.31" + CRLF + "37.25" + CRLF + "33.24" + CRLF + "107.04" )
endif
cFCoors := 'TCoords.Dat'
cMemoCoors := MemoRead( 'TCoords.Dat' )
else
cMemoCoors := MemoRead( 'Coords.Dat' ) // cFCoors por omisión
endif
aCoors[ 1 ] := Val( TRIM( Memoline( cMemoCoors,, 1 ) ) )
aCoors[ 2 ] := Val( TRIM( Memoline( cMemoCoors,, 2 ) ) )
aCoors[ 3 ] := Val( TRIM( Memoline( cMemoCoors,, 3 ) ) )
aCoors[ 4 ] := Val( TRIM( Memoline( cMemoCoors,, 4 ) ) )
// Correcciones..
aCoors[ 3 ] := iif( aCoors[ 3 ] < aCoors[ 1 ], aCoors[ 1 ] + 20, aCoors[ 3 ])
aCoors[ 4 ] := iif( aCoors[ 4 ] < aCoors[ 2 ], aCoors[ 2 ] + 20, aCoors[ 4 ])
lG32 := ( File( GetWinDir() + "\RunDll32.exe" ) .or. File( GetSysDir() + "\RunDll32.exe" ) ) .or. ;
( File( GetWinDir() + "\RunDlg32.exe" )
.or. File( GetSysDir() + "\RunDlg32.exe" ) )
bComo := {| cX | iif( lG32, ;
cFileDest := cGetFile32( cFileName( cFileDisc ) + ;
cX + ;
"Todos ( *.* ) | *.* ", ;
"Elija Destino y Nombre", 01, ".\", .t., .t., cFileDisc ), ;
cFileDisc := cGetFile( cFileName( cFileDisc ) + ;
cX + ;
"Todos ( *.* ) | *.* ", ;
"Elija Destino y Nombre", 01, ".\", .t., .t., cFileDisc ) ),;
MemoWrit( cFileDest, iif( at( "Formateado", cX ) > 0, cText, ;
iif( lFile, AnsiToOem( GTFToTxt( cText ) ), GTFToTxt( cText ) ) ) ), lChange := .f. }
lHelp := .f. // para Antonio Linares
lFile := .t. ; lFile2 := .t. // Para Antonio Linares
if lHelp .or. !( lCinta )
MENU oMenu 2007
MENUITEM "Archivo"
MENU
if lFile .or. lFile2 .or. lFile3 // Para Antonio Linares
MENUITEM "&Nuevo" ACTION ( ;
cFileDisc := "Nuevo.Txt", cText := "Nuevo.. ", ;
MemoWrit( cFileDisc, cText ), ;
cText := MemoRead( cFileDisc ), cText := iif( IsOem( cText ), OemToAnsi( cText ), cText ),;
iif( at( cTextFormat, cText ) = 0, (Eval( bFnt ), cText := TxtToGTF( cText, , oFont, nColor ),;
MemoWrit( cFileDisc, cText )), Nil ), aFiles[1] := cFileDisc, cTit := "Wocul3.Exe - " + cFileDisc,;
oGet:cText( cText ), oGet:Refresh(), oWnd:SetText( cTit ), oWnd:Refresh() )
MENUITEM "&Abrir" ACTION ( ;
iif( lG32, ;
cFileNw := cGetFile32( cFileName( cFileDisc ) + ;
"Todos ( *.* ) | *.* ", ;
"Elija Origen y Nombre", 01, ".\", .f., .t., cFileDisc ), ;
cFileNw := cGetFile( cFileName( cFileDisc ) + ;
"Todos ( *.* ) | *.* ", ;
"Elija Origen y Nombre", 01, ".\", .f., .t., cFileDisc ) ), ;
cFileDisc := iif( !Empty( cFileNw ), cFileNw, cFileDisc ), ;
cText := MemoRead( cFileDisc ), cText := iif( IsOem( cText ), OemToAnsi( cText ), cText ),;
iif( at( cTextFormat, cText ) = 0, (Eval( bFnt ), cText := TxtToGTF( cText, , oFont, nColor ),;
MemoWrit( cFileDisc, cText )), Nil ), aFiles[1] := cFileDisc, cTit := "Wocul3.Exe - " + cFileDisc,;
oGet:cText( cText ), oGet:Refresh(), oWnd:SetText( cTit ), oWnd:Refresh() )
SEPARATOR
endif
MENUITEM "&Guardar Formateado" ACTION Eval( wOk:bAction )
MENUITEM "Salvar en Formato TXT y Salir" ACTION ( cText := GTFToTxt( cText ), lAct := .t., lChange := .f., ;
cText := iif( lFile .and. !lFile2, AnsiToOem( cText ), cText ), MemoWrit( aFiles[ nItem ], cText ), oWnd:End() )
SEPARATOR
MENUITEM oComo PROMPT "Guardar c&omo ..( Formateado)" ACTION ;
Eval( bComo, "(GTF) Texto
Formateado ( *.Wlt ) | *.Wlt | " )
MENUITEM oTxt PROMPT "Guardar COMO en formato TXT" ACTION ( ;
Eval( bComo, "(TXT) Texto sin
Formato ( *.Txt ) | *.Txt | " ) )
SEPARATOR
MENUITEM "&Salir" ACTION oWnd:End()
ENDMENU
MENUITEM "&Editar" ACTION ;
ShowP( 0, 60, oGet )
/*
MENU
MENUITEM "&Deshacer" ACTION ( ;
iif( !(lAct), MsgInfo( "No hay cambios a deshacer", "Deshacer" ), oGet:UnDo() ), ;
lChange := .t. )
SEPARATOR
MENUITEM "Cor&tar" ACTION ( oGet:Cut(), lChange := .t., lAct := .t. )
MENUITEM "&Copiar" ACTION ( oGet:Copy(), lChange := .t., lAct := .t. )
MENUITEM "&Pegar" ACTION ( oGet:Paste(), lChange := .t., lAct := .t. )
MENUITEM "B&orrar" ACTION ( oGet:Del(), lChange := .t., lAct := .t. )
SEPARATOR
MENUITEM "Se&leccionar todo" ACTION oGet:SelectAll()
SEPARATOR
MENUITEM "&Buscar texto" ACTION Find()
MENUITEM "&Siguiente" ACTION FindNext()
ENDMENU
MENUITEM "Archivo"
MENU
MENUITEM "&Guardar" ACTION Eval( wOk:bAction )
MENUITEM "Salvar en Formato TXT y Salir" ACTION ( cText := GTFToTxt( cText ), lAct := .t., lChange := .f., ;
cText := iif( lFile .and. !lFile2, AnsiToOem( cText ), cText ), MemoWrit( aFiles[ nItem ], cText ), oWnd:End() )
SEPARATOR
MENUITEM oComo PROMPT "Guardar c&omo .." ACTION ;
Eval( bComo, "(GTF) Texto
Formateado ( *.Wlt ) | *.Wlt | " )
MENUITEM oTxt PROMPT "Guardar COMO en formato TXT" ACTION ( ;
Eval( bComo, "(TXT) Texto sin
Formato ( *.Txt ) | *.Txt | " ) )
SEPARATOR
MENUITEM "&Salir" ACTION oWnd:End()
ENDMENU
MENUITEM "Fuentes"
MENU
MENUITEM "&Color" ACTION ( oGet:GetColor(), lChange := .t., lAct := .t. )
MENUITEM "&Fuente" ACTION ( oGet:GetFontColor(), lChange := .t., lAct := .t. )
// SEPARATOR
// MENUITEM "Eliminar Formateado.."
// MENU
// MENUITEM "Todos los Ficheros" ACTION Eval( bNoFormat, nItem )
// MENUITEM "Fichero actual" ACTION Eval( bNoFormat2, nItem )
// MENUITEM "Pasar a Formato Txt y Salir" ACTION Eval( bNoFormat2, nItem )
// ENDMENU
ENDMENU
MENUITEM "Alinear"
MENU
MENUITEM "Alinear a la Izquierda" ACTION ( oGet:SetAlign( ES_LEFT ), lChange := .t., lAct := .t. ) //MemoWrit( aFiles[
nItem ], cText ))
MENUITEM "Alinear a la Derecha" ACTION ( oGet:SetAlign( ES_RIGHT ), lChange := .t.,lAct := .t. ) //,MemoWrit(
aFiles[ nItem ],cText ))
MENUITEM "Centrada" ACTION ( oGet:SetAlign( ES_CENTER ), lChange := .t., lAct := .t. ) //,MemoWrit( aFiles[
nItem ], cText ))
// MENUITEM "Justificar" ACTION ( oLine := oGet:oLine, oGet:GetDC(), ;
// oGet:LineAdjust( oGet:oLineInit, oGet:oLineEnd ) ) // MemoWrit( aFiles[ nItem ], cText ))
//? oGet:WidthLine( oLine ), Eval( oGet:nWidth )
ENDMENU
*/
MENUITEM "Textos"
MENU
MENUITEM "Ir a número de Línea" ACTION GoLine()
MENUITEM "Informe de la Línea actual" ACTION Information()
SEPARATOR
MENUITEM "&Buscar texto" ACTION Find()
MENUITEM "Texto siguiente" ACTION FindNext()
SEPARATOR
MENUITEM "Guar&dar Documento" ACTION ( MemoWrit( aFiles[ nItem ], cText ), lChange := .f. )
MENUITEM "&Imprimir Documento" ACTION Imprimir( oGet, aFiles[ nItem ] )
// SEPARATOR
ENDMENU
MENUITEM "&Salir" ACTION oWnd:End() //( MemoWrit( aFiles[ nItem ], cText ), oWnd:End() )
ENDMENU
endif
DEFINE FONT oFont SIZE 0, -10 OF oWnd
bFnt := {||;
aFon := { -14, 0, 0, 0, 700, .t., .f., .f., 0, 0, 0, 0, 0, 'Arial' },;
Eval( bParamFont ) }
bParamFont := {|| iif( !Empty( aFon ), ( ;
iif( !Empty( oFont ), oFont:End(), Nil ), ;
oFont := TFont():New( aFon[14],;
aFon[02], aFon[01], .f., ;
! ( aFon[05] == 400 ), aFon[03], ;
aFon[04], aFon[05], ;
aFon[06], aFon[07], ;
aFon[08], aFon[09], ;
aFon[10], aFon[11], ;
aFon[12] ) ), MsgStop( 'Font NO Creado !..' ) ) }
if lFile
FLbxColr := iif( !File( FLbxColr), 'FWMECOLR.' + cExt, FLbxColr )
FLbxFont := iif( !File( FLbxFont), 'FWMEFONT.' + cExt, FLbxFont )
bColrLoad:= {|| nColor := Val( AllTrim( Memoread( FLbxColr ) ) ) }
Eval( bColrLoad )
//FLbxFont := 'FWMEFONT.' + cExt
aTypes := { -14, 0, 0, 0, 700, .t., .f., .f., 0, 0, 0, 0, 0, 'Arial' }
bFntLoad := {|| cFon := Memoread( FLbxFont ), ;
Iif( MLCount( cFon ) > 0, ;
( aFon := Array( 14 ), ;
aEval( aFon, { | c, n | aFon[n] := AllTrim(Memoline( cFon,, n )), ;
aFon[n] := uCharToVal( AllTrim( aFon[n] ), aTypes[n] ) } ) ), ;
aFon := aTypes ),;
iif( !Empty( aFon ), Eval( bParamFont ), Nil ) }
bFnt := {|| Eval( bFntLoad ) }
Eval( bFnt )
// Se varia el tama¤o
//bMasMeno := {| n | aFon[01] := iif( aFon[01] < 0, -( Abs( aFon[01] ) + ( n ) ), ;
// aFon[01]
+ ( n ) ), aFon[02] := iif( ABS( aFon[02] + ( n/5 ) ) > 2, ;
// aFon[2],
aFon[02] + ( n/5 ) ) , aFon[04] := 0, ;
// Eval( bFntSave ), Eval( bFntLoad ),;
// oGet:SetFont( oFonBot ), ;
// SysRefresh() }
else
bFnt := {||;
aFon := { -14, 0, 0, 0, 700, .t., .f., .f., 0, 0, 0, 0, 0, 'Arial' },;
Eval( bParamFont ) }
endif
DEFINE ICON oIco FILE "WOCUL3.ico"
DEFINE WINDOW oWnd FROM aCoors[1], aCoors[2] TO aCoors[3], aCoors[4] ;
TITLE cTit ICON oIco MENU oMenu // COLOR CLR_GREEN, CLR_WHITE
//oWnd:nClrText := CLR_GREEN
//oWnd:nClrPane:= CLR_GREEN
If lFile
DEFINE BRUSH oBrush COLOR nRGB( 211, 241, 250 )
SET BRUSH OF oWnd TO oBrush
//else
// DEFINE BRUSH oBrush COLOR CLR_WHITE //nRGB( 255, 255, 255 )
endif
DEFINE CURSOR oHand HAND
// lCinta := .t.
IF lHelp .or. !( lCinta )
DEFINE BUTTONBAR oBar OF oWnd 3D 2007 CURSOR oHand
// oBar:bClrGrad = { | lInvert | If( ! lInvert,;
// { { 0.25, nRGB( 178, 187, 202 ), nRGB( 137, 155, 179 ) },;
// { 0.75, nRGB( 129, 149, 174 ), nRGB( 114, 132, 156 ) } },;
// { { 0.25, nRGB( 139, 166, 193 ), nRGB( 69, 119, 170 ) },;
// { 0.75, nRGB( 52, 104, 152 ), nRGB( 50, 107, 162 ) } } ) }
//oBar:nClrText = nRGB( 255, 255, 255 )
//DEFINE BUTTON FILE ".\BITMAPS\wdoc.bmp" OF oBar ACTION
DEFINE BUTTON PROMPT "Ayd" OF oBar ACTION ;
WAITRUN( "WOCAYUDA.EXE AYUDA.WLP", 1 ) ; //MsgInfo( cAyd, "Información" )
TOOLTIP { "Ayuda en esta ventana.", 'Ayuda',, } NOBORDER WHEN !( lRecursiva )
// DEFINE BUTTON FILE ".\BITMAPS\wPrint4.bmp" OF oBar ACTION
DEFINE BUTTON PROMPT "Prn" OF oBar ACTION ;
( Imprimir( oGet, cFileDisc ), cText := MemoRead( cFileDisc ), oGet:cText( cText ), oGet:Refresh() ) TOOLTIP { "El
documento completo", "Imprimir",, }
// DEFINE BUTTON FILE ".\BITMAPS\WCONFIG2.bmp" OF oBar ACTION Configurar()
DEFINE BUTTON PROMPT "Cfg" OF oBar ACTION Configurar() ;
TOOLTIP { "Diálogo de imprimir documento", "Configurar",, }
// DEFINE BUTTON FILE ".\BITMAPS\WRefresh.bmp" OF oBar ACTION Eval( bReset )
DEFINE BUTTON PROMPT "Rst" OF oBar ACTION Eval( bReset ) ;
TOOLTIP { "Coordenadas aproximadas aconsejables para imprimir", "Ventana",, }
if lHelp
DEFINE BUTTON OF oBar GROUP ;
FILE ".\BITMAPS\WEXPAND.BMP" ;
ACTION Eval( bExpand );
TOOLTIP { "Expandir TODO el arbol.", 'Expande',, } NOBORDER
DEFINE BUTTON OF oBar ;
FILE ".\BITMAPS\WCOLLAPS.BMP" ;
ACTION Eval( bCollaps ) ;
TOOLTIP { "Colapsar TODO el arbol.", 'Colapsa',, } NOBORDER
endif
// FILE ".\BITMAPS\CLR.BMP"
DEFINE BUTTON OF oBar GROUP ;
PROMPT "Clr" ;
ACTION ( oGet:GetColor(), lChange := .t., lAct := .t. ) ;
TOOLTIP { "Para el texto seleccionado.", 'Color',, } NOBORDER
// FILE ".\BITMAPS\WFONTS.BMP"
DEFINE BUTTON OF oBar ;
PROMPT "Fnt" ;
ACTION ( oGet:GetFontColor(), lChange := .t., lAct := .t. ) ;
TOOLTIP { "Para el texto seleccionado.", "Font y Color",, } NOBORDER
DEFINE BUTTON OF oBar ;
PROMPT "Und" ; // FILE ".\BITMAPS\UNDO2.BMP"
ACTION ( iif( !(lAct), MsgInfo( "No hay cambios a deshacer", "Deshacer" ), oGet:UnDo() ), ;
lChange := .t. ) ;
TOOLTIP { "Deshacer el último cambio", "Texto",, } NOBORDER //ADJUST
DEFINE BUTTON OF oBar ;
PROMPT "Izq" ; // FILE ".\BITMAPS\TextAlignleft16.Bmp" //IZQUIERD.BMP"
ACTION ( oGet:SetAlign( ES_LEFT ), lChange := .t., lAct := .t. ) ;
TOOLTIP { "A la Izquierda.", "Alinear",, } NOBORDER //ADJUST
DEFINE BUTTON OF oBar ;
PROMPT "Ctr" ; // FILE ".\BITMAPS\TextAligncenter16.Bmp" //CENTRAR.BMP"
ACTION ( oGet:SetAlign( ES_CENTER ), lChange := .t., lAct := .t. ) ;
TOOLTIP { "El texto seleccionado.", "Centrar",, } NOBORDER //ADJUST
DEFINE BUTTON OF oBar ;
PROMPT "Dch" ; // FILE ".\BITMAPS\TextAlignright16.Bmp" //DERECHA.BMP"
ACTION ( oGet:SetAlign( ES_RIGHT ), lChange := .t., lAct := .t. ) ;
TOOLTIP { "A la derecha.", "Alinear",, } NOBORDER //ADJUST
// DEFINE BUTTON OF oBar ;
// FILE ".\BITMAPS\TextAlignjustify16.Bmp" ; //DERECHA.BMP"
// ACTION ( cFileTemp := cFileNoExt( cFileDisc ) + ". Temp", Memowrit( cFileTemp, cText ), ;
// Justify( oGet ), lChange := .t., lAct := .t. ) ;
// TOOLTIP { "Justificado.", "Alinear",, } NOBORDER //ADJUST
// MENU oMLetras POPUP 2007
// MENUITEM "Poner en mayúsculas el texto seleccionado." ACTION ( Seleccion( 1 ), oGet:SetFocus() )
// MENUITEM "Poner en minúsculas el texto seleccionado." ACTION ( Seleccion( 2 ), oGet:SetFocus() )
// SEPARATOR
// MENUITEM ".. en minúsculas, sintáxis y acrónimos." ACTION ( Seleccion( 3 ), oGet:SetFocus() )
//MENUITEM ".. solo aplicar lista de acrónimos" ACTION ( Seleccion( 7 ), oGet:SetFocus() ) // Fatal
//MENUITEM "A mays. solo un formato." ACTION ( Seleccion( 4 ), oGet:SetFocus() )
//MENUITEM "A mins. solo un formato." ACTION ( Seleccion( 5 ), oGet:SetFocus() )
// MENUITEM "Reiniciar documento: Sin formatos." ACTION ;
// ( Eval( bComo, "(TXT) Texto sin Formato ( *.Txt ) | *.Txt | " ), cText := MemoRead( cFileDisc ), ;
// cText := TxtToGTF(), oGet:SetFocus() )
// MENUITEM "Salir" ACTION ( oGet:SetFocus() )
// ENDMENU
DEFINE BUTTON oLetras OF oBar ;
PROMPT "Mm" ; // FILE ".\BITMAPS\Mm.BMP"
ACTION ( oLetras:ShowPopup() ) ; //MsgInfo( "En gestión", "Aún no disponible" ), lChange := .t., lAct := .t. )
TOOLTIP { "Cambiar: Mayúsculas / minúsculas", "Texto seleccionado",, } NOBORDER ;
MENU oMLetras
DEFINE BUTTON OF oBar GROUP ;
PROMPT "Ir" ; //FILE ".\BITMAPS\THIS.BMP"
ACTION GoLine() ;
TOOLTIP { "Ir a una Línea.", "Número",, } NOBORDER //ADJUST
DEFINE BUTTON OF oBar ;
PROMPT "Fnd" ; // FILE ".\BITMAPS\WFIND.BMP"
ACTION Find() ;
TOOLTIP { "Buscar en el escrito.", "Texto EXACTO (Mm)",, } NOBORDER //ADJUST
DEFINE BUTTON OF oBar ;
PROMPT "Nex" ; // FILE ".\BITMAPS\WNEXT.BMP"
ACTION FindNext() ;
TOOLTIP { "Buscar el siguiente.", "Texto",, } NOBORDER //ADJUST
DEFINE BUTTON wOk OF oBar GROUP ;
PROMPT "Sav" ; // FILE ".\BITMAPS\WOK.BMP"
ACTION( MemoWrit( cFileDisc, cText ), ;
MsgWait( "Texto y Formato guardados .." , cFileDisc, 0.8 ), lChange := .f. ) ;
TOOLTIP { "Guardar modificaciones.", "Texto y Formato",, } NOBORDER //ADJUST
DEFINE BUTTON OF oBar ;
PROMPT "Cop" ; // FILE ".\BITMAPS\BCOPY3.BMP"
ACTION ( nOpc := Alert( cFileDisc + " - Guardar Como.. ", ;
{ '&Texto Formateado', 'Texto &Sin Formato', '&Cancelar' }, "Seleccione una Opción..", 3 ),; //
".\BITMAPS\BCOPY3.BMP" )
nOpc := iif( nOpc == 0, 3, nOpc ), iif( nOpc == 1, Eval( oComo:bAction ), ;
iif( nOpc == 2, Eval( oTxt:bAction ), MsgWait( "Saliendo sin acción..", "Guardar", 0.7 ) ) ) ) ;
TOOLTIP { "Guardar como ..", "Formato y Texto", , }
DEFINE BUTTON OF oBar ;
PROMPT "Txt" ; // FILE ".\BITMAPS\WEDIT3.BMP"
ACTION ( cText := GTFToTxt( cText ), cText := iif( ( lFile ) .and. !lFile2, AnsiToOem( cText ), cText ), ;
MemoWrit( aFiles[ nItem ], cText ), lChange := .f., oWnd:End() ) ;
TOOLTIP { IIF( lFile, "Salvar en Txt y cerrar..", "Suprimir FORMATO.." ), "Texto actual", , }
DEFINE BUTTON OF oBar GROUP ;
PROMPT "Inf" ; // FILE ".\BITMAPS\WSOURCE.BMP"
ACTION Information() ;
TOOLTIP { "Información de los datos.", "Línea actual",, } NOBORDER //ADJUST
DEFINE BUTTON OF oBar ;
PROMPT "Exit" ; // FILE ".\BITMAPS\WEXIT5.BMP"
ACTION oWnd:End() ; //( iif( lChange, MemoWrit( aFiles[ nItem ], cText ), Nil ), oWnd:End() )
TOOLTIP { "Terminar..", "Aplicación",, } NOBORDER //ADJUST
else
// MENU oMLetras POPUP 2007
// MENUITEM "Poner en mayúsculas el texto seleccionado." ACTION ( Seleccion( 1 ), oGet:SetFocus() )
// MENUITEM "Poner en minúsculas el texto seleccionado." ACTION ( Seleccion( 2 ), oGet:SetFocus() )
// SEPARATOR
// MENUITEM ".. en minúsculas, sintáxis y acrónimos." ACTION ( Seleccion( 3 ), oGet:SetFocus() )
//MENUITEM ".. solo aplicar lista de acrónimos" ACTION ( Seleccion( 7 ), oGet:SetFocus() ) // Fatal
//MENUITEM "A mays. solo un formato." ACTION ( Seleccion( 4 ), oGet:SetFocus() )
//MENUITEM "A mins. solo un formato." ACTION ( Seleccion( 5 ), oGet:SetFocus() )
// MENUITEM "Reiniciar el documento sin formatos." ACTION ( ; //Seleccion( 6, oFont, nColor ), oGet:SetFocus() )
// cText := GTFToTxt( cText ), MemoWrit( aFiles[ nItem ], cText ), ;
// iif( at( cTextFormat, cText ) = 0, (Eval( bFnt ), cText := TxtToGTF( cText, , oFont, nColor ),;
// MemoWrit( cFileDisc, cText )), Nil ), aFiles[1] := cFileDisc, cTit := "Wocul3.Exe - " + cFileDisc,;
// oGet:cText( cText ), oGet:Refresh(), oWnd:SetText( cTit ), oWnd:Refresh() )
// MENUITEM "Salir" ACTION ( oGet:SetFocus() )
// ENDMENU
DEFINE RIBBONBAR oRBar PROMPT "Edición", "Ficheros", "Informes", "Ayudas" ;
HEIGHT 133 TOPMARGIN 25 OF oWnd
oRBar:nLeftMargin = 75
oRBar:CalcPos()
// oTBtn0 = TRBtn():New( 4, 0, 70, 20, ".\bitmaps\rbnmenu.bmp", { || MsgInfo( "action" ) }, oRBar ,;
// ,,,,,, .T., .T.,,,,,, "POPUP", oMenu,,,,,,,,,,,,, aClrMenu1, nRGB( 125, 172, 215 ),;
// nRGB( 65, 106, 189 ) )
oTBtn0 = TRBtn():New( 4, 0, 70, 20, ".\bitmaps\WHelp.bmp", { || WAITRUN( "WOCAYUDA.EXE AYUDA.WLP", 1 ) }, oRBar
,;
,,,,,, .T., .T.,,,,,, "", oMenu,,,,,,,,,,,,, aClrMenu1, nRGB( 125, 172, 215 ),;
nRGB( 65, 106, 189 ) )
oTBtn0:aClrGradOver = { || aClrMenu2 }
oTBtn0:aClrGradBack = aClrMenu2
oTBtn0:bClrGradSubOver = { || aClrMenu2 }
oTBtn1 = TRBtn():New( 4, 410,,, ".\bitmaps\new2.bmp", {|| ;
cFileDisc := "Nuevo.Txt", cText := "Nuevo.. ", ;
MemoWrit( cFileDisc, cText ), ;
cText := MemoRead( cFileDisc ), cText := iif( IsOem( cText ), OemToAnsi( cText ), cText ),;
iif( at( cTextFormat, cText ) = 0, (Eval( bFnt ), cText := TxtToGTF( cText, , oFont, nColor ),;
MemoWrit( cFileDisc, cText )), Nil ), aFiles[1] := cFileDisc, cTit := "Wocul3.Exe - " + cFileDisc,;
oGet:cText( cText ), oGet:Refresh(), oWnd:SetText( cTit ), oWnd:Refresh() }, oRBar )
oTBtn2 = TRBtn():New( 4, 435,,, ".\bitmaps\open2.bmp", {|| ;
iif( lG32, ;
cFileNw := cGetFile32( cFileName( cFileDisc ) + ;
"Todos ( *.* ) | *.* ", ;
"Elija Origen y Nombre", 01, ".\", .f., .t., cFileDisc ), ;
cFileNw := cGetFile( cFileName( cFileDisc ) + ;
"Todos ( *.* ) | *.* ", ;
"Elija Origen y Nombre", 01, ".\", .f., .t., cFileDisc ) ), ;
cFileDisc := iif( !Empty( cFileNw ), cFileNw, cFileDisc ), ;
cText := MemoRead( cFileDisc ), cText := iif( IsOem( cText ), OemToAnsi( cText ), cText ),;
iif( at( cTextFormat, cText ) = 0, (Eval( bFnt ), cText := TxtToGTF( cText, , oFont, nColor ),;
MemoWrit( cFileDisc, cText )), Nil ), aFiles[1] := cFileDisc, cTit := "Wocul3.Exe - " + cFileDisc,;
oGet:cText( cText ), oGet:Refresh(), oWnd:SetText( cTit ), oWnd:Refresh() }, oRBar )
oTBtn3 = TRBtn():New( 4, 485,,, ".\bitmaps\exit2.bmp", {|| oWnd:End() }, oRBar )
//460
oTBtn4 = TRBtn():New( 4, 60,,, ".\bitmaps\save16.bmp", {|| MemoWrit( cFileDisc, cText ), ;
MsgWait( "Texto y Formato guardados .." , cFileDisc, 0.8 ), lChange := .f. }, oRBar )
oTBtn5 = TRBtn():New( 4, 460,,, ".\bitmaps\printquick16.bmp", {|| Imprimir( oGet, cFileDisc ), ;
cText := MemoRead(
cFileDisc ), oGet:cText( cText ), oGet:Refresh() }, oRBar )
ADD GROUP oGr RIBBON oRBar TO OPTION 1 PROMPT "Portapapeles" width 130 //BITMAP
"c:\fwh\bitmap\fivetech.BMP"
ADD GROUP oGr1 RIBBON oRBar TO OPTION 1 PROMPT "Formatear Texto" WIDTH 205 ACTION MsgInfo( "SÍ" )
ADD GROUP oGr2 RIBBON oRBar TO OPTION 1 PROMPT "Alineación" WIDTH 215
ADD GROUP oGr3 RIBBON oRBar TO OPTION 1 PROMPT "Stilos" WIDTH 75 BITMAP ".\bitmaps\style16.BMP"
ADD GROUP oGr4 RIBBON oRBar TO OPTION 1 PROMPT "Editing"
@ 2,5 ADD BUTTON oBtn1 PROMPT "Pegar" BITMAP ".\bitmaps\PASTE32.BMP" GROUP oGr ACTION ( RIBBON() ) ;
SPLITPOPUP ROUND SIZE 50,65
@ 2, 55 ADD BUTTON oBtn2 GROUP oGr BITMAP ".\bitmaps\cut16.BMP" ;
SIZE 60, 20 PROMPT "Cortar" MOSTLEFT round ;
action ( oGet:Cut(), lChange := .t., lAct := .t. )
@ 24, 55 ADD BUTTON oBtn3 GROUP oGr BITMAP ".\bitmaps\copy16.BMP" ;
SIZE 65, 20 PROMPT "Copiar" MOSTLEFT round ;
action( ( oGet:Copy(), lChange := .t., lAct := .t. ) )
@ 46, 55 ADD BUTTON oBtn4 GROUP oGr BITMAP ".\bitmaps\paste16.BMP" ;
SIZE 70, 20 PROMPT "Pegar" MOSTLEFT round ;
action( ( oGet:Paste(), lChange := .t., lAct := .t. ) )
@ 68, 30 ADD BUTTON oSay1 GROUP oGr SIZE 65, 15 PROMPT "Un texto" SAYBUTTON
@ 10, 05 ADD BUTTON oBtn5 GROUP oGr1 BITMAP ".\bitmaps\bold16.bmp" GROUPBUTTON FIRST SIZE 25, 20 ROUND ;
ACTION ( oBtn5:lSelected := !oBtn5:lSelected, Fuentes( 1 ) )
@ 10, 30 ADD BUTTON oBtn6 GROUP oGr1 BITMAP ".\bitmaps\italic16.bmp" GROUPBUTTON SIZE 25, 20 ROUND ;
ACTION ( oBtn6:lSelected := !oBtn6:lSelected, Fuentes( 2 ) )
@ 10, 55 ADD BUTTON oBtn7 GROUP oGr1 BITMAP ".\bitmaps\underline16.bmp" GROUPBUTTON SIZE 35, 20 ROUND ;
ACTION ( oBtn7:lSelected := !oBtn7:lSelected, Fuentes( 3 ) )
@ 10, 90 ADD BUTTON oBtn8 GROUP oGr1 BITMAP ".\bitmaps\strikethru16.bmp" GROUPBUTTON SIZE 25, 20 ROUND;
ACTION( oBtn8:lSelected := !oBtn8:lSelected, Fuentes( 4 ) )
//@ 10, 115 ADD BUTTON oBtn9 GROUP oGr1 BITMAP ".\bitmaps\subindex16.bmp" GROUPBUTTON SIZE 25, 20 ROUND;
// ACTION( oBtn9:lSelected := !oBtn9:lSelected, oBtn10:lSelected := .f., oBtn10:Refresh() )
// @ 10, 140 ADD BUTTON oBtn10 GROUP oGr1 BITMAP ".\bitmaps\superindex16.bmp" GROUPBUTTON SIZE 25, 20
ROUND ;
// ACTION( oBtn10:lSelected := !oBtn10:lSelected, oBtn9:lSelected := .f., oBtn9:Refresh() )
@ 10, 140 ADD BUTTON oBtn10 GROUP oGr1 BITMAP ".\bitmaps\eraseformat16.bmp" GROUPBUTTON FIRST SIZE 25,
20 ROUND ;
ACTION( ; // oBtn10:lSelected := !oBtn10:lSelected, oBtn9:lSelected := .f., oBtn9:Refresh() )
cText := GTFToTxt( cText ), MemoWrit( aFiles[ nItem ], cText ), ;
iif( at( cTextFormat, cText ) = 0, (Eval( bFnt ), cText := TxtToGTF( cText, , oFont, nColor ),;
MemoWrit( cFileDisc, cText )), Nil ), aFiles[1] := cFileDisc, cTit := "Wocul3.Exe - " + cFileDisc,;
oGet:cText( cText ), oGet:Refresh(), oWnd:SetText( cTit ), oWnd:Refresh() )
@ 10, 165 ADD BUTTON oBtn11 GROUP oGr1 BITMAP ".\bitmaps\casing16.bmp" GROUPBUTTON END SIZE 35, 20 ROUND
;
POPUP MENU oMLetras
// @ 40, 05 ADD BUTTON oBtn11 GROUP oGr1 BITMAP ".\bitmaps\hilight16.bmp" GROUPBUTTON FIRST SIZE 35, 20;
// ROUND
@ 40, 05 ADD BUTTON oBtn11 GROUP oGr1 BITMAP ".\bitmaps\Styleset16.bmp" GROUPBUTTON FIRST SIZE 35, 20;
ROUND ACTION ( oGet:GetFontColor(), lChange := .t., lAct := .t. )
@ 40, 40 ADD BUTTON oBtn12 GROUP oGr1 BITMAP ".\bitmaps\fontcolor16.bmp" GROUPBUTTON END SIZE 35, 20 ;
ROUND ACTION( oGet:GetColor(), lChange := .t., lAct := .t. )
@ 40, 100 ADD BUTTON oBtn13 GROUP oGr1 BITMAP ".\bitmaps\fontsizeincrease16.bmp" GROUPBUTTON ;
FIRST SIZE 25, 20 ROUND ACTION Fuentes( 5 )
@ 40, 125 ADD BUTTON oBtn14 GROUP oGr1 BITMAP ".\bitmaps\fontsizedecrease16.bmp" GROUPBUTTON ;
END SIZE 25, 20 ROUND ACTION Fuentes( 6 )
@ 40, 175 ADD BUTTON oBtn16 GROUP oGr1 BITMAP ".\bitmaps\style16.bmp" SIZE 25, 20 ROUND BORDER ;
POPUP MENU oMLetras
@ 64, 70 ADD BUTTON oChk1 GROUP oGr1 BITMAP ".\bitmaps\checkon.bmp" MOSTLEFT SIZE 85, 18 PROMPT
"Checkbox" ;
ACTION ( lVal1 := ! lVal1, oChk1:SetFile( If( lVal1, ".\bitmaps\checkon.bmp", "..\bitmaps\checkoff.bmp" ) ) )
@ 10, 05 ADD BUTTON oBtn17 GROUP oGr2 BITMAP ".\bitmaps\unorderedlist16.bmp" GROUPBUTTON FIRST SIZE 35, 20
ROUND POPUP
@ 10, 40 ADD BUTTON oBtn18 GROUP oGr2 BITMAP ".\bitmaps\orderedlist16.bmp" GROUPBUTTON SIZE 35, 20 ROUND
POPUP
@ 10, 75 ADD BUTTON oBtn19 GROUP oGr2 BITMAP ".\bitmaps\multilevellist16.bmp" GROUPBUTTON END SIZE 35, 20
ROUND POPUP
@ 10, 110 ADD BUTTON oBtn20 GROUP oGr2 BITMAP ".\bitmaps\textalignleft16.bmp" GROUPBUTTON FIRST SIZE 25, 20
ROUND ;
ACTION( oGet:SetAlign( ES_LEFT ), lChange := lAct := .t., ChangeSelect( { oBtn20, oBtn21, oBtn22, oBtn23 } ) )
@ 10, 135 ADD BUTTON oBtn21 GROUP oGr2 BITMAP ".\bitmaps\textaligncenter16.bmp" GROUPBUTTON SIZE 25, 20
ROUND ;
ACTION( oGet:SetAlign( ES_CENTER ), lChange := lAct := .t., ChangeSelect( { oBtn21, oBtn20, oBtn22, oBtn23 } ) )
@ 10, 160 ADD BUTTON oBtn22 GROUP oGr2 BITMAP ".\bitmaps\textalignright16.bmp" GROUPBUTTON SIZE 25, 20
ROUND;
ACTION( oGet:SetAlign( ES_RIGHT ), lChange := lAct := .t., ChangeSelect( { oBtn22, oBtn21, oBtn20, oBtn23 } ) )
@ 10, 185 ADD BUTTON oBtn23 GROUP oGr2 BITMAP ".\bitmaps\textalignjustify16.bmp" GROUPBUTTON END SIZE 25,
20 ROUND;
ACTION( ; //Justify( oGet, oLine, oPrn, nMargen, nMargend, aJustif[ oGet:nLineRow ], oFontW )
ChangeSelect( { oBtn23, oBtn21, oBtn22, oBtn20 } ) )
@ 40, 05 ADD BUTTON oBtn24 GROUP oGr2 BITMAP ".\bitmaps\fill16.bmp" GROUPBUTTON FIRST SIZE 35, 20 ROUND
POPUP
@ 40, 40 ADD BUTTON oBtn25 GROUP oGr2 BITMAP ".\bitmaps\borderbottom16.bmp" GROUPBUTTON END SIZE 35, 20
ROUND
@ 40, 80 ADD BUTTON oBtn26 GROUP oGr2 BITMAP ".\bitmaps\indentdecrease16.bmp" GROUPBUTTON FIRST SIZE 25,
20 ROUND
@ 40, 105 ADD BUTTON oBtn27 GROUP oGr2 BITMAP ".\bitmaps\indentincrease16.bmp" GROUPBUTTON END SIZE 25,
20 ROUND
@ 40, 135 ADD BUTTON oBtn28 GROUP oGr2 BITMAP ".\bitmaps\sort16.bmp" SIZE 25, 20 ROUND BORDER
@ 40, 160 ADD BUTTON oBtn29 GROUP oGr2 BITMAP ".\bitmaps\paragraphspacing16.bmp" SIZE 25, 20 ROUND BORDER
@ 40, 185 ADD BUTTON oBtn30 GROUP oGr2 BITMAP ".\bitmaps\invisiblechars16.bmp" SIZE 25, 20 ROUND BORDER
@ 3,5 ADD BUTTON oBtn31 PROMPT "Cambiar"+CRLF+"Estilos" BITMAP ".\bitmaps\stylechange32.BMP" GROUP oGr3
menu oMenu ;
SPLITPOPUP ROUND SIZE 65,75 TOP
@ 2,5 ADD BUTTON oBtn32 PROMPT "Buscar" BITMAP ".\bitmaps\find32.BMP" GROUP oGr4 ;
SPLITPOPUP ROUND SIZE 50,65
@ 2, 55 ADD BUTTON oBtn33 GROUP oGr4 BITMAP ".\bitmaps\replace16.BMP" ;
SIZE 80, 20 PROMPT "Reemplazar" MOSTLEFT round ;
action( msginfo( "Reemplazar" ) )
@ 24, 55 ADD BUTTON oBtn34 GROUP oGr4 BITMAP ".\bitmaps\goto16.BMP" ;
SIZE 65, 20 PROMPT "Ir a" MOSTLEFT round ;
action( msginfo( "Ir a" ) )
@ 46, 55 ADD BUTTON oBtn35 GROUP oGr4 BITMAP ".\bitmaps\select16.BMP" ;
SIZE 70, 20 PROMPT "Seleccionar" MOSTLEFT round POPUP
// SET MESSAGE OF oWnd TO "Testing FWH own Class RibbonBar" ;
// CENTERED CLOCK KEYBOARD 2007
// ACTIVATE WINDOW oWnd
// oRBar:End()
endif
// FIN DE LA PRIMERA PARTE