FUNCTION xEditar(IDEN)
LOCAL oDlgED, oSay, oBrw, oBut[3], oFnt, oFont2, oFont3, cDbf:=SPACE(0)
USE &RUTRES.&NOMARC
cDBF=NOMARC
INDEX ON DIA TO &RUTRES.INDICE
IF .NOT. FILE("\"+CURDIR()+"\RESULTADOS\"+cDbf)
MsgAlert("No existe el archivo "+cDBF,"Alerta")
DBCloseAll()
RETURN NIL
ENDIF
* Define dialogo
DEFINE FONT oFnt NAME GetSysFont() SIZE 0, -8
DEFINE FONT oFont2 NAME GetSysFont() SIZE 0, -8 BOLD
DEFINE FONT oFont3 NAME GetSysFont() SIZE 0, -8 NESCAPEMENT 900
DEFINE DIALOG oDlgED RESOURCE "XEDITAR2" OF oVent TITLE "Archivo: "+NOMARC FONT oFnt
REDEFINE COLUMN XBROWSE oBrw ID 1601 OF oDlgED UPDATE AUTOCOLS AUTOSORT ;
ON CHANGE ( oSay:SetText("Registro: "+STR(RECNO(),4)+"/"+STR(RECCOUNT(),4)) )
ADD COLUMN TO oBrw AT 1 DATA STR(FECHA,2) HEADER "Fecha" WIDTH 36 ALIGN RIGHT
ADD COLUMN TO oBrw AT 2 DATA CFecha(DIA) HEADER "Día" WIDTH 75 ALIGN LEFT COLOR RGB(255,0,0),RGB(192,192,192)
ADD COLUMN TO oBrw AT 3 DATA IF(Empty(HORA), " : ", AMPM(ConvHora(HORA))) HEADER "Hora" WIDTH 65 ALIGN RIGHT
ADD COLUMN TO oBrw AT 4 DATA NOMBRECAMP HEADER "Nombre torneo" WIDTH 140 ALIGN LEFT COLOR RGB(255,0,0),RGB(192,192,192)
ADD COLUMN TO oBrw AT 5 DATA ETAPA HEADER "Etapa" WIDTH 80 ALIGN LEFT
ADD COLUMN TO oBrw AT 6 DATA IF(Empty(CIUDAD),"ND",CIUDAD) HEADER "Ciudad" WIDTH 100 ALIGN LEFT
ADD COLUMN TO oBrw AT 7 DATA IF(ESTADIO="","ND",ESTADIO) HEADER "Estadio" WIDTH 150 ALIGN LEFT
ADD COLUMN TO oBrw AT 8 DATA IF(JM,"Sí","No") HEADER "Jornada múltiple" WIDTH 48 ALIGN CENTER
ADD COLUMN TO oBrw AT 9 DATA IF(AG,"Sí","No") HEADER "Entrada gratis" WIDTH 48 ALIGN CENTER
ADD COLUMN TO oBrw AT 10 DATA IF(ASISTENCIA=0,"ND",TRANSFORM(Asistencia,"###,###")) HEADER "Asistencia" ;
WIDTH 60 ALIGN RIGHT
ADD COLUMN TO oBrw AT 11 DATA IF(Arbitro="","ND",Arbitro) HEADER "Árbitro" WIDTH 150 ALIGN LEFT
ADD COLUMN TO oBrw AT 12 DATA LOCAL HEADER "Local" WIDTH 105 ALIGN LEFT
ADD COLUMN TO oBrw AT 13 DATA STR(GL,2) HEADER "Goles local" WIDTH 40 ALIGN RIGHT
ADD COLUMN TO oBrw AT 14 DATA VISITA HEADER "Visitante" WIDTH 105 ALIGN LEFT
ADD COLUMN TO oBrw AT 15 DATA STR(GV,2) HEADER "Goles visita" WIDTH 40 ALIGN RIGHT
ADD COLUMN TO oBrw AT 16 DATA STR(EXP_L,2) HEADER "Expulsados local" WIDTH 60 ALIGN RIGHT
ADD COLUMN TO oBrw AT 17 DATA STR(EXP_V,2) HEADER "Expulsados visita" WIDTH 60 ALIGN RIGHT
ADD COLUMN TO oBrw AT 18 DATA STR(PEN_LE,2) HEADER "Penales ejecutados local" WIDTH 60 ALIGN RIGHT
ADD COLUMN TO oBrw AT 19 DATA STR(PEN_LC,2) HEADER "Penales convertidos local" WIDTH 60 ALIGN RIGHT
ADD COLUMN TO oBrw AT 20 DATA STR(PEN_VE,2) HEADER "Penales ejecutados visita" WIDTH 60 ALIGN RIGHT
ADD COLUMN TO oBrw AT 21 DATA STR(PEN_VC,2) HEADER "Penales convertidos visita" WIDTH 60 ALIGN RIGHT
ADD COLUMN TO oBrw AT 22 DATA IF(Empty(DT_LOCAL),"ND",DT_LOCAL) HEADER "Técnico local" WIDTH 140 ALIGN LEFT
ADD COLUMN TO oBrw AT 23 DATA IF(Empty(DT_VISITA),"ND",DT_VISITA) HEADER "Técnico visita" WIDTH 140 ALIGN LEFT
ADD COLUMN TO oBrw AT 24 DATA IF(! Empty(ALINEACION),"<Alineación>","<alineación>") HEADER "Alineación" WIDTH 90 ;
ALIGN LEFT MESSAGE "De click en el botón para ver la alineación"
WITH OBJECT oBrw:oCol(24)
:nEditType:=EDIT_BUTTON
:bEditBlock:={ | r,c,o | EditNotes(r,c,o,1) }
END
ADD COLUMN TO oBrw AT 25 DATA IF(! Empty(PENALERRAD),"<Penales errados>","<penales errados>") HEADER "Penales errados" ;
WIDTH 110 ALIGN LEFT MESSAGE "De click en el botón para ver datos de penales errados"
WITH OBJECT oBrw:oCol(25)
:nEditType:=EDIT_BUTTON
:bEditBlock:={ | r,c,o | EditNotes(r,c,o,2) }
END
ADD COLUMN TO oBrw AT 26 DATA IF (! Empty(OBSERVACIO),"<Rtf>","<rtf>") HEADER "Observaciones" WIDTH 80 ALIGN CENTER
WITH OBJECT oBrw:oCol(26)
:nEditType:=EDIT_BUTTON
:bEditBlock:={ | r,c,o | EditNotes(r,c,o,3) }
END
* Características de xBrowse
FOR i=1 TO Len(oBrw:aCols) // alinea el texto de la cabecera al centro
oBrw:aCols[i]:nHeadStrAlign:=AL_CENTER
NEXT
oBrw:l2007 := .T.
oBrw:nColDividerStyle := LINESTYLE_INSET
oBrw:nRowDividerStyle := LINESTYLE_INSET
oBrw:nHeaderLines := 2 // número de líneas de la cabecera
oBrw:nHeaderHeight := 48 // Altura cabeceras de columna
oBrw:nRowHeight := 24 // Altura entre lineas
oBrw:lRecordSelector := .F. // poner o no, columna de la flechita de la izquierda
oBrw:nMarqueeStyle := MARQSTYLE_HIGHLCELL // solo ilumina la celda actual
oBrw:bRClicked := { | nRow, nCol | BrowPopup2(nRow, nCol, oBrw, "Archivo: "+NOMARC) }
REDEFINE SAY oSay ID 1602 OF oDlgED READONLY UPDATE
REDEFINE BUTTONBMP oBut[1] ID 1603 OF oDlgED BITMAP "PRINT16" TEXTRIGHT ;
MESSAGE "Imprime reporte de datos mostrados por el Browse" ACTION oBrw:Report("Datos del archivo: "+cDBF, .T.)
oBut[1]:cToolTip="Imprime reporte de datos mostrados por el Browse"
REDEFINE BUTTONBMP oBut[2] ID 1 OF oDlgED BITMAP "CANCELAR" TEXTRIGHT MESSAGE "Cierra ventana" ACTION oDlgED:END()
oBut[2]:cToolTip="Cierra ventana"
REDEFINE BTNBMP oBut[3] ID 3 RESOURCE "Excel32" OF oDlgED CENTER ADJUST TRANSPARENT 2007 ;
ACTION MsgRun("Creando archivo", "Por favor, espere ...", { || CreaArchExcel("Archivo: "+NOMARC) } ) ;
MESSAGE "Crea archivo en formato Excel"
oBut[3]:cToolTip="Crea archivo en formato Excel"
oDlgED:bKeyDown:={ | nKey,nFlags | IF( nKey==VK_ESCAPE, oDlgED:End() ,) } // Sale de oDlgED al aplastar Escape
oDlgED:lHelpIcon:= .F. // Para q no salga el signo ?
ACTIVATE DIALOG oDlgED CENTER RESIZE16 ON INIT (Centra(oDlgED), oDlgED:SetIcon(oApp:cIcono))
oFnt:End()
oFont2:End()
oFont3:End()
DBCloseAll()
RETURN .T.
*FDF xEditar
// Función copiada de ../Samples agregada para editar los campos memo con xBrowse
FUNCTION EditNotes( nRow, nCol, oCol, nTipo )
LOCAL oDlg, oGet, oBtn, oFnt, oFnt1, aPoint, cNotes:=""
cNotes := IF(nTipo=1, FIELD->ALINEACION, IF(nTipo=2, FIELD->PENALERRAD, FIELD->OBSERVACIO) )
aPoint := ClientToScreen( oCol:oBrw:hWnd, { nRow, nCol } )
nRow := aPoint[1]
nCol := aPoint[2]
DEFINE FONT oFnt NAME "Courier New" SIZE 0, -9
DEFINE FONT oFnt1 NAME GetSysFont() SIZE 0, -8
IF nTipo=3
DEFINE DIALOG oDlg FROM nRow, nCol TO nRow+230, nCol+352 PIXEL STYLE WS_POPUP FONT oFnt1
@ 02,02 RICHEDIT oGet VAR cNotes OF oDlg SIZE 172,96 PIXEL FILE cNotes READONLY
oGet:nClrText:=CLR_HBLUE
@ 102,127 BUTTON "&Volver" SIZE 47,10 PIXEL OF oDlg ACTION oDlg:End()
*oBtn:cToolTip:="Cierra ventana auxiliar"
ACTIVATE DIALOG oDlg ON INIT (Centra(oDlg), oGet:LoadAsRTF(cNotes), oGet:SetText(cNotes), ;
oGet:SetFontName("Ms Sans Serif"), oGet:SetFontSize(10) )
ELSE
DEFINE DIALOG oDlg FROM nRow, nCol TO nRow+230, nCol+352 PIXEL STYLE WS_POPUP FONT oFnt1
@ 02,02 GET oGet VAR cNotes TEXT SIZE 172,96 PIXEL OF oDlg READONLY FONT oFnt COLOR CLR_HBLUE
oGet:cToolTip:="Alineaciones e incidencias de ambos equipos"
@ 102,127 BUTTON oBtn PROMPT "&Volver" SIZE 47,10 PIXEL OF oDlg ACTION oDlg:End()
oBtn:cToolTip:="Cierra ventana auxiliar"
ACTIVATE DIALOG oDlg
ENDIF
oFnt:End()
oFnt1:End()
RETURN