Drucken aus LiveCode

Startseite Foren Deutsches LiveCode-Forum Drucken aus LiveCode

Ansicht von 4 Antwort-Themen
  • Autor
    Beiträge
    • #19062
      Topaz
      Teilnehmer

      Seit einigen Monaten beschäftige ich mich mit LC und habe verschiedene kleinere Projekte erfolgreich, (darunter Datagrid’s und Datenbankanwendungen) realisiert. Wo ich «auf dem Schlauch» stehe, ist das Drucken .
      Wenn ich eine Tabelle mit z.Bsp. mit 3 Spalten (Name,Vorname,Wohnort) habe und davon 100 Zeilen auf meinem Systemdrucker zu Papier bringen will, so finde ich einfach nicht die passende Syntax.
      Kann mir da jemand helfen ?

    • #19065
      Klaus Major
      Verwalter

      Hallo Topaz,

      willkommen im Forum!

      Mit Tabelle meinst Du sicher Dein Datagrid, richtig?
      Die Mehrzahl davon ist übrigens Datagrids, ohne Apostroph, wie in „zwei Autos“! 😎

      Leider druckt LC nur das, was auf einer Karte sichtbar ist, automatisch weiterscrollen oder so etwas ist nicht eingebaut. Nur der Befehl „revprintfield…“ macht das, aber ein Datagrid etc. eben nicht.

      Du musst gucken, wieviele Zeilen auf eine „Seite“ passen, dann das Datagrid entsprechend füllen, drucken, erneut füllen, drucken, bis alle Zeilen zu Papier/PDF gebracht sind.

      Leider ist LC in dieser Beziehung überhaupt nicht sonderlich benutzerfreundlich.

      Gruß

      Klaus

      P.S.
      Persönliche Notiz:
      Ein kleines „Hallo“ o.ä. für den allerersten Post hätte sicher nicht weh getan.

    • #19090
      Topaz
      Teilnehmer

      Hallo Klaus,
      Herzlichen Dank für deine prompte Antwort auf meine Frage. Das hat mir bestätigt, dass es sehr aufwendig wird , aus LC zu drucken. Aber ich werde üben und üben ! Im übrigen bin ich begeistert von den Möglichkeiten von LC und werde es weiter nutzen.

      Nochmals vielen Dank
      Topaz

    • #19091
      Klaus Major
      Verwalter

      Hi Topaz,

      Okie Dokie, bei Problemen helfen wir immer gern! 🙂

      Je nach Art Deiner Daten, sofern es sich um ein Datagrid vom Typ TABLE handelt, könntest Du eventuell mit „revprintfield“ arbeiten bzw. drucken. Das hat auch seine Tücken, aber der Befehl kümmerst sich selber um das benötigte Scrollen, sprich, egal wie lang der Text ist, mit „revprintfield“ wird alles mit einem Befehle ausgedruckt.

      Denn:
      -> the dgtext of grp „dein datagrid hier“
      ist nichts weiter als eine TAB und CR getrennte Textliste.

      Gruß

      Klaus

    • #19194
      Axwald
      Teilnehmer

      Hallo,

      ich benutze zum Drucken aus LC grundsätzlich extra Stacks, praktisch „Druckformulare“. Diese sind bei mir 595 x 842 (für DIN A4) groß, und verteilen im „openStack“ und „openCard“ Handler die Daten, die ich vorher in spezielle „custom properties“ geschrieben habe, in die entsprechenden Felder.
      Darüber hinaus gibt es eine „group“ mit einem „Drucken“-Knopf und Navigationselementen (erste, letzte, nächste, vorherige Seite).

      Um zu drucken, fülle ich zunächst die „custom properties“ des (noch geschlossenen) Druck-Stacks, und rufe ihn dann auf:

      set the Detaildata of stack cBasePrint to MyData
      set the TitleData of stack cBasePrint to MyTitle
      go card 1 of stack cBasePrint

      Damit habe ich eine Druckvorschau. Im „Drucken“-Knopf:

      go cd 1
      hide grp „ctrl_grp“
      set the printmargins to „0,0,0,0“
      set the formatforprinting of this stack to true
      open printing with dialog
      if the result is not „Cancel“ then
      print all cards of this stack
      close printing
      end if

      („Ctrl_grp“ ist das, was nicht gedruckt werden soll) Es erscheint dann ein Standard-DruckDialog, der Benutzer wählt einen Drucker, und gut.

      Damit kann man ziemlich viel machen – abhängig davon, wieviel Mühe man sich mit dem Aufteilen & Auszeichnen der Daten gibt. Ich verwende übrigens kein DataGrid, sondern nur normale „table fields“ („table“-Seite in den Feld-Eigenschaften leer bis auf „tabStops“!).

      Viel Spaß!

      PS: Sorry, keine „Code“-Auszeichnungen oder Links – keine Lust, daß das Forum dann meinen Beitrag frißt!

Ansicht von 4 Antwort-Themen
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.