Vous êtes sur la page 1sur 62

Manual de Pascal Script

Pascal Script
Contenido
PASCAL SCRIPT...............................................................................................................................................1
CONTENIDO.........................................................................................................................................................1
PROCEDIMIENTOS Y FUNCIONES............................................................................................................ 1
FUNCIONES DE VERIFICACIN..................................................................................................................................1
Writeln........................................................................................................................................................1
FUNCIONES DE CONFIRMACIN................................................................................................................................1
Readln.........................................................................................................................................................1
LeeLinea.....................................................................................................................................................1
Mensaje.......................................................................................................................................................1
Salvar..........................................................................................................................................................2
FUNCIONES ARITMTICAS.......................................................................................................................................2
Random.......................................................................................................................................................2
IAbs.............................................................................................................................................................2
FAbs............................................................................................................................................................2
StrGet..........................................................................................................................................................2
StrSet...........................................................................................................................................................3
Ord..............................................................................................................................................................3
Chr..............................................................................................................................................................3
Sin...............................................................................................................................................................3
Cos..............................................................................................................................................................3
Ln................................................................................................................................................................3
Exp..............................................................................................................................................................3
Sqr...............................................................................................................................................................4
Sqrt..............................................................................................................................................................4
Power..........................................................................................................................................................4
Round..........................................................................................................................................................4
Trunc...........................................................................................................................................................4
Frac.............................................................................................................................................................4
Int................................................................................................................................................................5
Pi.................................................................................................................................................................5
ValuarE.......................................................................................................................................................5
ValuarF.......................................................................................................................................................5
FUNCIONES Y OPERADORES BOOLEANOS...................................................................................................................5
And..............................................................................................................................................................5
Or................................................................................................................................................................6
Not...............................................................................................................................................................6
FUNCIONES DE TRANSFORMACIN............................................................................................................................6
NumeroLetra...............................................................................................................................................6
NumeroTexto...............................................................................................................................................7
FechaLetra..................................................................................................................................................7
StrToInt.......................................................................................................................................................7
IntToStr.......................................................................................................................................................7
StrToFloat...................................................................................................................................................7
FloatToStr...................................................................................................................................................8
FechaToStr.................................................................................................................................................8
StrToFecha.................................................................................................................................................9
DecodificaFecha.........................................................................................................................................9
FUNCIONES DE CADENA....................................................................................................................................... 10
UpperCase................................................................................................................................................10

Pgina

Manual de Pascal Script


Copy..........................................................................................................................................................10
Delete........................................................................................................................................................10
Insert.........................................................................................................................................................10
Pos............................................................................................................................................................10
Length.......................................................................................................................................................10
SetArray....................................................................................................................................................11
GetArrayLength........................................................................................................................................11
DarCaracter............................................................................................................................................. 12
FUNCIONES DE CONSULTA A BASES DE DATOS ..........................................................................................................12
AbreConsulta............................................................................................................................................12
Consulta....................................................................................................................................................12
FDT...........................................................................................................................................................13
CDT...........................................................................................................................................................13
Registros...................................................................................................................................................13
Primero.....................................................................................................................................................14
Anterior.....................................................................................................................................................14
Siguiente...................................................................................................................................................14
Ultimo.......................................................................................................................................................14
Encontrar..................................................................................................................................................14
Cierra........................................................................................................................................................15
Reabre.......................................................................................................................................................15
FUNCIONES DE TABLA DE BASES DE DATOS..............................................................................................................15
AbreTabla.................................................................................................................................................15
AsignaCampoImagen................................................................................................................................15
AsignaCampoMemo..................................................................................................................................15
ConsultaImagen........................................................................................................................................16
ConsultaMemo..........................................................................................................................................16
ConsultaTabla...........................................................................................................................................17
CargaIndice..............................................................................................................................................18
TablaEdit..................................................................................................................................................18
TablaAppend.............................................................................................................................................19
TablaPost..................................................................................................................................................19
TablaAsigna..............................................................................................................................................19
TablaValor................................................................................................................................................19
LimpiaTabla..............................................................................................................................................19
CierraTabla..............................................................................................................................................19
FUNCIONES DEL IMPRESOR....................................................................................................................................20
ComienzaImpresor....................................................................................................................................20
ComienzaDoc............................................................................................................................................20
TerminaDoc..............................................................................................................................................20
MuestraImpresor......................................................................................................................................20
Titulo.........................................................................................................................................................20
CONFIGURACIN DE LA IMPRESIN........................................................................................................................ 20
Refrescar...................................................................................................................................................21
AlturaPagina.............................................................................................................................................21
AnchoPagina.............................................................................................................................................21
Orientacion...............................................................................................................................................21
Unidades...................................................................................................................................................21
Tabulador................................................................................................................................................. 22
Separador................................................................................................................................................. 22
Mostrar.....................................................................................................................................................22
FUNCIONES DE IMPRESIN....................................................................................................................................22
NuevaLinea...............................................................................................................................................22
NuevaPagina.............................................................................................................................................22
LineaPrevia...............................................................................................................................................22
Imprime.....................................................................................................................................................23

Pgina

Manual de Pascal Script


Escribe......................................................................................................................................................23
EscribeLinea.............................................................................................................................................23
EscribeLineaAlineada...............................................................................................................................23
EscribeLineas...........................................................................................................................................24
InsertarImagen......................................................................................................................................... 24
ImagenAjustada........................................................................................................................................24
Parrafo......................................................................................................................................................24
Parrafos....................................................................................................................................................24
Linea.........................................................................................................................................................25
EXACTITUD DE IMPRESIN....................................................................................................................................25
PosicionaImagen......................................................................................................................................25
EscribePosicion........................................................................................................................................25
Alineacion.................................................................................................................................................26
Fuentes......................................................................................................................................................26
FColor.......................................................................................................................................................26
FSize.........................................................................................................................................................26
FEstilo.......................................................................................................................................................27
DefinePosicion..........................................................................................................................................27
Espaciado.................................................................................................................................................27
Margen......................................................................................................................................................28
AjusteDeLinea...........................................................................................................................................28
PosicionaLinea.........................................................................................................................................28
PosicionaColumna....................................................................................................................................28
PosicionRealV...........................................................................................................................................29
AlturaDefault............................................................................................................................................29
AnchoDefault............................................................................................................................................29
ENCABEZADOS Y PIS DE PGINA.......................................................................................................................... 29
Bordes.......................................................................................................................................................29
Titulos.......................................................................................................................................................30
SeparacionDeBorde..................................................................................................................................30
AlineacionDeImagen................................................................................................................................30
ImagenDeTitulos.......................................................................................................................................31
FUNCIONES DE TABLA DE IMPRESIN......................................................................................................................31
EscribeLineaTabla....................................................................................................................................31
AnchoColDefault......................................................................................................................................31
Formatos...................................................................................................................................................31
ModoCelda...............................................................................................................................................32
FormatosRapidos......................................................................................................................................32
Cuadricula................................................................................................................................................32
FondoTabla...............................................................................................................................................33
ColorTabla................................................................................................................................................33
PARMETROS DEL SISTEMA...................................................................................................................................33
Periodo.....................................................................................................................................................33
Empresa....................................................................................................................................................33
Direccion..................................................................................................................................................33
RFC...........................................................................................................................................................34
DarVar......................................................................................................................................................34
Ahora........................................................................................................................................................34
FUNCIONES DE PROCESO.......................................................................................................................................34
Arranca.....................................................................................................................................................34
Muestra.....................................................................................................................................................34
Avanza.......................................................................................................................................................35
Oculta.......................................................................................................................................................35
Termina.....................................................................................................................................................35
FUNCIONES DE COLECCIN................................................................................................................................... 35
cCuenta.....................................................................................................................................................35

Pgina

Manual de Pascal Script


cNombre....................................................................................................................................................35
cValor.......................................................................................................................................................36
cInserta.....................................................................................................................................................36
cIndiceDe..................................................................................................................................................36
cAnexa.......................................................................................................................................................36
cLimpia.....................................................................................................................................................36
cTextoComa..............................................................................................................................................37
cCargaArchivo..........................................................................................................................................37
cElemento.................................................................................................................................................37
MemoAColeccion......................................................................................................................................37
EscribeLineasAjustadas............................................................................................................................37
CombinaColeccion...................................................................................................................................37
FUNCIONES DE MATRIZ........................................................................................................................................38
Celda.........................................................................................................................................................39
DarCelda..................................................................................................................................................39
LimpiaColumna........................................................................................................................................40
LimpiaRenglon..........................................................................................................................................40
Col.............................................................................................................................................................40
Columna....................................................................................................................................................40
Columnas..................................................................................................................................................40
Ren............................................................................................................................................................40
Renglon.....................................................................................................................................................41
Renglones..................................................................................................................................................41
FUNCIONES DE EXPORTACIN................................................................................................................................41
ExportaExcel.............................................................................................................................................41
MatrizExcel...............................................................................................................................................41
IMPRESIN CON MODALIDAD DOS........................................................................................................................41
LineaDOS................................................................................................................................................. 42
LimpiaDOS...............................................................................................................................................42
EjecutaDOS..............................................................................................................................................42
enviaDOS..................................................................................................................................................42
Repite........................................................................................................................................................42
FUNCIONES DE IMAGEN........................................................................................................................................43
IniImagen..................................................................................................................................................43
LibImagen.................................................................................................................................................43
Ihor........................................................................................................................................................... 43
Iver............................................................................................................................................................43
CargaImg..................................................................................................................................................44
AjustaImg..................................................................................................................................................44
ImprimeImg...............................................................................................................................................44
FUNCIONES DE CDIGO DE BARRAS........................................................................................................................44
Bchequeo...................................................................................................................................................44
Bfondo.......................................................................................................................................................44
Bbarra.......................................................................................................................................................45
Bfuente......................................................................................................................................................45
Baltura......................................................................................................................................................45
BajHor......................................................................................................................................................45
BajVer.......................................................................................................................................................45
Bmodulo....................................................................................................................................................46
Bradio.......................................................................................................................................................46
Bmuestra...................................................................................................................................................46
Btexto........................................................................................................................................................46
Btipo..........................................................................................................................................................47
Bgenera.....................................................................................................................................................47
Bmargen....................................................................................................................................................47
FUNCIONES POLIGONALES.....................................................................................................................................48

Pgina

Manual de Pascal Script


Poligono....................................................................................................................................................48
PolGrueso.................................................................................................................................................48
PolColor...................................................................................................................................................48
polAngulo..................................................................................................................................................48
polEstilo....................................................................................................................................................48
FUNCIONES DE ARCHIVO DE PRRAFOS...................................................................................................................49
xPrepara...................................................................................................................................................49
xEscribe....................................................................................................................................................49
xTermina...................................................................................................................................................49
xLee...........................................................................................................................................................50
xReset........................................................................................................................................................50
FUNCIONES DE LECTURA DE TEXTO........................................................................................................................50
Lectura......................................................................................................................................................50
Restaurar..................................................................................................................................................50
FUNCIONES PARA ARCHIVOS POR BLOQUES..............................................................................................................50
Asigna.......................................................................................................................................................50
Resetea......................................................................................................................................................51
bLee...........................................................................................................................................................51
bGrande....................................................................................................................................................51
eLee...........................................................................................................................................................51
aClose.......................................................................................................................................................51
CADENA DE FORMATOS........................................................................................................................................52
Cadena de tabla:.......................................................................................................................................52
Formato Rpido........................................................................................................................................52
Cadena de aplicacin de formato.............................................................................................................53
NDICE..............................................................................................................................................................54
Nota: Para el manejo de este manual, le recordamos que debe tener conocimientos bsicos del
lenguaje Pascal.

Pgina

Manual de Pascal Script

Procedimientos y Funciones
Funciones de verificacin
Las siguientes funciones tienen la finalidad de desplegar textos en la forma de resultados con la
finalidad de verificar el funcionamiento del programa; no influyen en el reporte resultado del
programa.

Writeln
Sintaxis:
Procedure Writeln(Cadena:string);
Procedimiento para desplegar una cadena de caracteres en la ventana de resultados.

Funciones de confirmacin
Son funciones que permiten al programa interactuar con el usuario en tiempo de corrida.

Readln
Sintaxis:
Procedure Readln(var Resultado:string);
Procedimiento que despliega una ventana de dilogo en el que el usuario puede capturar una
cadena de texto y utilizarla en el sistema de reportes; el ttulo y la descripcin de lo que pretende
capturar son fijos.

LeeLinea
Sintaxis:
Procedure LeeLinea(var Resultado:string; Titulo,Peticion:string);
Misma funcin que Readln con la diferencia que se puede definir el ttulo de la ventana de dilogo y
tambin una descripcin de lo que se pretende capturar.

Mensaje
Sintaxis:
procedure Mensaje (Cadena:string);
Muestra un dilogo con el mensaje definido en los parmetros del procedimiento.

Pgina

Manual de Pascal Script

Salvar
Sintaxis:
procedure Salvar (var Cadena:string);
Muestra un dilogo para seleccionar un nombre de archivo, si el dilogo se cancela regresa cadena
vaca.

Funciones aritmticas
Funciones que entregan un resultado numrico producto de operaciones aritmticas.

Random
Sintaxis:
Function Random(Rango:Integer):Integer;
Funcin que entrega un nmero aleatorio dentro del rango 0<X<=Rango

IAbs
Sintaxis
Function IAbs(Valor:Integer):Integer
Funcin que regresa el valor absoluto del valor entero dado en el parmetro.

FAbs
Sintaxis
Function FAbs(Valor:Double):Double;
Funcin que regresa el valor absoluto del valor de punto flotante dado en el parmetro.

StrGet
Sintaxis: function StrGet(Cadena:string; Valor:Integer):Char;
Da como resultado el ensimo caracter indicado por el parmetro Valor del string Cadena.

Pgina

Manual de Pascal Script

StrSet
Sintaxis: procedure StrSet(Caracter:Char; Valor:Integer; var Cadena:string);
Modifica el ensimo caracter indicado por el parmetro Valor del string Cadena por el carcter
indicado en parmtero Carcter.

Ord
Sintaxis: function Ord(c:Char):cardinal;
Da el valor numrico que corresponde al carcter C en la tabla ASCII.

Chr
Sintaxis: function Chr(Valor:Byte):Char;
Entrega como resultado el caracter correspondiente al valor indicado en el parmetro.

Sin
Sintaxis: function Sin(Valor:extended):extended;
Funcin trigonomtrica que da como resultado el seno del valor indicado.

Cos
Sintaxis: function Cos(Valor:extended):extended;
Funcin trigonomtrica que da como resultado el coseno del valor indicado.

Ln
Sintaxis: function Ln(Valor:real):real;
La funcin Ln regresa el logaritmo natural (Ln(e) = 1) del parmetro Valor.

Exp
Sintaxis: function Exp(Valor:real):real;
La funcin Exp regresa como resultado el exponencial de X.

Pgina

Manual de Pascal Script


El valor que regresa es el nmero Euler e elevado a la X-sima potencia, donde e es la base de los
logaritmos naturales.

Sqr
Sintaxis: function Sqr(Valor:real):real;
La funcin Sqr regresa como resultado el cuadrado de X.

Sqrt
Sintaxis: function Exp(Valor:real):real;
La funcin Sqrt regresa como resultado la raz cuadrada de X.

Power
Sintaxis: function Exp(Base,Exponente:real):real;
La funcin Power regresa como la Base elevada a la potencia del Exponente.
Para valores del exponente fraccionarios o mayores que MaxInt, la base debe ser diferente de
cero.

Round
Sintaxis: Function Round(Valor:extended):Longint;
Regresa el valor del parmetro redondeado al entero ms prximo.

Trunc
Sintaxis: function Trunc(Valor:extended):Integer;
Trunca un valor de punto flotante a un valor entero.

Frac
Sintaxis: function Frac(Valor:extended):extended;
Regresa la parte fraccionaria de un valor sin realizar redondeos.

Pgina

Manual de Pascal Script

Int
Sintaxis: Function Int(Valor:extended):extended;
Regresa la parte entera de un valor dado

Pi
Sintaxis: function pi:extended;
Regresa el valor pi (3.1415.)

ValuarE
Sintaxis:
function ValuarE (Valor:string):Boolean;
Verifica que el nmero dado por el parmetro sea un entero vlido; si no lo es regresa como
resultado FALSE de lo contrario TRUE.

ValuarF
Sintaxis:
function ValuarF (Valor:string):Boolean;
Verifica que el nmero dado por el parmetro sea un nmero de punto flotante vlido; si no lo es
regresa como resultado FALSE de lo contrario TRUE.

Funciones y operadores Booleanos

And
Sintaxis: And
Operador que evalua las dos Expresiones bajo la siguiente tabla:
Evaluacin de las expresiones
(True) and (True)
(True) and (False)
(False) and (True)
(False) and (False)

Resultado
True
False
False
False

Pgina

Manual de Pascal Script

Or
Sintaxis: (Expresin) Or (Expresin)
Operador que evalua las dos Expresiones bajo la siguiente tabla:
Evaluacin de las expresiones
(True) or (True)
(True) or (False)
(False) or (True)
(False) or (False)

Resultado
True
True
True
False

Not
Sintaxis: function Not(Expresion):Boolean;
Funcion que regresa un valor Booleano segn el resultado de la expresin; i.e. Si la evaluacin de
la expresin es verdadera, regresa False de otra forma regresa True.
La expresin puede llevar operadores And y Or.

Funciones de transformacin
Funciones que transforman un valor de cierto tipo a otro tipo de valor segn el proceso que tienen
determinado.

NumeroLetra
Sintaxis: function NumeroLetra(Valor:string):string;
Esta funcin transforma una valor numrico dado en texto, por ejemplo:
Valor
12487.45

Texto
Doce mil cuatrocientos ochenta y siete pesos
45/100 M.N.

El valor no debera exceder 2,147483,647 de otra forma el sistema marca un error, unicamente se
considerarn valores positivos.
{Tamaos en el inventario}
Program Cheques;
var
Token,Lineas:string;
j:Integer;
Valor:Double;
Begin
ComienzaImpresor;
ComienzaDoc;
Token:=NumeroLetra('1''245,700.50'); {convierte digitos a forma textual}
PosicionaLinea(8.4,True);
PosicionaColumna(1.2,True);
Valor:=PosicionRealV;
{en que posicion va a escribir}
Lineas:=FloatToStr(Valor,'ffFixed',2);

Pgina

Manual de Pascal Script


Token:=Token+', '+Lineas;
Escribe(Token);
TerminaDoc;
MuestraImpresor;
End.

NumeroTexto
Sintaxis: function NumeroTexto(Valor:Double):string;
Esta funcin transforma un valor numrico en texto, por ejemplo:
Valor
12487.45

Texto
Doce mil cuatrocientos ochenta y siete 45/100

El valor no debera exceder 2,147483,647 de otra forma el sistema marca un error, unicamente se
considerarn valores positivos.

FechaLetra
Sintaxis: function FechaLetra(Valor:string):string;
Esta funcin transforma una fecha de la forma dd/mm/aaaa a texto, por ejemplo:
Valor
12/11/2004

Texto
doce das del mes de noviembre de dos mil
cuatro

StrToInt
Sintaxis: function StrToInt(Cad:string):Integer;
La funcin StrToInt convierte un string que represente un nmero entero en su correspondiente
valor numrico.

IntToStr
Sintaxis: function IntToStr(Valor:Integer):string;
La funcin IntToStr convierte un nmero entero en su representacin en string.

StrToFloat
Sintaxis: function StrToFloat(Cad:string):extended;

Pgina

Manual de Pascal Script


La funcin StrToFloat convierte un string que represente un nmero real de punto flotante en su
correspondiente valor numrico.

FloatToStr
Sintaxis: function FloatToStr(Valor:double; Formato:string; Decimales:Integer):string;
La funcin FloatToStr convierte un nmero real en su representacin en string con las siguientes
opciones de formato.
Formato
ffGeneral
ffExponent
ffFixed
ffNumber

Representacin
A su representacin ms corta posible
Formato cientfico -d.ddd...E+dddd
Punto fijo, nmero de decimales fijo dd.ddd
Igual que punto fijo pero con separador de miles
d,ddd.dd
ffCurrency Formato de dinero, segn parmetros regionales
del sistema operativo, Ej. $1,234.56

FechaToStr
Sintaxis: function FechaToStr(Formato:string; Fecha:Double):string;
Funcin que convierte una fecha dada en nmero real a cadena segn formato.
Especificador
C
D
Dd
Ddd
Dddd
Ddddd
Dddddd
M

Mm

Mmm

Despliega
Despliega la fecha usando el formato dado por la
forma corta global del sistema
Despliega el da como nmero sin cero a la
izquierda (1 31)
Despliega el da como nmero con cero a la
izquierda (01 31)
Despliega el nombre del da de la semana
abreviado (Dom Sab)
Despliega el nombre del da de la semana en
forma completa (Domingo Sbado)
Despliega la fecha corta segn configuracin del
sistema operativo
Despliega la fecha larga segn configuracin del
sistema operativo
Despliega el nombre del mes sin cero a la
izquierda (1 12) si la m es seguida de los
especificadores h o hh se desplegarn los
minutos en lugar del mes
Despliega el nombre del mes con cero a la
izquierda (01 12) si la mm es seguida de los
especificadores h o hh se desplegarn los
minutos en lugar del mes
Despliega el nombre del mes abreviado (Ene
Dic)

Pgina

Manual de Pascal Script


Mmmm

Despliega el nombre del mes completo (Enero


Diciembre)
Despliega el ao en dos dgitos (00 99)
Despliega el ao con cuatro dgitos (0000
9999)
Despliega la hora sin ceros a la izquierda (0
23)
Despliega la hora con ceros a la izquierda (00
23)
Despliega los minutos sin ceros a la izquierda (0
59)
Despliega los minutos con ceros a la izquierda
(00 59)
Despliega los segundos sin ceros a la izquierda
(0 59)
Despliega los segundos con ceros a la izquierda
(00 59)
Despliega el separador de fecha especificado en
el formato general del sistema operativo
Despliega el separador de tiempo especificado
en el formato general del sistema operativo
Los caracteres encerrados en comillas sencillas
o dobles sern desplegados tal cual y no afectan
el formato

Yy
Yyyy
H
Hh
N
Nn
S
Ss
/
:
xx/xx

Los especificadores pueden ser escritos en maysculas o minculas obetnindose el mismo


resultado.
Si la cadena del formato es vaca, los valores de la fecha y la hora sern desplegados como si se
hubiera especificado c.
La fecha se d segn parmetros regionales del sistema operativo.

StrToFecha
Sintaxis: function StrToFecha(Valor:string):Double;
La funcin StrToFecha convierte una cadena que contenga una fecha en formato corto
(dd/mm/aaa) en su representacin en nmero real; el formato de acuerdo a la configuracin
regional del sistema.

DecodificaFecha
Sintaxis: function DecodificaFecha(Modo:Integer; Fecha:string):string;
Funcin que decodifica la fecha dada en dia, mes y ao; entrega segun el parmetro modo.
Modo
0
Ao
1
Mes
2
Da

Entrega

Pgina

Manual de Pascal Script


La fecha se d segn parmetros regionales del sistema operativo.

Funciones de cadena
Funciones que nos permiten manipular cadenas de texto

UpperCase
Sintaxis: function UpperCase(Cad:string):string;
Regresa el contenido del string en maysculas.

Copy
Sintaxis: function Copy(Origen:string; Indice,Longitud:Integer):string;
Regresa la subcadena del string Origen que comienza en donde indica el Indice y de longitud dada
en el ltimo parmetro de la funcin.

Delete
Sintaxis: procedure Delete(var Cad:string; Indice,Longitud:Integer);
Borra la subcadena contenida en Cad que comienza en el Indice y de longitud dada en el ltimo
parmetro de la funcin.

Insert
Sintaxis: procedure Insert(Sub:string; var Destino:string1; Indice:Integer);
Inserta la cadena Sub en la cadena Destino en el punto indicado por el Indice.

Pos
Sintaxis: function Pos(Prueba,Cadena:string):Integer;
Busca en la Cadena la subcadena Prueba y regresa como resultado la posicin inicial; si no existe
la subcadena en la Cadena, el resultado es 0.

Length

Pgina 10

Manual de Pascal Script


Sintaxis: function Length(Cad:string):Integer;
Regresa la longitud del string Cad.

SetArray
Sintaxis: procedure SetArrayLength(Arreglo:array; Elementos:Integer);
Procedimiento para definir el nmero de elementos en un arreglo de variables de una dimensin.
Program Arreglo;
var
Arreglo:Array of Integer;
{Variable de arreglo de enteros}
Cadena:string;
Begin
{an sin definir Nmero de elementos}
writeln('Hola al impresor');
ComienzaImpresor;
ComienzaDoc;
NuevaLinea;
SetArrayLength(Arreglo,5);
{Arreglo de 5 elementos}
Arreglo[0]:=$00AABBCC;
{definiendo valor a cada elemento}
Arreglo[1]:=2;
Arreglo[2]:=3;
Arreglo[3]:=4;
Arreglo[4]:=5;
Cadena:= IntToStr(Arreglo[0])+'|';
Cadena:=Cadena+IntToStr(Arreglo[1])+'|';
Cadena:=Cadena+ IntToStr(Arreglo[2]);
EscribeLineaTabla(Cadena,False);
DefinePosicion(0,3.2);
{Posicin horizontal}
DefinePosicion(1,6.0);
{Posicion Vertical}
DefinePosicion(2,0.5);
{Longitud del texto a imprimir con EscribePosicion}
EscribePosicion('Hola al mundo');
TerminaDoc;
MuestraImpresor;
End.

GetArrayLength
Sintaxis: function GetArrayLength(Arreglo:array):Integer;
Funcin que regresa el nmero de elementos que conforman un arreglo.

Program Arreglo;
var
Arreglo:Array of real;
{Variable de arreglo de enteros}
Cadena,Formato:string;
j:Integer;
Begin
{an sin definir Nmero de elementos}
writeln('Hola al impresor');
ComienzaImpresor;
ComienzaDoc;
NuevaLinea;
SetArrayLength(Arreglo,3);
{Arreglo de 5 elementos}
Arreglo[0]:=6543210;
{definiendo valor a cada elemento}
Arreglo[1]:=pi;

Pgina 11

Manual de Pascal Script


Arreglo[2]:=1234.414236;
Cadena:='';
for j:=0 to GetArrayLength(Arreglo)-1 do
begin
{Valores de punto flotante con diferentes formatos}
if Length(Cadena)>0 then Cadena:=Cadena+'|';
if j=0 then Formato:='ffCurrency';
if j=1 then Formato:='ffGeneral';
if j=2 then Formato:='ffNumber';
Cadena:=Cadena+FloatToStr(Arreglo[j],Formato,2);
end;
TerminaDoc;
MuestraImpresor;
End.

DarCaracter
Sintaxis:
function DarCaracter (Cadena:string; Indice:Integer):string;
Entrega como resultado el carcter apuntado por el ndice en la cadena dada en los parmetros.

Funciones de consulta a bases de datos


Las consultas son generadas desde una lnea de programacin SQL y no tiene un lmite definido
de consultas utilizadas al mismo tiempo, son utilizadas para obtener la informacin de campos
simples como lo son los textos y valores numricos adems de la navegacin a travez de stas.

AbreConsulta
Sintaxis:
Function AbreConsulta(CadenaSQL,NuevoAlias:string):Integer;
Funcin que abre una tabla por medio de la interfase SQL; las tablas implicadas en la cosulta SQL
debern estar en la base de datos definida en el sistema.
Si nuevo alias es cadena vacia, entonces se considera la base de datos del sistema; si esta
cadena define otro alias, redirecciona hacia las tablas que esten definidas en el nuevo alias.
Entrega como resultado el nmero de consulta que le corresponde, dentro de la lista de consultas
que servir para las funciones de la navegacin de consultas.

Consulta
Sintaxis:
Function Consulta(Indice:Integer; Campo:string):string;
De acuerdo al ndice que se refiere a la tabla de consultas, y el campo, regresa como resultado el
valor del campo en forma de string.
{Clasificacin del inventario}
Program Clasificacion;

Pgina 12

Manual de Pascal Script


var
Token,Lineas:string;
Clase:Integer;
Begin
ComienzaImpresor;
{comandos que van antes de iniciar el documento}
FormatosRapidos(1,''); {encabezado}
Formatos(1,'^4.5|>2');
Titulos(1,'Reporte de '+Empresa+'|{$DATE}');
FormatosRapidos(2,'');
Formatos(2,'^4.5|>2');
{pi de pgina}
Titulos(2,Direccion+'|Pgina {$PAGE}');
Clase:=AbreConsulta('Select * from Clase','');
Margen('Inferior',1);
ComienzaDoc;
Formatos(0,'<2|<4.5');
Primero(Clase);
{inicio de la tabla}
while not(FDT(Clase)) do {recorre toda la tabla}
begin
Token:=Consulta(Clase,'Clave');
Lineas:=Token+'|';
Token:=Consulta(Clase,'Descripcion');
Lineas:=Lineas+Token;
EscribeLineaTabla(Lineas,False);
Siguiente(Clase);
end;
TerminaDoc;
MuestraImpresor;
End.

FDT
Sintaxis:
Function FDT(Indice:Integer):Boolean;
La funcin Fin De Tabla determina si la consulta definida por el ndice est en el fin de archivo y si
es as su valor es True.

CDT
Sintaxis:
Function CDT(Indice:Integer):Boolean;
La funcin Comienzo De Tabla determina si la consulta definida por el ndice est en el principio de
archivo y si es as su valor es True.

Registros
Sintaxis:
Function Registros(Indice:Integer):Integer;
Determina el nmero de registros que tiene la consulta definida por el ndice.

Pgina 13

Manual de Pascal Script

Primero
Sintaxis:
Procedure Primero(Indice:Integer);
Dirige el puntero de la consulta al primer registro.

Anterior
Sintaxis:
Procedure Anterior(Indice:Integer);
Dirige el puntero de la consulta al registro anterior.

Siguiente
Sintaxis:
Procedure Siguiente(Indice:Integer);
Dirige el puntero de la consulta al siguiente registro.

Ultimo
Sintaxis:
Procedure Ultimo(Indice:Integer);
Dirige el puntero de la consulta al ltimo registro.

Encontrar
Sintaxis
Function Encontrar(Indice:Integer; Campo,Valor:string):Boolean;
Funcin que permite localizar un registro determinado por el valor del campo seleccionado en los
parmetros.
El parmetro Campo puede ser un campo nicamente o, pueden ser varios, segn el nmero de
valores, separados por un punto y coma.
El parmetro Valor puede ser un solo valor o varios valores separados por una coma, si el valor
contiene dos o mas palabras separadas por un espacio, habr que encerrar el valor entre comillas.
{para un solo campo}
Cadena:=VALOR;
Encontrar(Indice,Campo,Cadena);
{para varios campos}
Cadena:=Valor1,Valor2,Valor3;
Encontrar(Indice,Campo1;Campo2;Campo3,Cadena);

Pgina 14

Manual de Pascal Script

Cierra
Sintaxis:
Procedure Cierra(indice:Integer);
Cierra la consulta identificada por el ndice.

Reabre
Sintaxis:
function Reabre(indice:Integer; Texto:string);
Reabre la consulta identificada por el ndice, con la seleccin de consulta dada en la variable
Texto, si algo falla y no abre la consulta, su resultado es False.

Funciones de tabla de bases de datos


Las tablas por el contrario tiene un lmite de dos tablas utilizadas a la vez y unicamente son para el
manejo de campos complejos como son las imgenes y los Memos por medio de un buffer de
imagen y otro de Memo; su navegacin se basa en la consulta correspondiente.

AbreTabla
Sintaxis:
Function AbreTabla(Tabla:string):Integer;
Funcin que habilita una tabla existente en la base de datos por medio del nombre completo de la
tabla asignado en el parmetro de la funcin; se debe recordar que unicamente se pueden tener
definidas dos tablas a la vez y que son utilizadas para el manejo de campos de imagen y Memo.
Entrega como resultado el nmero de tabla que le corresponde, si no existen tablas disponibles
regresa -1.

AsignaCampoImagen
Sintaxis:
Procedure AsignaCampoImagen (Indice:Integer; Campo:string);
De acuerdo al ndice que se refiere a una tabla, y el campo, asigna el campo al objeto DBImagen
para que al utilizar ConsultaImagenDBImagen sea el espejo de la tabla para tomar la imagen y
colocarla en el buffer de imagen.

AsignaCampoMemo
Sintaxis:

Pgina 15

Manual de Pascal Script


Procedure AsignaCampoMemo (Indice:Integer; Campo:string);
De acuerdo al ndice que se refiere a una tabla, y el campo, asigna el campo al objeto DBMemo
para que al utilizar ConsultaMemo, DBMemo sea el espejo de la tabla para tomar el texto
correspondiente y colocarlo en el buffer de Memo.

ConsultaImagen
Sintaxis:
Procedure ConsultaImagen(Indice:Integer);
De acuerdo al ndice que se refiere a la tabla previamente seleccionada con la funcin AbreTabla,
realiza una bsqueda con los ndices definidos con el procedimiento CargaIndice, si se encontr el
registro deseado, se posiciona en ste para permitir que la informacin contenida est disponible
para procesos futuros.
Adems hay que considerar que unicamente se permite la actividad en dos tablas a la vez, ya que
estas estn conectadas a un objeto DBImagen y un objeto DBMemo por medio de las funciones
AsignaCampoImagen y AsignaCampoMemo respectivamente; por lo que esta funcin toma la
imagen y la pasa al buffer de imagen para su posterior impresin con InsertaImagen.
Un ejemplo de cmo se deben manejar las funciones de tabla en donde las variables Grupos y
Tgrupos son enteras y la tabla de Grupos.DB unicamente tiene un ndice.
Grupos:= AbreConsulta('select * from Grupos');
TGrupos:=AbreTabla('Grupos.db');
AsignaCampoImagen(TGrupos,'Vista');
ComienzaDoc;
Primero(Grupos);
Fuentes(0,'Arial');
FSize(0,'9');
while not(fdt(Grupos)) do
begin
Campo:=Consulta(Grupos,'Grupo');
CargaIndice(Campo,'1');
ConsultaImagen(TGrupos);
InsertarImagen('',3);
Siguiente(Grupos);
end;
CierraTabla(Tgrupos);

De hecho las tablas unicamente se utilizan para el acceso a campos que no se puede accesar con
el SQL por lo que las funciones de navegacin y otro tipo de campos sern definidos por las
consultas.

ConsultaMemo
Sintaxis:
procedure ConsultaMemo (Indice:Integer);
De acuerdo al ndice que se refiere a la tabla previamente seleccionada con la funcin AbreTabla,
realiza una bsqueda con los ndices definidos con el procedimiento CargaIndice, si se encontr el
registro deseado, se posiciona en ste para permitir que la informacin contenida est disponible
para procesos futuros.

Pgina 16

Manual de Pascal Script


Adems hay que considerar que unicamente se permite la actividad en dos tablas a la vez, ya que
estas estn conectadas a un objeto DBImagen y un objeto DBMemo por medio de las funciones
AsignaCampoImagen y AsignaCampoMemo respectivamente; por lo que esta funcin toma el texto
Memo y lo pasa al buffer de memo para su posterior impresin con las funciones Parrafos y
EscribeLineas.
Un ejemplo de cmo se deben manejar las funciones de tabla en donde las variables Grupos y
Tgrupos son enteras y la tabla de Grupos.DB unicamente tiene un ndice.
Grupos:= AbreConsulta('select * from Grupos');
TGrupos:=AbreTabla('Grupos.db');
AsignaCampoMemo(TGrupos,'Comentarios');
ComienzaDoc;
Primero(Grupos);
Fuentes(0,'Arial');
FSize(0,'9');
while not(fdt(Grupos)) do
begin
Campo:=Consulta(Grupos,'Grupo');
CargaIndice(Campo,'1');
ConsultaMemo(TGrupos);
Parrafos(1);
EscribeLineas(False);
Siguiente(Grupos);
end;
CierraTabla(Tgrupos);

De hecho las tablas unicamente se utilizan para el acceso a campos que no se puede accesar con
el SQL por lo que las funciones de navegacin y otro tipo de campos sern definidos por las
consultas.

ConsultaTabla
Sintaxis:
function ConsultaTabla (Indice:Integer):Boolean;
De acuerdo al ndice que se refiere a la tabla previamente seleccionada con la funcin AbreTabla,
realiza una bsqueda con los ndices definidos con el procedimiento CargaIndice, si se encontr el
registro deseado, se posiciona en ste para permitir que la informacin contenida est disponible
para procesos futuros.
Adems hay que considerar que unicamente se permite la actividad en dos tablas a la vez, ya que
estas estn conectadas a un objeto DBImagen y un objeto DBMemo por medio de las funciones
AsignaCampoImagen y AsignaCampoMemo respectivamente.
Esta funcin adems de posicionarse en el registro correspondiente, indica si encontr dicho
registro o no; si lo encuentra da como resultado TRUE y si no FALSE.
Un ejemplo de cmo se deben manejar las funciones de tabla en donde las variables Grupos y
Tgrupos son enteras y la tabla de Grupos.DB unicamente tiene un ndice, pero se desea la
informacin contenida en alumnos que es una tabla esclava de Grupos y entonces se tienen dos
variables Alumnos y Talumnos y la tabla Alumnos.DB que tiene dos indices y adems para este
caso la tabla de Grupos no tiene ni imagen ni memos.
Grupos:= AbreConsulta('select * from Grupos');
TGrupos:=AbreTabla('Grupos.db');
Alumnos:= AbreConsulta('select * from Alumnos order by grupo');
TAlumnos:=AbreTabla('Alumnos.db');

Pgina 17

Manual de Pascal Script


AsignaCampoImagen(TAlumnos,'Foto');
ComienzaDoc;
Primero(Grupos);
Fuentes(0,'Arial');
FSize(0,'9');
while not(fdt(Grupos)) do
begin
Campo:=Consulta(Grupos,'Grupo');
CargaIndice(Campo,'1');
ConsultaTabla(TGrupos); {se posiciona en el grupo dentro de la tabla}
Encontrar(Alumnos,Grupo,Campo);
While Consulta(Alumnos,Grupo)=Campo do
Begin
Cadena:=Consulta(Alumnos,Clave);
CargaIndice(Campo,1);
CargaIndice(Cadena,0);
ConsultaImagen(TAlumnos);
InsertarImagen('',3);
Siguiente(Alumnos);
End;
Parrafos(1);
EscribeLineas(False);
Siguiente(Grupos);
end;
CierraTabla(Tgrupos);

De hecho las tablas unicamente se utilizan para el acceso a campos que no se puede accesar con
el SQL por lo que las funciones de navegacin y otro tipo de campos sern definidos por las
consultas.

CargaIndice
Sintaxis:
Procedure CargaIndice (Campo,Modo:string);
El indice es un buffer nico para generar bsquedas rpidas en las tablas por medio de sus ndices
al utilizar tanto ConsultaImagen y ConsultaMemo.
El modo indica:
Modo
Alineacin
0
Carga al buffer el campo
1
Limpia el buffer y carga al buffer el campo
Se cargan tanto campos como indices tenga la tabla, que en esta versin tiene un lmite de 3
ndices; El parmetro campo no es el nombre de ste sino el contenido que se desea buscar (vea
el ejemplo de InsertarImagen o el de InsertarMemo).

TablaEdit
Sintaxis:
procedure (indice:Integer);
Prepara a la tabla indicada por el parmetro para poder modificar el registro actual.

Pgina 18

Manual de Pascal Script

TablaAppend
Sintaxis:
procedure TablaAppend (indice:Integer);
Aade un registro nuevo a la tabla indicada por el ndice que se pasa en los parmetros del
procedimiento.

TablaPost
Sintaxis:
procedure TablaPost (indice:Integer);
Salva los cambios realizados en un registro insertado o modificado en la tabla indicada por el
parmteros del procedimiento.

TablaAsigna
Sintaxis:
procedure TablaAsigna (indice:Integer; Campo,Valor:string);
Asigna el valor al campo dado en los parmetros del procedimiento en un registro insertado o
editado de la tabla indicada por el parmetro Indice.

TablaValor
Sintaxis:
function TablaValor (indice:Integer; Campo:string):string;
Da como resultado el valor del campo indicado en los parmteros de la funcin, del registro actual
de la tabla apuntada por el ndice.

LimpiaTabla
Sintaxis:
procedure LimpiaTabla (indice:Integer);
Vaca la tabla indicada por el parmetro ndice.

CierraTabla
Sintaxis:
Procedure CierraTabla(indice:Integer);
Cierra la tabla identificada por el ndice, para cerrar las consultas, vea el procedimiento Cierra.

Pgina 19

Manual de Pascal Script

Funciones del impresor


Son funciones para el inicio y terminacin del componente de impresin

ComienzaImpresor
Sintaxis:
Procedure ComienzaImpresor;
Procedimiento para comenzar las actividades con el mdulo de impresin; antes de realizar
cualquier actividad relacionada con la impresin de reportes deber de utilizar este procedimiento.

ComienzaDoc
Sintaxis:
Procedure ComienzaDoc;
Mtodo para comenzar a generar el documento a imprimir; si no se define, no habr espacio en
memoria para ir almacenando la impresin.

TerminaDoc
Sintaxis:
Procedure TerminaDoc;
Antes de llevar a cabo la impresin, deber de dar por terminado el documento a imprimir.

MuestraImpresor
Sintaxis:
Procedure MuestraImpresor;
Si al terminar el documento a imprimir, desea tener una prevista de este, utilice este procedimiento.

Titulo
Sintaxis:
Procedure Titulo(Texto:string);
Determina el nombre del trabajo enviado a la impresora.

Configuracin de la impresin
Funciones que nos permiten configurar los diferentes parmetros de la impresin

Pgina 20

Manual de Pascal Script

Refrescar
Sintaxis:
Procedure Refrescar;
Retoma las propiedades de impresin; cada vez que se hace un cambio de impresora, se aplica
este mtodo para tomar los nuevos parmetros.

AlturaPagina
Sintaxis
Function AlturaPagina:Double;
Funcin que regresa la altura de la pgina dispuesta entre los mrgenes superior e inferior.

AnchoPagina
Sintaxis
Function AnchoPagina:Double;
Funcin que regresa el ancho de la pgina dispuesto entre los mrgenes izquierdo y derecho.

Orientacion
Sintaxis
Procedure Orientacion(Valor:string);
Procedimiento que define la orientacin de la pgina a imprimir, este procedimiento debe de
utilizarse antes de la funcion ComienzaDoc y despus de la funcion ComienzaImpresor.
Valor
Descripcin
Landscape Orientacin de la pgina en horizontal
Portrait
Orientacin de la pgina en vertical (por
default)

Unidades
Sintaxis:
Procedure Unidades(Modo:Integer);
Define las unidades de medida que se utilizarn en el proceso de preparacin del documento y su
impresin, donde:
Modo
Unidades
1
Pulgadas
2
Milmetros

Pgina 21

Manual de Pascal Script

Tabulador
Sintaxis:
Procedure Tabulador(Espacios:Integer);
Determina el ancho para un tabulador, por default son 8 caracteres.

Separador
Sintaxis:
Procedure Separador(Carcter:string);
Determina el carcter separador de cada columna tanto en las cadenas de formato como en las de
aplicacin de formato; por default es el carcter | (ASCII 124).

Mostrar
Sintaxis: procedure Mostrar;
Procedimiento que permite al programador visualizar la pantalla de edicin en los casos en que el
sistema principal active los reportes sin visualizar la forma de reportes.

Funciones de impresin
Funciones que permiten al usuario llevar a cabo una impresin de forma bsica.

NuevaLinea
Sintaxis:
Function NuevaLinea:Integer;
Funcin que permite realizar al usuario un cambio a la siguiente lnea de forma manual; entrega
como resultado el nmero de lnea actual en la pgina correspondiente.

NuevaPagina
Sintaxis:
Function NuevaPagina:Integer;
Permite al usuario hacer un cambio de pgina en forma manual y regresa como resultado el
nmero de pgina actual.

LineaPrevia

Pgina 22

Manual de Pascal Script


Sintaxis:
Function LineaPrevia:Boolean;
Funcin que intenta regresar a la lnea anterior regresando como resultado: Verdadero si pudo
retroceder y falso si no.

Imprime
Sintaxis:
Function Imprime:Boolean;
Funcin que enva fisicamente a la impresora el documento que se pretende imprimir; regresa
verdadero si se imprimi el documento y falso si no pudo mandar el documento a la impresora o si
el usuario cancel la impresin.

Escribe
Sintaxis:
Procedure Escribe(Texto:string);
Procedimiento que enva el texto al documento a imprimir en la pgina y lnea actuales, pero no
genera de forma automtica un cambio de lnea; y la impresin de la lnea se hace sin respetar la
alineacin, i.e. Siempre con alineacin a la izquierda.
Tambin es utilizada cuando se utilizan las funciones PosicionaLinea, PosicionaColumna y
PosicionRealV ya que esta funcin no regresa el cursor al margen izquierdo del documento.

EscribeLinea
Sintaxis:
Procedure EscribeLinea(Texto:string);
Procedimiento que realiza la misma funcin que que Escribe con la diferencia que ste si genera
un cambio de lnea de manera automtica tomando la alineacin definida con la funcin de
alineacin (por default es alineacin izquierda).

EscribeLineaAlineada
Sintaxis:
Procedure EscribeLineaAlineada(Alineacion:Integer; Texto:string);
Procedimiento que lleva a cabo la misma funcin que EscribeLinea con la diferencia que esta toma
la alineacin que se define en sus parmetros.
Los valores para la alineacin son:
Valor
Alineacin
0
Izquierda
1
Derecha

Pgina 23

Manual de Pascal Script


2

Centro

EscribeLineas
Sintaxis:
Procedure EscribeLineas(Modo:Boolean);
Procedimiento que escribe las lneas que se han almacenado previamente con la funcin Parrafo;
si Modo es Falso entonces lleva a cabo la funcin bajo los mismos criterios que el procedimiento
EscribeLinea si es verdadero como EscribeLineaTabla.

InsertarImagen
Sintaxis:
Procedure InsertarImagen(Archivo:string; Zoom:Integer);
Inserta la imagen contenida en el archivo sobre la lnea actual a un porcentaje del tamao original
definido en el parmetro zoom; si el parmetro Archivo est vacio, toma la imagen contenida en el
buffer de imagen (ver ConsultaImagen).

ImagenAjustada
Sintaxis:
Procedure ImagenAjustada(Archivo:string);
Inserta una imagen de archivo que se ajusta segn el rea imprimible en la lnea actual y si no
cabe, cambia de pgina.

Parrafo
Sintaxis:
Procedure Parrafo(Texto:string; Modo:Integer);
Aade una nueva lnea de impresin al buffer de lneas utilizado por el procedimiento
EscribeLineas y donde el modo define:
Modo
Descripcin
0
Reinicia el buffer y anexa la cadena definida
en el parmetro texto
1
Anexa la cadena definida en el parmetro
texto.

Parrafos
Sintaxis:

Pgina 24

Manual de Pascal Script


Procedure Parrafos(Modo:Integer);
Aade nuevas lneas contenidas en el buffer de Memo al buffer de impresin de lneas utilizado por
el procedimiento EscribeLineas y donde el modo define:
Modo
Descripcin
0
Reinicia el buffer y anexa el contenido del
buffer memo al buffer de impresin para el
procedimiento EscribeLineas
1
Anexa el contenido del buffer memo al buffer
de impresin para el procedimiento
EscribeLineas
2
Reinicia la coleccin y copia el contenido del
Memo a la coleccin,
Hay que recordar que el buffer de Memo es llenado de un campo Memo de la tabla
correspondiente, por medio de la funcin ConsultaMemo.

Linea
Sintaxis:
Function Linea:Integer;
Funcin que devuelve el nmero de lnea actual en la que se encuentra el impresor de reportes.

Exactitud de impresin
Funciones que nos permiten realizar una impresin con mayor exactitud

PosicionaImagen
Sintaxis:
Procedure PosicionaImagen(Archivo:string; X,Y:Integer; Ancho,Altura:Double);
Inserta una imagen de archivo en la posicin definida por los parmetros X y Y; hay que tomar en
cuenta que el origen no es el del papel sino el del lienzo.
Los parmetros Ancho y altura definen el tamao en unidades de medida utilizadas para la imagen,
tomando en cuenta que al no querer perder proporcin si los valores son menores que cero toma el
tamao original de la imagen, si el ancho es mayor que cero, se modifica el tamao segn el ancho
sin perder proporcin no tomando en cuenta la altura que se de en el parmetro correspondiente,
i.e. son mutuamente excluyentes.

EscribePosicion
Sintaxis:
Procedure EscribePosicion(Texto:string);

Pgina 25

Manual de Pascal Script


Escribe el texto en el documento, en la posicin definida en los parmetros X y Y cuya unidad est
configurada con la funcin Unidades y que por default est en pulgadas; tomando como referencia
los mrgenes superior y derecho.
Solamente imprimir el texto que ajuste al tamao definido por el parmetro ancho que tambien
esta en las unidades definidas por el usuario.
Los parmetros X, Y y Ancho son definidos por separado con la funcin DefinePosicion.

Alineacion
Sintaxis:
Procedure Alineacion(Modo:Integer);
Procedimiento que define la alineacin utilizada por los mtodos EscribeLinea y EscribeLineas.
Valor
Alineacin
0
Izquierda
1
Derecha
2
Centro

Fuentes
Sintaxis:
Procedure Fuentes(Quien:Integer; Nombre:string);
Define la fuente a utilizar tanto en el documento en general, encabezados y pis de pgina donde:
Quien
Descripcin
0
General
1
Encabezado
2
Pi de pgina
Nombre define la fuente a utilizar; ejemplo Arial.

FColor
Sintaxis:
Procedure FColor(Quien:Integer; Color:string);
El color es un valor de cadena que represente un entero que corresponda a un color especfico
(vea composicion RGB).

FSize
Sintaxis:
Procedure FSize(Quien:Integer; Tamano:string);

Pgina 26

Manual de Pascal Script


Tamano es un valor de cadena que represente a un valor entero que defina el nmero de puntos
de la fuente.

FEstilo
Sintaxis:
Procedure FEstilo(Quien:Integer; Estilo:string);
Estilo es un valor de cadena que represente a un valor entero que defina el estilo con el que se
representar a la fuente al desplegar o imprimir.
Valor
0
1
2
3
4
5
6
7
8
9
10
11
12

Estilo
Normal
Negrita
Cursiva
Subrayado
Rayado
Negrita-Cursiva
Negrita-Subrayado
Negrita-Rayado
Cursiva-Subrayado
Cursiva-Rayado
Negrita-Cursiva-Subrayado
Negrita-Cursiva-Rayado
Negrita-Cursiva-Subrayado-Rayado

DefinePosicion
Sintaxis:
Procedure DefinePosicion (Coordenada:Integer; Valor:Double);
Procedimiento que define las coordenadas X y Y as como tambin el ancho de lnea mximo
utilizados en la funcion EscribePosicion.
Valor
Coordenada
0
X
1
Y
2
Ancho

Espaciado
Sintaxis:
Procedure Espaciado(Modo:Integer);
Define el espacio que habr entre cada lnea y donde:
Valor
Descripcin
0
Medio espacio

Pgina 27

Manual de Pascal Script


1
2
3

Espacio sencillo
Espacio y medio
Doble espacio

Margen
Sintaxis:
Procedure Margen (Modo:String; Valor:Double);
Determina el ancho o altura del margen especificado en el modo dados por el valor.
Modo
IZQUIERDO
DERECHO
SUPERIOR
INFERIOR

Descripcin
Margen izquierdo
Margen derecho
Margen superior
Margen inferior

Se recomienda utilizar esta funcin antes del comando ComienzaDoc.

AjusteDeLinea
Sintaxis:
Procedure AjusteDeLinea(Modo:Boolean);
Determina si las lneas impresas se ajustan o no al ancho establecido por los mrgenes o anchos
de columna en las tablas; si existe el ajuste, se crean tantas lneas como sea necesario.
Modo
Descripcin
Verdad Ajusta
Falso No ajusta

PosicionaLinea
Sintaxis:
Function PosicionaLinea(Avance:Double; Inicio:Boolean);
Avance de la lnea actual de impresin tantas unidades de medida como se definan en el
patrmetro de avance; regresa el nmero de lnea proporcional al avance.
Si el parmetro Inicio es True entonces el avance lo realiza a partir del inicio del documento, si no
entonces el avance se realiza a partir de la lnea actual.

PosicionaColumna
Sintaxis:
Function PosicionaColumna(Avance:Double; Inicio:Boolean);

Pgina 28

Manual de Pascal Script


Avance de la columna actual de impresin tantas unidades de medida como se definan en el
patrmetro de avance; regresa el nmero de columna proporcional al avance.
Si el parmetro Inicio es True entonces el avance lo realiza a partir del margen izquierdo del
documento, si no entonces el avance se realiza a partir de la columna actual.

PosicionRealV
Sintaxis: function PosicionRealV:Double;
Regresa como resultado la distancia que hay entre el margen superior del documento y la linea
actual en las unidades de medida actuales.

AlturaDefault
Sintaxis: procedure AlturaDefault(Alto:double);
Procedimiento que define la altura de una imagen insertada en las unidades actuales de medida; si
no se define o se define un valor negativo, se toma la altura real de la imagen.

AnchoDefault
Sintaxis: procedure AnchoDefault(Ancho:double);
Procedimiento que define el ancho de una imagen insertada en las unidades actuales de medida; si
no se define o se define un valor negativo, se toma el ancho real de la imagen.

Encabezados y pis de pgina


Funciones para definir los encabezados y pis de pgina de un documento a imprimir (hay que
mencionar que algunas otras funciones tambin son utilizadas en los encabezados y pis de
pgina).

Bordes
Sintaxis:
Procedure Bordes(Valor:string);
Procedimiento que permite al usuario definir los bordes impresos de la pgina con respecto a la
siguiente relacin.
Valor
0
1
2
3
4

Alineacin
Sin bordes
Borde superior
Borde inferior
Borde izquierdo
Borde derecho

Pgina 29

Manual de Pascal Script


5
6
7

Superior e inferior
Izquierdo y derecho
Todos

Titulos
Sintaxis:
Procedure Titulos(Quien:Integer; Texto:string);
Escribe los textos que llevarn ya sea el encabezado o el pie de pgina, cuyo formato es definido
con la funcion Formatos.
El parmetro Quien define:
Quien
Descripcin
1
Encabezado
2
Pi de pgina
El parmetro Texto son los textos que irn en las columnas del encabezado o pe de pgina
utilizando cadenas de aplicacin de formatos.

SeparacionDeBorde
Sintaxis:
Procedure SeparacionDeBorde(Separacion:Double);
Define en donde comienza el rea imprimible con respecto a los mrgenes; si se define como 0
entonces se tiende a traslapar en rea imprimible y los encabezados y pis de pgina. Defina un
valor pequeo para ste segn lo desee (1.5 mm).

AlineacionDeImagen
Sintaxis:
Procedure AlineacionDeImagen(Quien,Alineacion:string);
Si previamente se definen imgenes para el encabezado o pi de pgina, este procedimiento
determina en que parte se colocar; el parmetro quien define que se afectar:
Quien
Descripcin
0
Encabezado
1
Pi de pgina
Y el parmetro Alineacin define:
Valor
Alineacin
0
Izquierda
1
Derecha
2
Centro

Pgina 30

Manual de Pascal Script

ImagenDeTitulos
Sintaxis:
Procedure ImagenDeTitulos(Quien:Integer; Archivo:string);
Inserta una imagen de archivo ya sea en el encabezado o en el pi de pgina:
Quien
Descripcin
0
Encabezado
1
Pi de pgina

Funciones de tabla de impresin


Funciones que nos permiten definir un documento con tablas para una mayor flexibilidad en la
impresin.

EscribeLineaTabla
Sintaxis:
Procedure EscribeLineaTabla(Texto:string; ComFin:Boolean);
Escribe en el documento a imprimir una lnea correspondiente a una tabla utilizando una cadena de
aplicacin de formato; en donde ComFin marca si la lnea a imprimir es comienzo o fin de una tabla
con la finalidad de dibujar las lneas de la celda de acuerdo a lo definido en el comando
ModoCelda.

AnchoColDefault
Sintaxis:
Procedure AnchoColDefault(Ancho:Double);
Define el ancho por default de las columnas en una tabla dado por el parmetro Ancho en las
unidades actuales.

Formatos
Sintaxis:
Procedure Formatos(Quien:Integer; Formato:string);
Aplica cadena de formato a:
Quien
Descripcin
0
Tabla
1
Encabezado
2
Pi de pgina

Pgina 31

Manual de Pascal Script

ModoCelda
Sintaxis:
Procedure ModoCelda(Valor:Integer);
Aplica para el dibujo de las celdas en una tabla, con los siguientes valores
Valor
0
1
2
3
4
5
6
7
8
9
10
11

Descripcin
Orillas de la tabla
Lneas horizontales altas
Lneas horizontales bajas
Lneas verticales derechas
Lneas verticales izquierdas
Orillas verticales
Orillas Horizontales
Completo
Orillas verticales derechas
Orillas verticales izquierdas
Orillas horizontales altas
Orillas horizontales bajas

A nivel interno el sistema detecta la primera y ltima columna para saber si son orillas para las
lneas verticales; pero para las lneas verticales, el usuario deber marcar en el comando de
EscribeLineaTabla si es primera o ltima lnea de la tabla.

FormatosRapidos
Sintaxis:
Procedure FormatosRapidos(Quien:Integer; Formato:string);
Aplica formatos friendly a:
Quien
Descripcin
1
Encabezado
2
Pi de pgina

Cuadricula
Sintaxis:
Procedure Cuadricula(Modo:Boolean);
Determina si las lneas de una tabla son impresas o no.
Modo
Descripcin
Verdad Imprime
Falso No imprime

Pgina 32

Manual de Pascal Script

FondoTabla
Sintaxis:
Procedure FondoTabla(Valor:Boolean);
Si valor True entonces se imprimir un fondo para las tablas que se generen segn el color definido
por ColorTabla; si Valor es False entonces se dejar el fondo sin color.

ColorTabla
Sintaxis:
Procedure ColorTabla(Valor:Integer);
Define el color del fondo de la tabla que se este procesando y si y solo si FondoTabla es
verdadero; para definir el color utilice nmero en hexadecimal en donde se manejan cuatro bytes
$00AAVVRR, cada par de dgitos representan un bytes, el primer byte (de izquierda a derecha)
representa la paleta utilizada y 00 significa que est utilizando la paleta del sistema.
El segundo Byte representa al color azul, el tercero al color verde y el cuarto y ltimo al color rojo;
vea la referencia en cualquier sistema de dibujo con el sistema RGB para definir el color deseado.

Parmetros del sistema


Funciones y valores que son pasados al sistema de impresin por el sistema general

Periodo
Sintaxis:
Function Periodo:string;
Entrega como resultado el periodo que se est trabajando en el sistema, tiene la finalidad de
realizar reportes cuando por caractersticas del sistema las tablas cambian de nombre segn el
periodo de trabajo.

Empresa
Sintaxis:
Function Empresa:string;
Entrega como resultado la empresa que se est trabajando en el sistema.

Direccion
Sintaxis:
Function Direccion:string;
Entrega como resultado la direccin de la empresa que se est trabajando en el sistema.

Pgina 33

Manual de Pascal Script

RFC
Sintaxis:
Function RFC:string;
Entrega como resultado el Registro Federal de Causantes de la empresa que se est trabajando
en el sistema.

DarVar
Sintaxis: function DarVar(Indice:Integer):string;
Funcin que regresa como resultado una cadena de una lista de cadenas pasadas del sistema
principal al de reportes, ver manual del sistema general en el mdulo correspondiente a la
impresin que se desea desarrollar; para el mdulo general de reportes, los nicos parmetros que
se traspasan son los cuatro primero, i.e. Periodo, Empresa, Direccin y RFC

Ahora
Sintaxis: function Ahora:Double;
Funcin que regresa como resultado la fecha del sistema en forma de nmero real; la parte entera
representa la fecha y la parte decimal la hora.

Funciones de proceso
Funciones que permiten al usuario desplegar un visor de avance de proceso para los casos de
procesos muy largos.

Arranca
Sintaxis:
Procedure Arranca(Texto:string);
Procedimiento que inicializa la ventana que despliega el indicador de avance de proceso.

Muestra
Sintaxis:
Procedure Muestra;
Procedimiento que muestra la ventana del indicador de avance de proceso.

Pgina 34

Manual de Pascal Script

Avanza
Sintaxis:
Procedure Avanza(Porcentaje:Integer);
Procedimiento que avanza el porcentaje dado en el parmetro al indicador de avance de proceso.
Arranca('Catlogo de inventarios');
{Inicializa el indicador}
Mide:=0;
{el contador de registros leidos}
Muestra;
{Muestra el indicador de proceso}
while not (fdt(Cata)) do
begin
. . .
Proceso del registro
. . .
Siguiente(Cata);
{siguiente registro}
Mide:=Mide+1;
{un registro mas leido}
i:=Trunc(Mide*100/Registros(Cata));
{calculo del porcentaje}
Avanza(i);
{despliega nuevo porcentaje}
end;
Oculta;
{oculta la forma del indicador}
Termina;
{elimina el indicador}

Oculta
Sintaxis: procedure Oculta;
Procedimiento que oculta la forma para el despliegue de avance de proceso.

Termina
Sintaxis: procedure Termina;
Procedimiento que elimina de la memoria la forma de despliegue de avance de proceso.

Funciones de coleccin
Estas funciones permiten al usuario definir, manejar y controlar en memoria una lista de cadenas
de texto.

cCuenta
Sintaxis:
Function cCuenta:Integer;
Regresa el nmero de cadenas almacenadas en la coleccin.

cNombre
Sintaxis:

Pgina 35

Manual de Pascal Script


Function cNombre(Indice:Integer):string;
La funcin cNombre, regresa la parte del nombre en la posicin indicada por el ndice en la
coleccin de cadenas donde cada una tiene la forma Nombre=Valor, de otra forma regresa cadena
vaca.

cValor
Sintaxis:
Function cValor(Nombre:string):string;
La funcin cValor, regresa la parte del valor en la posicin indicada por el nombre en la coleccin
de cadenas donde cada una tiene la forma Nombre=Valor, de otra forma regresa cadena vaca.

cInserta
Sintaxis:
procedure cInserta (Indice:Integer; Cadena:string);
El procedimiento de insercin, inserta una cadena en la lista de cadenas. La cadena en los
parmteros es insertada en la posicin que indica el parmetro ndice, donde la lista de indicadores
comienza con cero.

cIndiceDe
Sintaxis:
Function cIndiceDe(Cadena:string):Integer;
Funcin que da como resultado la posicin en la que se encuentra la cadena parmetro de la
funcin; hay que recordar que la primera posicin es cero, si la cadena no se encuentra, el
resultado es -1.

cAnexa
Sintaxis:
Function cAnexa (Cadena:string):Integer;
Esta funcin aade una nueva cadena a la coleccin, a la vez la funcin regresa como resultado la
posicin en la que se aadi; la primera posicin en la lista es la cero.

cLimpia
Sintaxis:
Procedure cLimpia;
Procedimiento que elimina las cadenas que se encuentren en la coleccin de cadenas.

Pgina 36

Manual de Pascal Script

cTextoComa
Sintaxis:
Procedure cTextoComa;
Procedimiento que lee una cadena con formato de separacin de comas, y cada elemento
separado lo aade a la coleccin.

cCargaArchivo
Sintaxis:
Procedure cCargaDeArchivo(Archivo:string);
Procedimiento que lee un archivo de texto denominado por el parmtero Archivo, y cada lnea en el
archivo es aadida a la coleccin.

cElemento
Sintaxis:
function cElemento (Indice:Integer):string;
Esta funcin entrega como resultado, la cadena indicada por el parmetro ndice.

MemoAColeccion
Sintaxis:
Procedure MemoAColeccion;
Esta funcin envia las lecturas de un campo Memo a la coleccin de cadenas de texto.

EscribeLineasAjustadas
Sintaxis:
Procedure EscribeLineasAjustadas (x,y:Double);
Este procedimiento enva a la pgina del reporte el prrafo contenido en la coleccin, ajustando
ste a los mrgenes establecidos por las coordenadas (x,y) tomando los mrgenes izquierdo y
superior como origen.

CombinaColeccion
Sintaxis:
Procedure CombinaColeccion (Indice:Integer);
Este procedimiento combina un registro de una consulta direccionada por el ndice en el prrafo
contenido por la coleccin.

Pgina 37

Manual de Pascal Script


Dentro del prrafo se indicarn los campos entre los signos menor que y mayor que <campo> del
registro que se desean combinar que vayan de acuerdo a la consulta; de forma adicional si existen
los campos de gnero (Masc./Fem.) y de fecha se tienen las siguientes alternativas:
Registro

Alternativa

Genero
Genero

Genero
Agenero

Genero

Bgenero

Fecha
Fecha

Fecha
Afecha

Resultado
El valor del campo tal cual
El valor se condiciona segn el
valor del campo:
M:se sustituye por o
F: se sustituye por a
El valor se condiciona segn el
valor del campo:
M: se sustituye por vacio
F: se sustituye por a
El valor del campo tal cual
Se sustituye el valor del campo
por su equivalente en formato
largo, i.e. dia de mes de ao

Las siguientes alternativas son exclusivas del sistema administrativo parroquial


Registro

Alternativa

Tipo
Tipo

Tipo
Atipo

Edo
Edo

Edo
Aedo

Resultado
El valor del campo tal cual
El valor se condiciona segn el
valor del campo:
L: se sustituye por legtimos
N: se sustituye por naturales
El valor del campo tal cual
El valor se condiciona segn el
valor del campo:
S: por activo
N: no activo

Por ejemplo, se tiene el siguiente prrafo en la coleccin:


En los archivos de la parroquia de San Antonio, Singuiluca, Hgo. Dicesis de
Tulancingo, Hgo. consta que el da <aFecha>, fue bautizad<agenero> un<bgenero>
ni<agenero> quin recibi el nombre de:

Al mandar al reporte con el procedimiento de EscribeLineasAjustadas, se tendr el siguiente


resultado, suponiendo los valores del registro para el gnero masculino y con fecha 17/5/2004.
En los archivos de la parroquia de San Antonio, Singuiluca, Hgo. Dicesis de
Tulancingo, Hgo. consta que el da 17 de mayo de 2004, fue bautizado un nio
quin recibi el nombre de:

Funciones de matriz
Estas funciones permiten al usuario definir en memoria la informacin a imprimir de forma
independiente del documento a imprimir, en una matriz para mas tarde imprimirla.

Pgina 38

Manual de Pascal Script

Celda
Sintaxis:
Function Celda:string;
Regresa la cadena almacenada en la celda actual de matriz apuntada con los procedimientos
Renglon y Columna; ejemplo:
Program Matrices;
var
i,j:Integer;
Colu:Double;
Cadena:string;
Begin
ComienzaImpresor;
Renglones(6);
{define una matriz de 4 cols. X 6 Rens.}
Columnas(4);
for i:=0 to Ren-1 do {llena la matriz}
for j:=0 to Col-1 do
begin
Renglon(i);Columna(j);
DarCelda(IntToStr(j)+','+IntToStr(i));
end;
Cadena:='';
Colu:=AnchoPagina/Col; {se prepara un tabla a imprimir cols. iguales}
for j:=0 to Col-1 do
{se prepara el formato de la tabla}
begin
if Length(Cadena)>0 then
Cadena:=Cadena+'|';
Cadena:=Cadena+'<'+FloatToStr(Colu,'ffFixed',2);
end;
Formatos(0,Cadena);
{se procede a preparar el documento a imprimir}
ComienzaDoc;
for i:=0 to Ren-1 do
{se llena la tabla con valores de la matriz}
begin
Cadena:='';
for j:=0 to Col-1 do
begin
if Length(Cadena)>0 then
Cadena:=Cadena+'|';
Renglon(i);Columna(j);
Cadena:=Cadena+Celda;
end;
EscribeLineaTabla(Cadena,False);
end;
i:=Ren-1;
{se limpia la matriz}
while i>=0 do
begin
LimpiaRenglon(i);
i:=i-1;
end;
Renglones(1);
Columnas(1);
End.

DarCelda
Sintaxis:
Procedure DarCelda(Cadena:string);
Procedimiento que permite al usuario almacenar una cadena en la celda actual de la matriz
apuntada con los procedimientos Renglon y Columna.

Pgina 39

Manual de Pascal Script

LimpiaColumna
Sintaxis:
Procedure LimpiaColumna(Indice:Integer);
Procedimiento que limpia la columna de la matriz indicada por el parmetro Indice.

LimpiaRenglon
Sintaxis:
Procedure LimpiaRenglon(Indice:Integer);
Procedimiento que limpia el rengln de la matriz indicada por el parmetro Indice.

Col
Sintaxis:
Function Col:Integer;
Regresa el nmero de columnas que tiene actualmente la matriz.

Columna
Sintaxis:
Procedure Columna(Indice:Integer);
Procedimiento que permite al usuario cambiar la celda actual a la columna indicada por el
parmetro Indice.

Columnas
Sintaxis:
Procedure Columnas(Indice:Integer);
Procedimiento que permite al usuario modificar el nmero de columnas existentes en la matriz;
modificando as el valor entregado por la funcion Col.

Ren
Sintaxis:

Pgina 40

Manual de Pascal Script


Function Col:Integer;
Regresa el nmero de renglones que tiene actualmente la matriz.

Renglon
Sintaxis:
Procedure Renglon(Indice:Integer);
Procedimiento que permite al usuario cambiar la celda actual al rengln indicado por el parmetro
Indice.

Renglones
Sintaxis:
Procedure Renglones(Indice:Integer);
Procedimiento que permite al usuario modificar el nmero de renglones existentes en la matriz;
modificando as el valor de la funcin Ren.

Funciones de exportacin
Funciones que permiten al usuario una vez creada la consulta o acomodad la informacin en una
matriz, exportarla a una hoja de clculo de excel.

ExportaExcel
Sintaxis:
Procedure ExportaExcel(Indice:Integer);
Exporta los datos contenidos en una consulta segn el ndice.

MatrizExcel
Sintaxis:
Procedure MatrizExcel;
Procedimiento que exporta los datos de la matriz a una hoja de calculo de excel.

Impresin con modalidad DOS


Permite realizar impresiones al estilo DOS en donde nicamente se imprimen textos ASCII

Pgina 41

Manual de Pascal Script

LineaDOS
Sintaxis: procedure LineaDOS(string);
Enva al impresor DOS una lnea de impresin; en el mdulo de impresin DOS se envan tal cual
las lneas por lo que avanzar a un punto determinado ser enviando lneas vacias.
Una lnea puede definir ciertos formatos para la impresin en donde:
Formato
&NORMAL
&COMPRIMIDO
&NEGRITA
&ITALICA
&SUBRAYADO
&COMPRINEGRI
&SALTO

Resultado
Escribe con la letra normal programada en la impresora
Escribe con la letra comprimida
Escribe letra normal en negrita
Escribe letra normal cursiva
Escribe letra normal subrayada
Escribe letra comprimida en negrita
Salto de pgina

LimpiaDOS
Sintaxis: procedure LimpiaDOS;
Inicializa en impresor DOS.

EjecutaDOS
Sintaxis: procedure EjecutaDOS;
Muestra una prevista de la impresin para DOS.

enviaDOS
Sintaxis: procedure EjecutaDOS;
Envia directamente la impresin para DOS al impresor, no mostrando resultado alguno.

Repite
Sintaxis: function Repite(Cantidad:Integer; Caracter:string):string;
Regresa como resultado una cadena con un nmero de repeticiones del carcter definidos en los
parmetros de la funcin.
Program ImpresionDOS;

Pgina 42

Manual de Pascal Script


var
Cadena:string;
begin
LimpiaDOS;
LineaDOS(Repite(15,'')+'Primera cadena de
LineaDOS(Repite(15,'')+'Segunda cadena de
LineaDOS('&comprimido');
LineaDOS(Repite(15,'')+'Primera cadena de
LineaDOS('Segunda cadena de impresion
LineaDOS('&normal');
LineaDOS('&negrita');
LineaDOS('Primera cadena de impresin');
LineaDOS('Segunda cadena de impresion
LineaDOS('&comprinegri');
LineaDOS('Primera cadena de impresin');
LineaDOS('Segunda cadena de impresion
LineaDOS('&subrayado');
LineaDOS('Primera cadena de impresin');
LineaDOS('Segunda cadena de impresion
LineaDOS('&normal');
LineaDOS('Primera cadena de impresin');
LineaDOS('Segunda cadena de impresion
EjecutaDOS;
end.

impresin');
impresion ');
impresin');
');

');

');

');

');

Funciones de imagen
Esta imagen es totalmente independiente de las imgenes utilizadas con posterioridad en este
manual el mapa de bits utilizado debe ser creado y liberado.

IniImagen
Sintaxis: procedure IniImagen;
Crea en la memoria el mapa de bits para el manejo de imgenes tanto para estas funciones de
imagen como para el cdigo de barras.

LibImagen
Sintaxis: procedure LibImagen;
Libera la memoria del mapa de bits creado con la funcion IniImagen.

Ihor
Sintaxis: procedure Ihor(Valor:Double);
Establecer el ancho del mapa de bits que contendr la imagen en las unidades definidas por la
funcin Unidades.

Iver
Sintaxis: procedure Iver(Valor:Double);

Pgina 43

Manual de Pascal Script


Establecer la altura del mapa de bits que contendr la imagen en las unidades definidas por la
funcin Unidades.

CargaImg
Sintaxis: procedure CargaImg(Cadena:string);
Carga la imagen contenida en el archivo descrito en el parmetro de la funcin en el mapa de bits.

AjustaImg
Sintaxis: procedure AjustaImg(Valor:Boolean);
Al imprimir la imagen, sta se ajustar al recuadro definido por las rutinas Ihor e Iver si el
parmetro que se da es verdadero.

ImprimeImg
Sintaxis: procedure ImprimeImg(X,Y:Double);
Plasma en la impresin, la imagen contenida en el mapa de bits obtenida ya sea por la funcin
CargaImg o la funcin Bgenera; tomando como inicio las coordenadas X, Y a partir del margen.
Estas coordenadas estn dadas en las unidades de medida definidas por la funcin Unidades.

Funciones de cdigo de barras


Estas funciones, generan un cdigo de barras dentro del mapa de bits definido en las funciones de
imagen, tomando a ste como un contenedor.

Bchequeo
Sintaxis: procedure Bchequeo(Valor:Boolean);
Esta funcin define si al utilizar los cdigos EAN8 y EAN13 se genere el octavo o dcimotercer
dgito en el cdigo por medio de un checksum; al hacer verdadero el parmetro y se utilizan los
citados cdigos, unicamente se debern dar siete u ocho dgitos.

Bfondo
Sintaxis: procedure BFondo (Valor:Integer);
Esta funcin define el color del fondo que tendr el contenedor del cdigo de barras.

Pgina 44

Manual de Pascal Script

Bbarra
Sintaxis: procedure BBarra (Valor:Integer);
Esta funcin define el color de las barras en el cdigo.

Bfuente
Sintaxis: procedure BFuente (Nombre:string; Tam,Color,Estilo:Integer);
Esta funcin define la fuente que se utilizar en el caso de que el usuario defina escribir junto con
el cdigo de barras, su valor, el tipo de cdigo o un texto cualquiera.
En donde el estilo est definido por:
Estilo
0
1
2
3
4
5
6

Resultado
Negrilla
Cursiva
Subrayada
Negrilla cursiva
Negrilla subrayada
Cursiva subrayada
Negrilla cursiva y subrayada

Cualquier otro valor deja el estilo normal.

Baltura
Sintaxis: procedure BAltura(Valor:Double);
Establecer la altura del cdigo de barras en las unidades definidas por la funcin Unidades.

BajHor
Sintaxis: procedure BAjHor(Valor:Integer);
Esta funcin define el ajuste horizontal que tendrn los diferentes texto impresos junto con el
cdigo de barras.
Ajuste
0
1
2

Resultado
Izquierda
Media
Derecha

BajVer

Pgina 45

Manual de Pascal Script


Sintaxis: procedure BAjVer(Valor:Integer);
Esta funcin define el ajuste vertical que tendrn los diferentes texto impresos junto con el cdigo
de barras.
Ajuste
0
1
2

Resultado
Inferior
Media
Superior

En el entendido que los ajustes inferior y superior, quedan fuera del cdigo de barras.

Bmodulo
Sintaxis: procedure BModulo(Valor:Integer);
Esta funcin define el nmero de pixeles que tendr la barra mas angosta en el cdigo de barras a
imprimir.

Bradio
Sintaxis: procedure BRadio(Valor:Integer);
Esta funcin define el la relacin que guardarn la barra ms angosta con la barra ms ancha en el
cdigo de barras a imprimir.

Bmuestra
Sintaxis: procedure BMuesta(Valor:Integer);
Esta funcin define cual de los tres tipos de texto definidos en el cdigo de barras se debern de
imprimir.
Opciones
0
1
2
3
4
5
6
7

Resultado
Todo (Cdigo, Tipo de codificacin y el texto libre)
Cdigo
Cdigo y texto libre
Cdigo y tipo de codificacin
Nada
Texto libre
Texto libre y tipo de codificacin
Tipo de codificacin

Btexto
Sintaxis: procedure BTexto(Cadena:string);

Pgina 46

Manual de Pascal Script


Carga el texto libre definido por el usuario para imprimir junto con el cdigo de barras.

Btipo
Sintaxis: procedure BTipo (Valor:Integer);
Esta funcin define el tipo de codificacin a utilizar para la generacin del cdigo de barras a
imprimir.
Estilo
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

Resultado
Code 25 Interleaved
Code 25 Industrial
Code 25 Matrix
Code 39
Code 39 Extendido
Code 128 A
Code 128 B
Code 128 C
Code 93
Code 93 Extendido
Code MSI
Code PostNet
Code CodaBar
Code EAN8
Code EAN13
Code UPC A
Code UPC E0
Code UPC E1
Code UPC Supp2
Code UPC Supp5
Code EAN 128 A
Code EAN 128 B
Code EAN 128 C

Bgenera
Sintaxis: procedure BGenera(Cadena:string);
Genera el cdigo de barras para el cdigo dado en el parmetro Cadena.

Bmargen
Sintaxis: procedure BMargen(Izquierdo,Superior:Double);
Define los mrgenes izquierdo y superior que al generar el cdigo de barras mover este segn los
parmetros dados dentro del contenedor.

Pgina 47

Manual de Pascal Script

Funciones poligonales
Funciones para la impresin de las figuras elipse, rectngulo y lnea.

Poligono
Sintaxis: procedure Poligono (Modo:Integer; Origenx,OrigenY,Destinox,Destinoy:Double);
Segn el modo, dibuja en el lienzo de impresin una lnea, un rectngulo o una elipse, en todos los
casos formando un rectngulo cuya esquina superior izquierda est dada por los parmetros de
origen a partir del margen establecido y la esquina inferior derecha los parmetros destino a partir
del margen establecido.
El modo puede ser:
Modo
0
1
2

Resultado
Elipse
Renctngulo
Lnea

PolGrueso
Sintaxis: procedure PolGrueso(Valor:Integer);
Establece el grueso de la lnea con la que se dibujarn los diferentes polgonos en pixeles.

PolColor
Sintaxis: procedure PolColor (Valor:Integer);
Establece el color de la lnea con la que se dibujarn los diferentes polgonos.

polAngulo
Sintaxis: procedure polAngulo(ancho,alto:Integer);
Al dibujar un polgono de 4 lados, sus esquinas se redondean segn los parmetros de ancho y
alto de una elipse.

polEstilo
Procedimiento para definir el estilo de lnea con que se va a dibujar el polgono.
Sintaxis: procedure polEstilo(Estilo:Integer);
Donde el estilo est definido como:

Pgina 48

Manual de Pascal Script


Estilo
0
1
2
3
4
5
6

Descripcin
Lnea slida
Rayas intermitentes
Punteada
Raya y punto
Raya, punto y punto
Nada
Dentro del cuadro

Funciones de archivo de prrafos


Funciones para creacin y manejo de archivos desde un script de Pascal.

xPrepara
Sintaxis: procedure xPrepara(nombreArchivo:string; Modo:Integer);
Segn el modo en hexadecimal, crea o abre un archivo
Modo
0000
0001
0002
0010
0020
0030
0040
FFFF

Resultado
Solo lectura
Solo escritura
Lectura y escritura
Modo exclusivo
Comparte la lectura
Comparte escritura
Comparte con otros pero no permite que los dems
compartan
Crea archivo nuevo

xEscribe
Escribe la cadena al final del archivo
Sintaxis: procedure xEscribe(cadena:string);

xTermina
Libera la memoria asignada para trabajar con el archivo de prrafos; se recomienda que al terminar
las actividades con el archivo, se lleve a cabo esta funcin.
Sintaxis: procedure xTermina;

Pgina 49

Manual de Pascal Script

xLee
Funcin que permite al usuario leer una cadena de texto del archivo asignado, las lecturas son
secuenciales y se limitan a principio de archivo, return-line feed y fin de archivo.
Sintaxis: function xLee:string;

xReset
Procedimiento que posiciona el apuntador del archivo al inicio de ste.
Sintaxis: procedure xReset;

Funciones de lectura de texto


Funciones para lectura de grandes cantidades de texto almacenadas en memoria previamente por
el proceso que invoc el componente de reportes.

Lectura
Funcin para lee una cadena de texto segn el apuntador interno y terminando en un cambio de
lnea.
Sintaxis: function Lectura(nombreArchivo:string):string

Restaurar
Funcin que reinicia el apuntador del archivo.
Sintaxis: procedure Restaurar;

Funciones para archivos por bloques


Funciones para la creacin, edicin y mantenimiento de archivos por bloques i.e. cada archivo se
maneja como registros de una determinada longitud en bytes.

Asigna
Funcin que asigna un nombre de archivo al archivo interno del reportero para su creacin, lectura
o escritura
Sintaxis: procedure Asigna(nombreArchivo:string);

Pgina 50

Manual de Pascal Script

Resetea
Abre el archivo para su lectura por bloques de un tamao dado por el parmetro registro; se
recomienda que sea 1 byte para evitar confusiones.
Sintaxis: procedure Resetea(Registro:Integer);

bLee
Funcin que lee bloques o registros de longitud dada con la funcin resetea a un buffer interno del
reportero, y regresa como resultado los registros leidos; tome en cuenta que el sistema le enva
leer 2048 bytes. Si el resultado es menor a 2048 entonces ya encontr el fin de archivo

bGrande
Funcin que da como resultado el tamao del buffer en bytes.
Sintaxis: function bGrande:Integer;

eLee
Lee un byte del buffer segn el parmetro indicador; recuerde que el resultado es un byte aunque
el resultado se muestre en un entero.
Sintaxis: function eLee(Indice:Integer):Integer

aClose
procedimiento para cerrar el archivo que se ha abierto con la funcin resetea.
Sintaxis: procedure aClose;

Pgina 51

Manual de Pascal Script

Cadena de formatos
Cadena de tabla:
Una cadena formateada que define la linea de una tabla.
Ejemplos:
Cadena de formato de tabla:
<2.5|^-2.5|>2.5
Cadena texto de tabla: Ttulo: {$TITLE}|{$DATE} {$TIME}|Pgina {$PAGE}
Descripcion
Existen dos tipos de cadena de tabla: Cadena formato de tabla y cadena texto de tabla.
Una cadena formato de tabla esta formada de tokens que definen columnas. Cada token de
columna debe contener un caracter de alineacion y un ancho de columna. Los caracteres de
alineacion pueden ser
<
^
>

Para alineacion izquierda


Para centrado
Para alineacion derecha

Un ancho de columna debe estar en las unidades definidas en el componente.


El separador de Tokens TokenSeparator determina el caracter entre cada definicion de token de
columna.
Las cadenas texto de tabla son cadenas concatenadas separadas por un TokenSeparator.
Cuando un texto es impreso utilizando WriteTableLine, Cada token en el texto de tabla es impreso
en la columna cuya alineacion y ancho estan determinados en su correspondiente token en la
propiedad TableFormat.
Si TableGrid es True entonces los anchos de columna negativo pueden forzar a que se deshabilite
el grid (i.e. no se imprimen) Para una columna especifica. Si WordWrap es True entonces las
cadenas de la tabla se desdoblaran en multiples lineas si es necesario. Se puede forzar a un
cambio de linea en la misma celda insertando #10 en el token.
En las cadenas de tabla existen 5 constantes que se expanden.
{$LINE} Se convierte en el numero de linea actual
{$PAGE} Se convierte en el numero de pagina actual
{$DATE} Se convierte en la fecha actual (usando ShortDateFormat)
{$TIME} Se convierte en la hora actual (usando LongTimeFormat)
{$TITLE} Se convierte en la cadena definida en la propiedad Title.

Formato Rpido
Especifica alineacion y contenidos para encabezados y pies de pagina utilizando codigos simples.

Pgina 52

Manual de Pascal Script


Alineacion
&l
Izquierda
&c
Centro
&r
Derecha

Contenidos
&f
Nombre de archivo
&F
Camino y nombre de archivo
&d
Fecha corta
&t
Hora corta
&D
Fecha larga
&T
Hora larga
&i
Titulo
&p
Numero de pagina
&&
Ampersand (&)

Cadena de aplicacin de formato


Estas cadena son los textos que se desplegarn tanto en los encabezados, pies de pgina y tablas
utilizando los formatos de cadena o friendly. Cada columna va separada por carcter separador
(por default |) definido por la funcin correspondiente.
Ejemplo:
En la primer columna|En la segunda columna|En la tercer columna

Pgina 53

Manual de Pascal Script

ndice
A
AbreConsulta.........................................12
AbreTabla..............................................15
aClose....................................................51
AjustaImg..............................................44
AjusteDeLinea.......................................28
Alineacion..............................................26
AlineacionDeImagen.............................30
AlturaDefault.........................................29
AlturaPagina..........................................21
AnchoColDefault...................................31
AnchoDefault.........................................29
AnchoPagina..........................................21
And..........................................................5
Anterior..................................................14
Arranca..................................................34
Asigna....................................................50
AsignaCampoImagen............................15
AsignaCampoMemo..............................15
Avanza...................................................35
B
BajHor...................................................45
BajVer....................................................45
Baltura...................................................45
Bbarra....................................................45
Bchequeo...............................................44
Bfondo...................................................44
Bfuente...................................................45
Bgenera..................................................47
bGrande.................................................51
bLee.......................................................51
Bmargen.................................................47
Bmodulo................................................46
Bmuestra................................................46
Bordes....................................................29
Bradio....................................................46
Btexto.....................................................46
Btipo......................................................47
C
Cadena de aplicacin de formato...........53
Cadena de formatos...............................52
Cadena de tabla......................................52

cAnexa...................................................36
CargaImg...............................................44
CargaIndice............................................18
cCargaArchivo.......................................37
cCuenta..................................................35
CDT.......................................................13
Celda......................................................39
cElemento..............................................37
Chr...........................................................3
Cierra.....................................................15
CierraTabla....................1, 2, 5, 12, 18, 19
cIndice...................................................36
cInserta...................................................36
cLimpia..................................................36
cNombre................................................35
Col.........................................................40
ColorTabla.............................................33
Columna.................................................40
Columnas...............................................40
CombinaColeccion................................37
ComienzaDoc........................................20
ComienzaImpresor.................................20
Configuracin de la impresin..............20
Consulta.................................................12
ConsultaImagen.....................................16
ConsultaMemo.......................................16
ConsultaTabla........................................17
Copy.......................................................10
Cos...........................................................3
cTextoComa...........................................37
Cuadricula..............................................32
cValor....................................................36
D
DarCelda................................................39
DarVar...................................................34
DecodificaFecha......................................9
DefinePosicion.......................................27
Delete.....................................................10
Direccion...............................................33
E
EjecutaDOS...........................................42
eLee.......................................................51
Pgina 54

Manual de Pascal Script

Empresa.................................................33
Encabezados y pis de pgina................29
Encontrar...............................................14
Escribe...................................................23
EscribeLinea..........................................23
EscribeLineaAlineada............................23
EscribeLineas.........................................24
EscribeLineasAjustadas.........................37
EscribeLineaTabla.................................31
EscribePosicion.....................................25
Espaciado...............................................27
Exactitud de impresin..........................25
Exp...........................................................3
ExportaExcel.........................................41
F
FAbs.........................................................2
FColor....................................................26
FDT........................................................13
FechaLetra...............................................7
FechaToStr...............................................8
FEstilo....................................................27
FloatToStr................................................8
FondoTabla............................................33
Formato Rpido.....................................52
Formatos................................................31
FormatosRapidos...................................32
Frac..........................................................4
FSize......................................................26
Fuentes...................................................26
Funciones aritmticas..............................2
Funciones de archivo de prrafo............49
Funciones de cadena..............................10
Funciones de cdigo de barras...............44
Funciones de confirmacin......................1
Funciones de consulta a bases de datos. 12
Funciones de exportacin......................41
Funciones de imagen.............................43
Funciones de impresin.........................22
Funciones de lectura de textos...............50
Funciones de matriz.........................35, 38
Funciones de proceso.............................34
Funciones de tabla de bases de datos.....15
Funciones de tabla de impresin...........31
Funciones de transformacin...................6
Funciones de verificacin........................1
Funciones del impresor..........................20

Funciones para archivos por bloques.....50


Funciones poligonales...........................48
Funciones y operadores Booleanos.........5
G
GetArrayLength.....................................11
I
IAbs.........................................................2
Ihor.........................................................43
ImagenAjustada.....................................24
ImagenDeTitulos...................................31
Impresin con modalidad DOS.............41
Imprime.................................................23
ImprimeImg...........................................44
Insert......................................................10
InsertarImagen.......................................24
Int.............................................................5
IntToStr....................................................7
Iver.........................................................43
L
Lectura...................................................50
LeeLinea..................................................1
Length....................................................10
LimpiaColumna.....................................40
LimpiaDOS............................................42
LimpiaRenglon......................................40
Linea......................................................25
LineaDOS..............................................42
LineaPrevia............................................22
Ln.............................................................3
M
Margen...................................................28
MatrizExcel...........................................41
MemoAColeccion..................................37
ModoCelda............................................32
Mostrar...................................................22
Muestra..................................................34
MuestraImpresor....................................20
N
Not...........................................................6
NuevaLinea............................................22
NuevaPagina..........................................22
NumeroLetra............................................6
NumeroTexto...........................................7
O
Oculta.....................................................35
Or.............................................................6

Pgina 55

Manual de Pascal Script

Ord...........................................................3
Orientacion............................................21
P
Parmetros del sistema..........................33
Parrafo...................................................24
Parrafos..................................................24
Periodo...................................................33
Pi 5
polAngulo..............................................48
PolColor.................................................48
polEstilo.................................................48
PolGrueso..............................................48
Poligono.................................................48
Pos.........................................................10
PosicionaColumna.................................28
PosicionaImagen....................................25
PosicionaLinea.......................................28
PosicionRealV.......................................29
Power.......................................................4
Primero..................................................14
R
Random....................................................2
Readln......................................................1
Refrescar................................................21
Registros................................................13
Ren.........................................................40
Renglon..................................................41
Renglones..............................................41
Repite.....................................................42
Reset......................................................50
Resetea...................................................51
Restaurar................................................50
RFC........................................................34
Round.......................................................4
S
SeparacionDeBorde...............................30
Separador...............................................22
SetArray.................................................11
Siguiente................................................14
Sin............................................................3
Sqr............................................................4
Sqrt...........................................................4
StrGet.......................................................2
StrSet.......................................................3

StrToFloat................................................7
StrToInt....................................................7
T
Tabulador...............................................22
Termina..................................................35
TerminaDoc...........................................20
Titulo.....................................................20
Titulos....................................................30
Trunc........................................................4
U
Ultimo....................................................14
Unidades................................................21
UpperCase.............................................10
W
Writeln.....................................................1
X
xEscribe.................................................49
xLee.......................................................50
xPrepara.................................................49
xTermina................................................49
StrToFecha .............................................9

Pgina 56

Manual de Pascal Script

Pgina 57

Vous aimerez peut-être aussi