Ayuda con archivo no se en que lenguaje este escrito. Hola tengo un archivo .RGL lo puedo ver en notepad no se en que este escrito, tengo el mismo archivo .RGX pero ese no puedo verlo solo me abre basura lo cual me hace pensar que es el resultado del compilado del primero, la cosa es que quiero cambiar una linea del compilado o en su defecto del archivo a compilar pero no se como, les dejo el codigo para ver si alguien me puede ayudar.
Gracias
#include const.rgl
#include topiter.rgl
#include iterator.rgl
CONSTANT
WIDTH_PRIMA_COLONNA = 2300: NUMERIC;
WIDTH_COLONNA = 3000: NUMERIC;
END CONSTANT
OBJECT TRoot: TTopIterator;
FIELD
TestaBitmap: STRING;
HeightBitmap: NUMERIC;
WidthBitmap: NUMERIC;
Testo5: STRING;
Align5: NUMERIC;
Style5: NUMERIC;
END FIELD
Port IteratedPort
SUBTYPES: TFdli;
DEFAULT: TFdli;
TRAP FindNext (prev: INDEX, WhyIsBad: VAR FLAG): INDEX;
STORAGE
Id: INDEX;
END STORAGE
IF NOT FlagQuery (WhyIsBad, 4) THEN
FlagSet (WhyIsBad, 2);
Id = BAD_INDEX;
ELSE
Id = ThisPortNext (prev);
IF Id <> BAD_INDEX THEN
FlagSet (WhyIsBad, PM_BREAK);
ENDIF
IdPorta = Id;
IF Id == BAD_INDEX THEN
Done = 1;
END IF
END IF
RETURN BAD_INDEX;
END TRAP
END PORT
TRAP PrePrintNode (Size: POINT, Flg: VAR FLAG): RECT;
#include intestazione.rgl
// Data del report
PointSet(pCursor,PointX(Size) - 3000, nPosY);
CanvasSetCursor(pCursor);
CanvasWriteText (Data);
RETURN CanvasGetOccupation ();
END TRAP
TRAP PostPrintNode (Size: POINT, Flg: VAR FLAG): RECT;
STORAGE
pCursor: POINT;
END STORAGE
CanvasSetFont (0, "Arial", 300);
// Numero di pagina
PointSet(pCursor,18000,2000);
CanvasSetCursor(pCursor);
CanvasWriteText ("Pagina " + Str(PageNo));
RETURN CanvasGetOccupation ();
END TRAP
END OBJECT
//---------------------------------------------
// FDLI
//---------------------------------------------
OBJECT TFdli: TIterator;
FIELD
Informazioni: STRING;
NFoglio : STRING;
END FIELD
STORAGE
pCursor: POINT;
pPoint1: POINT;
pPoint2: POINT;
CurrListaNomiFdl: EXPORT NUMERIC;
FooterFinale : EXPORT NUMERIC;
END STORAGE
//
PORT IteratedNewPort
SUBTYPES: TIteratorColonna;
DEFAULT: TIteratorColonna;
TRAP StoreInitialState();
CurrListaNomiFdl = 0;
FooterFinale = 0;
END TRAP
TRAP FindFirst (WhyIsBad: VAR FLAG): INDEX;
RETURN ThisPortFirst();
END TRAP
TRAP FindNext (prev: INDEX, WhyIsBad: VAR FLAG): INDEX;
RETURN BAD_INDEX; // sempre done
END TRAP
TRAP CalcRect (Id: INDEX, Size: POINT): RECT;
STORAGE
r = [0,0,0,0]: RECT;
Ret = [0,0,0,0]: RECT;
END STORAGE
r = RegionMinRect (NORMALREGION);
IF RectIsBad (r) THEN
r = [0,0,0,0];
END IF
//RectSetX1 (Ret, 1000); Varia la Y
RectSetX1 (Ret, 0);
RectSetY1 (Ret, RectY2 (r));
RectSetBottomRight (Ret, RectBottomRight (RegionContainer (NORMALREGION)));
IF RectHeight (Ret) <= 0 OR RectWidth (Ret) <= 0 THEN
RectSetBad (Ret);
PORT IteratedPort
SUBTYPES: TIteratorS;
DEFAULT: TIteratorS;
END PORT
TRAP PrePrintNode (Size: POINT, Flg: VAR FLAG): RECT;
/
PointSet(pCursor,0,1000);
CanvasSetCursor(pCursor);
CanvasSetFont (0, "Arial", 300);
CanvasWriteText (NFoglio);
PointSetX (pPoint1,0);
PointSetY (pPoint1,1700);
PointSetX (pPoint2,18000);
PointSetY (pPoint2,1700);
CanvasLine (pPoint1,pPoint2);
RETURN CanvasGetOccupation ();
END TRAP
TRAP FindNext (prev: INDEX, WhyIsBad: VAR FLAG): INDEX;
RETURN BAD_INDEX;
END TRAP
//Assegno al footer lo spazio disponibile
TRAP CalcRect (Id: INDEX, Size: POINT): RECT;
STORAGE
r : RECT;
r1 = [0,0,0,0]: RECT;
END STORAGE
r = RegionMinRect(NORMALREGION);
RectSetY1(r1,RectHeight(r)+1500);
RectSetBottomRight(r1,RectBottomRight(RegionContai ner(NORMALREGION)));
RETURN r1;
END TRAP
END PORT
END OBJECT
OBJECT TIteratorS : TIterator;
STORAGE
CtrListaNomiPrivata: NUMERIC;
END STORAGE
IMPORT
FooterFinale : EXPORT NUMERIC;
CurrListaNomiFdl: EXPORT NUMERIC;
END IMPORT
PORT IteratedPort
SUBTYPES: TIteratorColonna;
DEFAULT: TIteratorColonna;
TRAP StoreInitialState();
IdPorta = BAD_INDEX;
Done = 0;
FirstDone = 0;
CurrListaNomiFdl = 0; // prima lista nomi
CtrListaNomiPrivata = 0;
END TRAP
TRAP StorePageState();
FirstIdPorta = IdPorta;
FirstDone = Done;
Last = BAD_INDEX;
CtrListaNomiPrivata = CurrListaNomiFdl;
END TRAP
TRAP FindFirst (WhyIsBad: VAR FLAG): INDEX;
FooterFinale = 0;
CurrListaNomiFdl = CtrListaNomiPrivata;
IF FirstDone THEN
RETURN BAD_INDEX;
END IF
IF FirstIdPorta == BAD_INDEX THEN
IdPorta = ThisPortFirst();
IF IdPorta == BAD_INDEX THEN
Done = PM_DONE;
END IF
ELSE
IdPorta = FirstIdPorta;
END IF
RETURN IdPorta;
END TRAP
TRAP FindNext (prev: INDEX, WhyIsBad: VAR FLAG): INDEX;
STORAGE
Id: INDEX;
END STORAGE
Id = ThisPortNext (prev);
IdPorta = Id;
// *
// *
IF (Last <> BAD_INDEX) AND (Id == Last) THEN
FlagSet (WhyIsBad,PM_BREAK);
Id = BAD_INDEX;
ELSE
// *
// *
IF Id == BAD_INDEX THEN
IF FlagQuery (WhyIsBad, PM_PREVDONE) THEN
// *
// *
FlagSet (WhyIsBad,PM_DONE);
Done = PM_DONE;
Id = BAD_INDEX;
FooterFinale = 1; // e' l'ultima pagina
ELSE
// *
FlagSet (WhyIsBad,PM_BREAK);
Id = BAD_INDEX;
IdPorta = ThisPortFirst ();
CurrListaNomiFdl = CurrListaNomiFdl + 1;
ENDIF
ENDIF
ENDIF
RETURN Id;
END TRAP
TRAP CalcRect (Id: INDEX, Size: POINT): RECT;
STORAGE
r = [0,0,0,0]: RECT;
Ret = [0,0,0,0]: RECT;
END STORAGE
r = RegionMinRect (NORMALREGION);
IF RectIsBad (r) THEN
r = [0,0,0,0];
END IF
RectSetX1 (Ret, -1000);
RectSetY1 (Ret, RectY2 (r));
RectSetBottomRight (Ret, RectBottomRight (RegionContainer (NORMALREGION)));
IF RectHeight (Ret) <= 4000 OR RectWidth (Ret) <= 0 THEN
RectSetBad (Ret);
Last = IdPorta;
END IF
RETURN Ret;
END TRAP
END PORT
END OBJECT
OBJECT TIteratorColonna: TIterator;
/* +*/
IMPORT
FooterFinale : NUMERIC;
CurrListaNomiFdl: NUMERIC;
END IMPORT
STORAGE
rRecord = [0,0,20000,400]: RECT;
TabRec : EXPORT NUMERIC;
MaxA = 0 : EXPORT NUMERIC;
NonCiSto = 0 :NUMERIC;
FineAssoluta = 0: NUMERIC;
FineAssolutaDispPrec: NUMERIC;
PrimaNext: INDEX;
NuovaPrimaNext: INDEX;
CurrListaNomi: NUMERIC;
NextDeveRicominciare: NUMERIC;
END STORAGE
PORT IteratedPort
SUBTYPES: TCampo;
DEFAULT: TCampo;
TRAP StoreInitialState ();
FineAssolutaDispPrec = 0;
CurrListaNomi = 0;
NuovaPrimaNext = ThisPortNext (ThisPortFirst ());
PrimaNext = NuovaPrimaNext; // per la prima volta
END TRAP
TRAP StorePageState ();
IF CurrListaNomi <> CurrListaNomiFdl THEN
// +
PrimaNext = NuovaPrimaNext;
CurrListaNomi = CurrListaNomiFdl;
ENDIF
FineAssoluta = FineAssolutaDispPrec;
END TRAP
Curr = ThisPortNext (prev);
ENDIF
IF NonCiSto AND Curr <> BAD_INDEX THEN
END PORT
TRAP PostPrintNode (Size: POINT, Flg: VAR FLAG): RECT;
STORAGE
ra : RECT;
END STORAGE
ra = rRecord;
RectSetX1(ra,0);
RectSetWidth(ra,18000);
RectSetHeight(ra, MaxA);
CanvasRectangle(ra);
RETURN CanvasGetOccupation ();
END TRAP
END OBJECT
OBJECT TCampo: TERMINAL;
STORAGE
r =[0,0,0,0]: RECT;
r1 : RECT;
P1 = [0,0]: POINT;
P2 = [0,0]: POINT;
nWidth : NUMERIC;
END STORAGE
FIELD
sCampo: STRING;
nColonna: NUMERIC;
ignHeight : NUMERIC;
END FIELD
IMPORT
TabRec: NUMERIC;
Last: INDEX;
IdPorta: INDEX;
MaxA : NUMERIC;
END IMPORT
TRAP PrePrintNode (Size: POINT, Flg: VAR FLAG): RECT;
RectSetWidth(r, nWidth);
RectSetHeight(r,PointY(Size));
CanvasSetFont (0, "Arial", 280);
IF ignHeight == 0 THEN
r1 = CanvasWriteTextFmt (r, sCampo, ALIGNLEFT);
ELSE
r1 = CanvasWriteTextFmt (r, sCampo, IGNOREHEIGHT+ALIGNLEFT);
END IF
IF MaxA < RectHeight(r1) THEN
MaxA=RectHeight(r1);
END IF
PointSetX(P1, nWidth-100);
PointSetX(P2, nWidth-100);
//PointSetY(P2, RectHeight(r1));
PointSetY(P2, MaxA);
CanvasLine(P1,P2);
TabRec = TabRec + nWidth;
OBJECT TFooter: TERMINAL;
FIELD
TotalePazienti : STRING;
TotalePrelievi : STRING;
TotaleEsami : STRING;
TotaleProvette : STRING;
TotaleEsiti : STRING;
END FIELD
IMPORT
FooterFinale : NUMERIC;
END IMPORT
TRAP PrePrintNode (Size: POINT, Flg: VAR FLAG): RECT;
STORAGE
rFooter : RECT;
END STORAGE
CanvasSetFont (0, "Arial", 300);
rFooter = [5000,300,5000,500];
IF NOT FooterFinale THEN
CanvasWriteTextFmt(rFooter,"Pacientes",ALIGNLEFT);
rFooter = [500,1000,3000,500];
CanvasWriteTextFmt(rFooter,TotalePazienti,ALIGNLEF T);
// Totale Prelievi
rFooter = [4500,500,3000,500];
CanvasWriteTextFmt(rFooter,"Admisiones",ALIGNLEFT) ;
rFooter = [4500,1000,3000,500];
CanvasWriteTextFmt(rFooter,TotalePrelievi,ALIGNLEF T);
END IF
RETURN CanvasGetOccupation ();
END TRAP
END OBJECT
TOP OBJECT: TRoot; |