Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/10/2009, 11:10
bartolome
 
Fecha de Ingreso: julio-2003
Mensajes: 2
Antigüedad: 20 años, 9 meses
Puntos: 0
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;