Startseite › Foren › Deutsches LiveCode-Forum › Formatierte Berichte erstellen
Schlagwörter: Bericht Report
- Dieses Thema hat 9 Antworten und 5 Teilnehmer, und wurde zuletzt aktualisiert vor 4 Jahren, 1 Monat von foto2004.
-
AutorBeiträge
-
-
April 3, 2020 um 12:53 Uhr #19977
Hallo,
ich bin noch recht neu in LiveCode und möchte eine Anwendung für unsere Firma erstellen. Zur Grundlagenbildung arbeite ich mich durch Hauke’s Buch “Eigene Apps programmieren”. Erste Versuche sehen soweit vielversprechend aus. Für eine Anforderung habe ich allerdings noch keinen Plan, ob das mit LiveCode überhaupt funktioniert. Und zwar greife ich diverse Daten aus einer Datenbank ab und möchte das Ergebnis neben einer Anzeige, wahrscheinlich im Data Grid, auch formatiert ausdrucken oder als PDF speichern. Also, inkl. Überschriften, Zwischenergebnissen usw. Dazu muss das Seitenformat A4 hoch oder quer eingestellt werden können und Seitenumbrüche ebenfalls berücksichtigt werden, damit keine halben Zeilen gedruckt werden.
Gibt es für LiveCode einen Berichtsgenerator oder ähnliches oder wie könnte das funktionieren?
-
April 3, 2020 um 12:57 Uhr #19979
Es gibt die Valentina Reports, keine Ahnung ob das deinen Anforderungen entspricht, habs selber nie ausprobiert. LC hatte vor einiger Zeit eine Bundle Aktion oder so was in der Richtung. Vl. ist das noch auf der LC Homepage
-
April 3, 2020 um 12:58 Uhr #19981
grad gefunden https://www.youtube.com/watch?v=K1Sh1TVI4eE
-
April 3, 2020 um 14:12 Uhr #19984
Es gibt von Jan Schenkel ein Produkt namens Quartam Reports. Ob das noch aktuell ist, kann ich aber nicht sagen.
Hier ist ein Link direkt zur Produkt Seite
- http://users.telenet.be/quartam/reports/index.html
-
April 3, 2020 um 17:53 Uhr #19990
Herzlichen Dank soweit. Ich schau mir beides mal genauer an. Auf Quartam war ich auch schon gestossen, sah mir aber nicht mehr aktuell aus.
-
September 9, 2020 um 10:11 Uhr #22743
Entschuldigt dass ich diesen Thread noch einmal aufmachen. Mich interessiert ob das mit den Report funktioniert hat und wen ja wie das geht. Denn ich bräuchte auch in naher Zukunft mal solche Reports.
LG Immanuel
-
September 9, 2020 um 10:45 Uhr #22745
Kein Thema 🙂
Valentina Reports hatte ich nicht getestet. Den Anbieter von Quartam hatte ich angeschrieben, aber nie eine Antwort erhalten. Vermutlich ist das Produkt eingestellt.
Für erste Anforderungen hat mir dieses Video “Create a PDF” weitergeholfen: https://www.youtube.com/watch?v=1x3mZ1nLql8
Vielleicht hilft es Dir auch weiter.
-
September 9, 2020 um 11:15 Uhr #22747
Danke, nur wie schaut das aus wenn ich da einen Bericht über mehrere Seiten erstellen möchte?
LG Immanuel
-
September 10, 2020 um 14:48 Uhr #22770
Hallo, ich mach das so:
Ich habe einen “Print-Stack” mit 1 Karte, der ein paar Kopf-Felder und ein großes Feld für tabellarische Daten (mit einem 1-zeiligen Feld für Spaltenüberschriften darüber) enthält.
Alles, was gedruckt werden soll, ist in Gruppen, die “backGroundBehavior” haben – das wird dann automatisch auf neuen Karten plaziert. (Was nur auf der ersten Seite erscheinen soll, hat das “backGroundBehavior” dann eben nicht.)
Der Stack ist 595×842 groß, das gibt genau A4 hoch. Und er ist schreibgeschützt – er soll sich nicht ändern.Von dem Stack aus, in die Daten angezeigt/erzeugt werden, rufe ich über einen Button das Drucken auf:
set itemdel to tab put [einen tab-CR getrennten Text] into myData -- die Daten repeat for each line myLine in myData -- zeilenweise put item 1 of myLine & tab & [...] & CR after myVar -- formatieren end repeat delete char - 1 of myVar sort lines of myVar by item [wasAuchImmer wieAuchImmer] of each -- die Einstellungen zusammenbauen: put "Artikel gekauft (12 Mon.) für:" into myTitle -- Titel put "Kunde:" & CR & "Notiz:" & CR & \ "Seite:" & CR & "von" into MyHF -- Kopffelder put fld "Kunde" & CR & fld "Notiz" & CR & \ empty & CR & empty into MyHeader -- Daten dazu put "45,280,330,380,465,470" & CR & \ -- die TabStops "ArtNr.:" & tab & "Name:" & tab & "Gesamt:" & tab & \ "L_Preis:" & tab & "(Zuletzt:)" & CR & \ -- Überschrift "Open Sans Condensed Light" into myFormat -- Schriftart -- Zielstack einstellen: set the TitleData of stack cBasePrint to MyTitle -- Titel set the HeaderVals of stack cBasePrint to MyHF -- Kopf links set the Headerdata of stack cBasePrint to MyHeader -- Kopf rechts set the fieldVals of stack cBasePrint to MyFormat -- Verschiedene set the Detaildata of stack cBasePrint to MyVar -- Die Daten go card 1 of stack cBasePrint -- und anzeigen!
(Ich suche also die nötigen Informationen zusammen, gruppiere sie entsprechend, schreibe sie in custom Properties des Druck-Stacks und rufe diesen dann auf)
Jetzt geht der Druck-Stack auf. Der OpenStack-Handler füllt die Titel-, Kopf- und Überschriften-Felder aus, trägt Datum/ Seitenzahlen ein, setzt die tabStops und stellt die Schriftart ein. (Die Daten dazu sind ja in seinen custom properties)
Dann füllt er die passende Menge Zeilen in das Tabellen-Feld, und erzeugt ggf. neue Seiten mittels “create card”:-- myData enthält die Daten put 32 into L_Max -- oder hole max. Zeilen aus cProp put 1 into L_This -- aktuelle Zeile put the number of lines of myData into L_Cnt -- die Zeilenanzahl repeat until (L_This >= L_Cnt) AND (L_This <> 1) if L_This <> 1 then create card put line L_This to (L_This + L_Max - 1) of myData into fld "data_fld" add L_Max to L_This end repeat go cd 1
Zum Schluß blendet er eine “Control group” mit “Drucken”-Button und ggf. ein Navigationsteil (Erste, nächste, … Karte) ein. Ende openStack.
Der User sieht jetzt eine schöne, genaue Druckvorschau 🙂Knopf “Drucken”:
go cd 1 hide grp "ctrl_grp" -- dieser Button + Navi set the printmargins to "0,0,0,0" set the formatforprinting of me to true open printing with dialog if the result is not "Cancel" then print all cards of this stack close printing end if
Ein Druck-Dialog erscheint, der User wählt seinen Drucker, Bingo!
Eigentlich ganz simpel, oder?
Dieser Druckstack ist auf ein Druckformat fest eingestellt, z.B “A4 hoch”. Für andre Formate: Kopie dieses Stacks mit geänderter Ausrichtung.Viel Spaß!
-
September 10, 2020 um 16:03 Uhr #22772
wow das das ist jetzt was zum lernen.
Danke für die ausführliche Antwort. Werde mir beste Mühe geben es richtig umzusetzen. Wird aber ein paar tage dauern.
-
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.