RM (Report Machine) es un poderoso paquete de control de informes de Delphi. Úselo para crear informes muy complejos. El uso más simple se explica a continuación:
Coloque dos controles de base de datos en el formulario: Adoconnection y Adoquery para configurar la conexión de conexiones de AdoConnection. LoginPrompt = false. La conexión de Adoquery apunta a Adoconnection. SQL de Adoquery establece declaraciones de consulta de datos.
Ponga dos controles de informe RM en el formulario: RMDBDATASET y RMREPORT. El conjunto de datos de RMDBDataset apunta a Adoquery. El conjunto de datos de RMReport apunta al RMDBDataset.
(Si desea que la aplicación final generada tenga capacidades de diseño de informes, también debe poner el control RMDesigner y no establecer ningún atributo)
Haga doble clic en el control RMReport para comenzar a diseñar la plantilla de informe.
Para los informes que generalmente se comparan con las reglas, solo necesita agregar cuatro objetos de banda a la plantilla, a saber: 1), encabezado de página: generalmente se usa para mostrar el nombre del informe, el tiempo, etc. 2), encabezado del elemento principal: generalmente se usa para Mostrar el nombre de las columnas. 3) Datos del elemento principal: se usa para mostrar datos. 4) Nota al pie de página: Se usa para mostrar el número de página, la fecha, etc.
La plantilla diseñada se puede guardar en DFM o en un archivo de plantilla independiente con la extensión RMF y se llama en tiempo de ejecución. Aquí hay algunos fragmentos de código:
procedimiento tbrowseform.button5Click (remitente: tobject); varrmReport: trmReport; beginif AdoQuery1.isempty entoncesExit; tryrMrePort: = trMReport.Create (self); rmReport.LoadFiLED .Free; final; final;
procedimiento tForm1.Button1Click (remitente: tobject);
// PROCEDIMIENTO DE INFORME DE DESEJO TFORM1.BUTTON2CHICK (remitente: tobject);
Para la mayoría de los informes de reglas, el conocimiento anterior es suficiente. Pero esta es la forma más simple de usar RM, y está lejos de reflejar el poder de las funciones de RM.
RM tiene dos características atractivas que más necesito en este momento:
1) Los datos pueden provenir de la base de datos o de cualquier otro lugar, como en archivos, en la memoria, etc. 2) No es necesario para las plantillas prefabricadas.
Aunque RM es poderoso, no se siente complicado de usar.
1. ¿Cuáles son sus buenas soluciones para un informe que requiere dos lados de una hoja de papel? Puede elegir escribir páginas impares o incluso al imprimir. 2. ¿Cómo puedo imprimir un número fijo de líneas en una página? ¿Haga clic en el informe para ingresar la interfaz de informe de diseño? RMReport1.ModifyPrepared: = False4. Pase los parámetros al informe ¿Cómo hacer un trmMemoview? RmReport1.FindObject ('Memo1'). Memo.Text: = 'ddddd' o rmvariables ['a1']: = 'ddddd'; 6. ¿Cómo no podemos imprimir contenido duplicado? Suppres = True7. Establecer rmReport.ModifypReview = false8. .BottOmFrame .Visible: = Falso en el script del informe Memo1.frametyp: = 15; la página y controlarla para que se muestre pero está bien imprimir. Una tabla para cada 3 filas para establecer la columna de datos del elemento principal: líneasperpage = 3IF Hay una manera de que tres personas en una línea: configure las columnas de la columna de datos del elemento principal = 3 imprima en la agrupación, condiciones de agrupación: nowline> 3 en la impresión : beginnowline: = 1; fin; Sí, establezca la columna de datos del elemento principal: Visible = False Statistics Box: CalcNovisible = True12. Sí, establezca el cuadro de texto: estirado = true; // Leer el informe RMReport1.ShowReport; 2. Si los encabezados del grupo cambian las páginas en cada grupo. 1.rmReport1.Pages [0] .ChangePaper () 2.RmReport1.Pages [0] .FindObject (nombre de la columna del encabezado de grupo) .Prop ['NewPage']: = False; 15. RMReport1.ShowPrintDialog: = false; rmReport1.prinTreport; 16. No debe seleccionar el zoom al área imprimible en la configuración de la página o RMReport1.Pages [0] .pgMargins: =; Richedit1.lines.saveToStream (tempstream); tempstream.position: = 0; rmformReport1.pageheader.caption.loadFromStream (tempstream); temptream.free; end; 18. Establezca TRMDESILDER'S TEMPLATADO19. (RMReport1.FindObject ('Band1') como TRMBandView) .DataSet: = 'RMDBDataset1'; 20. Distancia izquierda: Curreport.Pages [0] .pgmargins.left: = redonde (rmConvertTopixels (mm*10, rmSumM)) 22.rmvariables ['brand']: = true; rmvariables ['Nombre del producto']: = 'Computer' ; COLUMNA DE DATOS PRINCIPALES LINEPERPAGE = 1024. ? ? Es mejor usar la columna de la columna, colocar una caja de estadísticas y luego establecer CalcType 25. Al generar informes dinámicos, ¿cómo establecer el margen de la página de RM? 40); RMCOMPOSTEREPORT1.Reports.Add (RMReport2); Sí, Contenido A3 [Memo1.CalcValue + Memo2.Calcvalue] 29. y solo imprime una vez.30. [';
Rmvariables ['A2'
Manual del usuario de desarrollo de la máquina de informes-Crear informe 2010-02-10 13:08
Crear un informe:
La creación de un informe consiste en los siguientes pasos:
1. Seleccione datos: seleccione la fuente de datos utilizada en el informe
2. Plantillas de informe de diseño: use el área (llamada banda) para distribuir diferentes partes del informe para determinar el estilo del informe.
3. Procesamiento: use el lenguaje de script incorporado del informe o procese los datos, plantillas de informe, etc. utilizados en el informe en Delphi.
4. Genere el informe: Genere el informe final basado en la plantilla de informe + fuente de datos.
Seleccione una fuente de datos:
Los datos requeridos para la mayoría de los informes provienen de la base de datos. Los componentes TTABLE y TQUERY pueden servir como fuentes de datos para informes. En general, puede usar cualquier subclase heredada del componente TDataset. El TDataset utilizado en cada informe debe tener un trmdbdataset correspondiente.
Además de TDataset, ReportMachine Pages puede usar cualquier fuente de datos (matrices, archivos, cuadrículas de caracteres, etc.). En este caso, el programa debe controlar el acceso de las fuentes que no son de la databasa por sí solo. Puede usar TrmuserDataset para transferir fácilmente los datos a los informes.
Plantilla de informe de diseño:
La plantilla de informe en sí describe cómo ver el informe correcto. Cada plantilla de informe consta de múltiples regiones, que informa la banda de llamadas de Machine. Hay dos tipos de bandas: bandas de área fija (como títulos de informes, encabezados de página, notas al pie de página, etc.) y bandas utilizadas para mostrar todos los registros en el conjunto de datos (como la columna de datos del elemento principal). La banda de datos debe conectarse a la fuente de datos, y el contenido es un registro en la fuente de datos.
ReportMachine proporciona un entorno visual para el desarrollo de informes (Informe Designer, que también se puede proporcionar a su usuario final para facilitar a su usuario final modificar las plantillas de informes usted mismo) para crear informes. El diseñador de informes es potente, simple y fácil de usar. La interfaz del diseñador de informes está hecha de una barra de herramientas flotante, que puede cambiar libremente su posición.
tratar con:
Al generar un informe, debe procesar los datos de entrada (como el formato), y la plantilla de informe debe modificarse (como un cuadro de texto en la plantilla de informe debe cambiar la fuente).
La implementación de este procesamiento le permite escribir código en el procesamiento de eventos de TRMReport en Delphi. Esta es la razón por la cual el lenguaje de secuencias de comandos incorporado en ReportMachinet, el lenguaje de secuencias de comandos incorporado de ReportMachine es muy similar a Object Pascal, y es poderoso. Escriba el código de procesamiento de eventos en este lenguaje de secuencias de comandos, que le permite crear un procesamiento complejo sin escribir código en Delphi. Puede separar los informes de sus proyectos.
Ejemplo de script de informe:
informe de la unidad;
interfaz
procedimiento memo1onbeforePrint (remitente: tobject);
procedimiento memo1onbeforePrint (remitente: tobject);
procedimiento principal;
fin;
fin.
Generar un informe:
La generación de un informe es un proceso en el que ReportMachine procesa la fuente de datos de acuerdo con la plantilla de informe para generar el informe final y puede obtener una vista previa después de hacer clic en el botón "Vista previa". Los informes preparados en ReportMachine son una colección de objetos que describen el contenido contenido en cada página después de que se procese el informe. Esto le permite modificar la página de informe generada llamando a la página deseada en el diseñador. Además, también se puede describir la reacción del clic en el objeto en la ventana de vista previa. Esto le facilitará organizar su trabajo (hacer clic en un objeto de informe puede producir un nuevo informe más detallado).
La ventana de vista previa de ReportMachine es similar a Microsoft Word: se pueden ver varias páginas en una ventana y se pueden arrastrar con un mouse.