Pascal Script
Pascal Script
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
Pgina
Pgina
Pgina
Pgina
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
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
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
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
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.
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
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
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
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
Yy
Yyyy
H
Hh
N
Nn
S
Ss
/
:
xx/xx
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
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
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
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.
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
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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.
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
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
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
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
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
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
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
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
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
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
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.
Pgina 41
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
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
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.
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
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
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
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
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
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
Descripcin
Lnea slida
Rayas intermitentes
Punteada
Raya y punto
Raya, punto y punto
Nada
Dentro del cuadro
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
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;
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;
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
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
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
<
^
>
Formato Rpido
Especifica alineacion y contenidos para encabezados y pies de pagina utilizando codigos simples.
Pgina 52
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 (&)
Pgina 53
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
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
Pgina 55
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
Pgina 57