Berichte sind als eine der typischen Ausgangsformen von Systeminformationen eine wichtige Funktion der meisten Anwendungssysteme, die außergewöhnliche und wichtige Funktionen von MIS -Systemen sind. Ob es eine gute Druckfunktion hat, hängt häufig in gewissem Maße mit dem Erfolg oder Misserfolg des Systems zusammen. Delphi hat starke Berichtsfunktionen, aber seine Berichtsfunktionen können unsere Bedürfnisse nicht erfüllen. Daher haben viele Delphi -Experten viele hervorragende Berichtskontrollen (Module) als Nahrungsergänzungsmittel für QuickReport eingeführt, darunter FastReport ein Vertreter.
Fastreport kombiniert die Vorteile von QuickReport und ReportBuilder, ist klein, schnell und hat alle Quellcode. Bei der Entwicklung eines Drogenbehandlungssystems erstellte der Autor erfolgreich einen formbasierten Bericht, der genau dem Arzneimittelakzeptanzform und der Arzneimittelzuweisung unter Verwendung von FastReport 2.51 entsprach. Lassen Sie es mich meine Freunde unten vorstellen.
FASTREPORT2.51 Download -Adresse: http // www.skycn.com/Soft/8805.html.
Analyse der Berichtsanforderungen
Freunde, die im Krankenhaus arbeiten, wissen, dass die Drogen, wenn sie in das Lager gesteckt werden, das Formular zur Akzeptanz von Drogen ausfüllen müssen, und wenn das Apothekenpersonal die Medikamente erhält, müssen sie das Formular zur Arzneimittelallokation ausfüllen. Das vom Autor verwendete Formular für Arzneimittelakzeptanz und Allokation ist nicht dediziert, sondern ein allgemeines Formular für Produktakzeptanz und Allokation. Im Gegensatz zu den Berichten, die in Kaufhäusern und Telekommunikationssystemen verwendet werden, ist sein Erscheinungsbild mit Bar-Form, und jedes Blatt kann mit fünf Arten von Medikamenten gefüllt werden, einschließlich der Liefereinheit, der Lieferauftragsnummer, der Liefereinheit, des Produktnamens, der Spezifikation, der Einheit, des Preis , Menge usw., ein Stil und eine dreifache Kombination.
Zusammenfassend können wir die Anforderungen des Berichtsdesigns wie folgt zusammenfassen:
1. Größe: 21 cm lang und 10 cm breit;
2. Jeder kann 5 Arten von Medikamenten drucken, und die Subtotale dieser Seite befindet sich unter der Form.
3. Wenn es mehr als 5 Drogen gibt, drucken Sie eine neue Form.
Berichtsdesign
1. Öffnen Sie den Designer des FastReport -Berichts und entwerfen Sie die "Drogenakzeptanzform" nach Abbildung 1.
(Das Bild ist groß. Bitte ziehen Sie die Bildlaufleiste, um sie zu beobachten)
Darüber hinaus repräsentieren die Variablen inhj, outhj, cahj und linecount "total im Geschäft", "Gesamt-Out-Store", "Gesamtdifferenz" und "Gesamtdatenzeilen", und diesen Variablen werden Werte in den zugewiesen Programm.
2. Drücken Sie F11, um den Object -Viewer aufzurufen, Band2 auszuwählen und den folgenden Code in der Event des Borprint einzugeben:
Beginnen
Wenn line#-1 <> 0 und line#-1 mod 5 = 0, dann dann
Beginnen
showBandChild1
showbandband1
Ende
Ende
Verwenden Sie im Code die integrierte Funktion line# von FastReport, um die aktuelle Zeilennummer zu erhalten.
3. Wählen Sie Child3 aus und geben Sie den folgenden Code in der Veranstaltung für das Borprint ein:
Beginnen
lin = LineCount // Zuweisen Sie dieser Variablen im Programm einen Wert
während lin mod 5 <> 0 tun
Beginnen
showBandChild2 // leere Zeilen drucken
Inclin
Ende
showBandChild3
Ende
Der Zweck dieses Codes besteht darin, leere Zeilen zu drucken, wenn die letzte Datenzeile nicht ausreicht, damit ein Formular angezeigt wird.
V.
Beginnen
showBandChild1 // Wenn der Bericht erreicht ist, wird der Inhalt am unteren Rand des Formulars angezeigt
Ende
5. Speichern Sie den Bericht und kehren Sie in die Delphi -Entwicklungsumgebung zurück.
Delphi -Programmierteil
Im Delphi -Programmierteil vervollständigen wir hauptsächlich die Verabschiedung der für den Bericht erforderlichen Parameter.
Privat
Zeile1line2intereger // Zeilennummer speichern
inputxjintemp // Subtotaler Eintrag in das Lagerhaus, nach jeweils jeweils gilt unten
Outxjoutemp // Ausgabe subtotal
Cajiaxjcatempreal // subtotaler Preisdifferenz
Im Folgenden finden Sie eine Liste von Codes für mehrere Hauptprozesse.
// Daten des einzelnen Formulars
procedure tinputform.frdbDataset1Nextsender tobject
var
Nacherzählungen
Beginnen
Nachzählung = adoruku.recordCount
INCLINE1 // Diese Variable wird in die Berichtsdatei übertragen, um den Druck leerer Zeilen zu steuern
INCline2 // Diese Variable steuert den subtotalen Wert
Wenn nicht adoruku.eof dann
Beginnen
inputxj = inputxj+adoruku.fieldbyname'input Menge'.asfloat
OUTXJ = OUTXJ+adoruku.fieldbyname'out-Deposit-Betrag '.asfloat
Cajiaxj = cajiaxj+adorukujxcj.asfloat
Ende
// Löschen Sie den subtotalen Wert nach 5 Zeilen
Wenn line2 mod 5 = 0 und Recount> line2 div 5 5 Dann
Beginnen
intemp = inputxj
outeMp = outxj
Catemp = cajiaxj
inputxj = 0
Outxj = 0
Cajiaxj = 0
Ende
// Weisen Sie der Variablen einen Wert zu, wenn er das Ende des Datensatzes erreicht
Wenn adoruku.eof dann
Beginnen
intemp = inputxj
outeMp = outxj
Catemp = cajiaxj
Ende
Ende
Das obige Programm wurde in Windows 2000/XP+Delphi6.0 debugged und bestanden. Bisher haben wir das Design des Arzneimittelakzeptanzformulars abgeschlossen, und andere ähnliche Berichtsdesigns können sich auf den obigen Prozess beziehen. Abbildung 2 ist der Vorschau -Effekt des Berichts, der beim Ausführen des Programms erstellt wird.
(Das Bild ist groß. Bitte ziehen Sie die Bildlaufleiste, um sie zu beobachten)